MySQL 8.4.2
Source Code Documentation
|
A cursor for iterating over an Index
.
More...
#include <cursor.h>
Public Member Functions | |
Cursor () | |
Constructor. More... | |
Cursor (const Hash_duplicates_container::const_iterator &iterator) | |
Constructor from Hash_duplicates iterator. More... | |
Cursor (const Tree_container::const_iterator &iterator) | |
Constructor from Tree iterator. More... | |
Cursor (const Cursor &)=default | |
Cursor (Cursor &&) noexcept=default | |
bool | is_positioned () const |
Check if the cursor is positioned. More... | |
void | unposition () |
Unposition the cursor. More... | |
const Indexed_cells & | indexed_cells () const |
Get the indexed cells of the current cursor position. More... | |
Storage::Element * | row () const |
Get a pointer to the row of the current cursor position. More... | |
void | export_row_to_mysql (const Columns &columns, unsigned char *mysql_row, size_t mysql_row_length) const |
Export the row that is pointed to by this cursor in mysql write_row() format. More... | |
const Hash_duplicates_container::const_iterator & | hash_iterator () const |
Get the underlying hash iterator. More... | |
const Tree_container::const_iterator & | tree_iterator () const |
Get the underlying tree iterator. More... | |
Cursor & | operator= (const Cursor &rhs) |
Copy-assign from another cursor. More... | |
Cursor & | operator++ () |
Advance the cursor forward. More... | |
Cursor & | operator-- () |
Recede the cursor backwards. More... | |
bool | operator== (const Cursor &other) const |
Check if equal to another cursor. More... | |
bool | operator!= (const Cursor &other) const |
Check if not equal to another cursor. More... | |
Private Types | |
enum class | Type : uint8_t { HASH , TREE } |
Type of the index the cursor iterates over. More... | |
Private Attributes | |
Type | m_type |
Type of the index the cursor iterates over. More... | |
bool | m_is_positioned |
Indicate whether the cursor is positioned. More... | |
Hash_duplicates_container::const_iterator | m_hash_iterator |
Iterator that is used if m_type == Type::HASH . More... | |
Tree_container::const_iterator | m_tree_iterator |
Iterator that is used if m_type == Type::TREE . More... | |
A cursor for iterating over an Index
.
|
strongprivate |
|
inline |
Constructor.
|
inlineexplicit |
Constructor from Hash_duplicates
iterator.
[in] | iterator | Iterator for cursor initial position. |
|
inlineexplicit |
Constructor from Tree
iterator.
[in] | iterator | Iterator for cursor initial position. |
|
default |
|
defaultnoexcept |
|
inline |
Export the row that is pointed to by this cursor in mysql write_row() format.
[in] | columns | Metadata for the columns that constitute the row. |
[out] | mysql_row | Destination buffer to write the row to. |
[in] | mysql_row_length | Presumed length of the mysql row in bytes. |
|
inline |
Get the underlying hash iterator.
The cursor must be on a hash index.
|
inline |
Get the indexed cells of the current cursor position.
|
inline |
Check if the cursor is positioned.
|
inline |
Check if not equal to another cursor.
[in] | other | Cursor to compare with. |
|
inline |
Advance the cursor forward.
|
inline |
Recede the cursor backwards.
Copy-assign from another cursor.
[in] | rhs | Source cursor to assign from. |
|
inline |
Check if equal to another cursor.
[in] | other | Cursor to compare with. |
|
inline |
Get a pointer to the row of the current cursor position.
|
inline |
Get the underlying tree iterator.
The cursor must be on a tree index.
|
inline |
Unposition the cursor.
|
private |
Iterator that is used if m_type == Type::HASH
.
|
private |
Indicate whether the cursor is positioned.
|
private |
Iterator that is used if m_type == Type::TREE
.
|
private |
Type of the index the cursor iterates over.