MySQL 8.0.31
Source Code Documentation
ddl0impl.h File Reference

DDL implementation include file. More...

#include "ddl0ddl.h"
#include "dict0mem.h"
#include "ut0class_life_cycle.h"
#include "ut0mpmcbq.h"

Go to the source code of this file.


struct  ddl::file_t
 Information about temporary files used in merge sort. More...
struct  ddl::Fetch_sequence
 Fetch the document ID from the table. More...
struct  ddl::Row
 Physical row context. More...


namespace  ddl
 The general architecture is that the work is done in two phases, roughly the read and write phase.


using ddl::IO_buffer = std::pair< byte *, os_offset_t >
 Block size for DDL I/O operations. More...
using ddl::Latch_release = std::function< dberr_t()>
 Called when a log free check is required. More...
using ddl::Builders = std::vector< Builder *, ut::allocator< Builder * > >
using ddl::Merge_offsets = std::deque< os_offset_t, ut::allocator< os_offset_t > >
 Start offsets in the file, from where to merge records. More...


bool ddl::file_create (file_t *file, const char *path) noexcept
 Create a merge file int the given location. More...
dberr_t ddl::pwrite (os_fd_t fd, void *ptr, size_t size, os_offset_t offset) noexcept
 Write a merge block to the file system. More...
dberr_t ddl::pread (os_fd_t fd, void *ptr, size_t len, os_offset_t offset) noexcept
 Read a merge block from the file system. More...


static constexpr size_t ddl::SERVER_CLUSTER_INDEX_ID = 0
 Cluster index ID (always the first index). More...

Detailed Description

DDL implementation include file.

Created 2020-11-01 by Sunny Bains.