MySQL 8.4.0
Source Code Documentation
ddl::Key_sort_buffer_cursor Struct Reference

For loading an index from a sorted buffer. More...

Inheritance diagram for ddl::Key_sort_buffer_cursor:
[legend]

Public Member Functions

 Key_sort_buffer_cursor (Builder *builder, Key_sort_buffer *key_buffer) noexcept
 Constructor. More...
 
dberr_t open () noexcept
 Open the cursor. More...
 
dberr_t fetch (dtuple_t *&dtuple) noexcept override
 Fetch the current row as a tuple. More...
 
dberr_t next () noexcept override
 Move to the next record. More...
 
- Public Member Functions inherited from ddl::Load_cursor
 Load_cursor (Builder *builder, Dup *dup) noexcept
 Default constructor. More...
 
virtual ~Load_cursor () override=default
 Default destructor. More...
 
dberr_t get_err () const noexcept
 
bool duplicates_detected () const noexcept override
 
- Public Member Functions inherited from Btree_load::Cursor
 Cursor ()=default
 Constructor. More...
 
virtual ~Cursor ()=default
 Destructor. More...
 

Private Attributes

dtuple_tm_dtuple {}
 Tuple to return. More...
 
size_t m_n_rows {}
 Number of rows read from the key buffer. More...
 
ulintm_offsets {}
 Row offsets. More...
 
Scoped_heap m_heap {}
 Heap for m_offsets and m_buf. More...
 
const mrec_tm_mrec {}
 Current merge row in m_aligned_buffer. More...
 
Key_sort_bufferm_key_buffer {}
 Key buffer to read from. More...
 

Additional Inherited Members

- Public Attributes inherited from ddl::Load_cursor
Dupm_dup {}
 Duplicate checking and reporting. More...
 
dberr_t m_err {DB_SUCCESS}
 Operation error code. More...
 
Builderm_builder {}
 Index meta data. More...
 
Scoped_heap m_tuple_heap {}
 Heap for the raw row to dtuple_t conversion. More...
 

Detailed Description

For loading an index from a sorted buffer.

Constructor & Destructor Documentation

◆ Key_sort_buffer_cursor()

ddl::Key_sort_buffer_cursor::Key_sort_buffer_cursor ( Builder builder,
Key_sort_buffer key_buffer 
)
inlinenoexcept

Constructor.

Parameters
[in,out]builderIndex builder.
[in,out]key_bufferKey buffer to load from.

Member Function Documentation

◆ fetch()

dberr_t ddl::Key_sort_buffer_cursor::fetch ( dtuple_t *&  dtuple)
overridevirtualnoexcept

Fetch the current row as a tuple.

Note: Tuple columns are shallow copies.

Parameters
[out]dtupleRow represented as a tuple.
Returns
DB_SUCCESS, DB_END_OF_INDEX or error code.

Implements Btree_load::Cursor.

◆ next()

dberr_t ddl::Key_sort_buffer_cursor::next ( void  )
overridevirtualnoexcept

Move to the next record.

Returns
DB_SUCCESS, DB_END_OF_INDEX or error code.

Implements Btree_load::Cursor.

◆ open()

dberr_t ddl::Key_sort_buffer_cursor::open ( )
noexcept

Open the cursor.

Returns
DB_SUCCESS or error code.

Member Data Documentation

◆ m_dtuple

dtuple_t* ddl::Key_sort_buffer_cursor::m_dtuple {}
private

Tuple to return.

◆ m_heap

Scoped_heap ddl::Key_sort_buffer_cursor::m_heap {}
private

Heap for m_offsets and m_buf.

◆ m_key_buffer

Key_sort_buffer* ddl::Key_sort_buffer_cursor::m_key_buffer {}
private

Key buffer to read from.

◆ m_mrec

const mrec_t* ddl::Key_sort_buffer_cursor::m_mrec {}
private

Current merge row in m_aligned_buffer.

◆ m_n_rows

size_t ddl::Key_sort_buffer_cursor::m_n_rows {}
private

Number of rows read from the key buffer.

◆ m_offsets

ulint* ddl::Key_sort_buffer_cursor::m_offsets {}
private

Row offsets.


The documentation for this struct was generated from the following file: