54#define posix_fadvise(fd, offset, len, advice)
61using Builders = std::vector<Builder *, ut::allocator<Builder *>>;
64using Merge_offsets = std::deque<os_offset_t, ut::allocator<os_offset_t>>;
111 [[nodiscard]]
bool is_generated() const noexcept
override {
return false; }
Captures ownership and manages lifetime of an already opened OS file descriptor.
Definition: ddl0ddl.h:161
dberr_t
Definition: db0err.h:39
Data dictionary memory object creation.
constexpr uint32_t DICT_FTS
FTS index; can't be combined with the other flags.
Definition: dict0mem.h:104
uint64_t doc_id_t
Document id type.
Definition: fts0fts.h:79
static char * path
Definition: mysqldump.cc:149
The general architecture is that the work is done in two phases, roughly the read and write phase.
Definition: btr0load.cc:42
std::deque< os_offset_t, ut::allocator< os_offset_t > > Merge_offsets
Start offsets in the file, from where to merge records.
Definition: ddl0impl.h:64
bool file_create(ddl::file_t *file, const char *path) noexcept
Create a merge file int the given location.
Definition: ddl0ddl.cc:169
dberr_t pwrite(os_fd_t fd, void *ptr, size_t len, os_offset_t offset) noexcept
Write a merge block to the file system.
Definition: ddl0ddl.cc:111
dberr_t pread(os_fd_t fd, void *ptr, size_t len, os_offset_t offset) noexcept
Read a merge block from the file system.
Definition: ddl0ddl.cc:92
std::function< dberr_t()> Latch_release
Called when a log free check is required.
Definition: ddl0impl.h:50
static constexpr size_t SERVER_CLUSTER_INDEX_ID
Cluster index ID (always the first index).
Definition: ddl0impl.h:43
std::pair< byte *, os_offset_t > IO_buffer
Block size for DDL I/O operations.
Definition: ddl0impl.h:47
std::vector< Builder *, ut::allocator< Builder * > > Builders
Definition: ddl0impl.h:61
size_t size(const char *const c)
Definition: base64.h:46
int os_fd_t
Raw file handle.
Definition: os0file.h:115
uint64_t os_offset_t
File offset in bytes.
Definition: os0file.h:87
byte rec_t
Definition: rem0types.h:41
required string type
Definition: replication_group_member_actions.proto:34
For loading indexes.
Definition: ddl0impl-builder.h:48
Document ID sequence.
Definition: ddl0ddl.h:325
doc_id_t m_doc_id
Current document ID.
Definition: ddl0ddl.h:352
DDL context/configuration.
Definition: ddl0ddl.h:321
Cursor for reading the data.
Definition: ddl0impl-cursor.h:41
Fetch the document ID from the table.
Definition: ddl0impl.h:79
doc_id_t m_max_doc_id
Maximum document ID seen so far.
Definition: ddl0impl.h:117
void increment() noexcept override
Not supported.
Definition: ddl0impl.h:95
doc_id_t current() noexcept override
Not supported.
Definition: ddl0impl.h:92
doc_id_t max_doc_id() const noexcept override
Definition: ddl0impl.h:106
doc_id_t generated_count() const noexcept override
Definition: ddl0impl.h:103
bool is_generated() const noexcept override
Definition: ddl0impl.h:111
doc_id_t fetch(const dtuple_t *dtuple) noexcept override
Get the next document ID.
Definition: ddl0ddl.cc:55
dict_index_t * m_index
The document ID index.
Definition: ddl0impl.h:114
Fetch_sequence(dict_index_t *index) noexcept
Constructor.
Definition: ddl0impl.h:82
~Fetch_sequence() noexcept override
Destructor.
Definition: ddl0impl.h:88
Physical row context.
Definition: ddl0impl.h:121
Row()=default
Constructor.
row_ext_t * m_ext
Externally stored fields.
Definition: ddl0impl.h:142
dtuple_t * m_add_cols
Add column data values.
Definition: ddl0impl.h:154
~Row()=default
Destructor.
Row & operator=(const Row &)=default
const dtuple_t * m_ptr
DTuple data, mapped over m_rec.
Definition: ddl0impl.h:151
ulint * m_offsets
Column offsets.
Definition: ddl0impl.h:145
dberr_t build(ddl::Context &ctx, dict_index_t *index, mem_heap_t *heap, size_t type) noexcept
Build a row from a raw record.
Definition: ddl0ddl.cc:496
const rec_t * m_rec
Row data.
Definition: ddl0impl.h:148
Information about temporary files used in merge sort.
Definition: ddl0impl.h:67
uint64_t m_n_recs
Number of records in the file.
Definition: ddl0impl.h:75
Unique_os_file_descriptor m_file
File.
Definition: ddl0impl.h:69
os_offset_t m_size
Size of the file in bytes.
Definition: ddl0impl.h:72
Data structure for an index.
Definition: dict0mem.h:1041
unsigned type
index type (DICT_CLUSTERED, DICT_UNIQUE, DICT_IBUF, DICT_CORRUPT)
Definition: dict0mem.h:1068
Structure for an SQL data tuple of fields (logical record)
Definition: data0data.h:696
The info structure stored at the beginning of a heap block.
Definition: mem0mem.h:302
Prefixes of externally stored columns.
Definition: row0ext.h:95
unsigned long int ulint
Definition: univ.i:406
Utilities related to class lifecycle.
#define ut_error
Abort execution.
Definition: ut0dbg.h:101
#define ut_a(EXPR)
Abort execution if EXPR does not evaluate to nonzero.
Definition: ut0dbg.h:93