MySQL 9.0.0
Source Code Documentation
|
Cursor for merging blocks from the same file. More...
Public Member Functions | |
Cursor (Builder *builder, file_t *file, Dup *dup, Alter_stage *stage) noexcept | |
Constructor. More... | |
dberr_t | prepare (Range range, size_t buffer_size) noexcept |
Prepare the cursor for reading. More... | |
dberr_t | fetch (const mrec_t *&mrec, ulint *&offsets) noexcept |
Fetch the next record. More... | |
dberr_t | next () noexcept |
Move to the next record. More... | |
dberr_t | seek (const file_t *file, Range range) noexcept |
Move the cursor to the start of the new records lists to merge. More... | |
size_t | size () const noexcept |
Private Attributes | |
file_t * | m_file {} |
File to iterate over. More... | |
Merge_cursor | m_cursor |
Cursor to use for the merge. More... | |
Additional Inherited Members | |
Private Member Functions inherited from ut::Non_copyable | |
Non_copyable (const Non_copyable &)=delete | |
Non_copyable & | operator= (const Non_copyable &)=delete |
Non_copyable ()=default | |
~Non_copyable ()=default | |
Cursor for merging blocks from the same file.
|
inlinenoexcept |
Constructor.
[in,out] | builder | Index builder instance. |
[in] | file | File to iterate over. |
[in,out] | dup | For reporting duplicates. |
[in,out] | stage | PFS staging. |
Fetch the next record.
[out] | mrec | Row read from the file. |
[out] | offsets | Column offsets inside mrec. |
|
noexcept |
Move to the next record.
Prepare the cursor for reading.
[in] | range | Ranges to merge in a pass. |
[in] | buffer_size | IO Buffer size to use for reading. |
Move the cursor to the start of the new records lists to merge.
[in] | file | File being scanned. |
[in] | range | Seek to these offsets. |
|
inlinenoexcept |
|
private |
Cursor to use for the merge.
|
private |
File to iterate over.