Index interface.
More...
#include <index.h>
◆ Lookup
Index lookup (search) result.
| Enumerator |
|---|
| FOUND | The searched for indexed cells were found and the cursor is positioned on them.
|
| NOT_FOUND_CURSOR_POSITIONED_ON_NEXT | The searched for indexed cells were not found and the cursor is positioned on the next indexed cells in index order.
|
| NOT_FOUND_CURSOR_UNDEFINED | The searched for indexed cells were not found and the cursor position is undefined.
|
◆ Index()
| temptable::Index::Index |
( |
const Table & |
table, |
|
|
const KEY & |
mysql_index |
|
) |
| |
Constructor.
- Parameters
-
| [in] | table | Table where this index belongs, used only for fetching metadata of its columns. |
| [in] | mysql_index | MySQL index, for querying metadata. |
◆ ~Index()
| temptable::Index::~Index |
( |
| ) |
|
|
virtual |
◆ begin()
| virtual Cursor temptable::Index::begin |
( |
| ) |
const |
|
pure virtual |
◆ end()
| virtual Cursor temptable::Index::end |
( |
| ) |
const |
|
pure virtual |
◆ erase()
| virtual void temptable::Index::erase |
( |
const Cursor & |
target | ) |
|
|
pure virtual |
◆ indexed_column()
| const Indexed_column & temptable::Index::indexed_column |
( |
size_t |
i | ) |
const |
|
inline |
Get the Nth indexed column.
- Returns
- the Nth indexed column
- Parameters
-
| [in] | i | Index of the column to fetch, must be < `number_of_indexed_columns()`. |
◆ insert()
Insert a new entry into the index.
- Returns
- Result::OK or another Result::* error code
- Parameters
-
| [in] | indexed_cells | Indexed cells to insert. |
| [out] | insert_position | If insert succeeds (Result::OK) this will be set to the position inside the index where the new indexed cells where inserted. |
Implemented in temptable::Tree, temptable::Hash_duplicates, and temptable::Hash_unique.
◆ lookup() [1/2]
Lookup (search) an indexed cells.
- Return values
-
| Lookup::FOUND | the provided search_cells were found and first was positioned on them (the first entry, if there are duplicates). |
| Lookup::NOT_FOUND_CURSOR_POSITIONED_ON_NEXT | the provided search_cells were not found and first was positioned on the next indexed cells in index order. |
| Lookup::NOT_FOUND_CURSOR_UNDEFINED | the provided search_cells were not found and first is undefined. |
- Parameters
-
| [in] | search_cells | Indexed cells to search for. |
| [out] | first | First indexed cells that were found, see above. |
Implemented in temptable::Tree, temptable::Hash_duplicates, and temptable::Hash_unique.
◆ lookup() [2/2]
Lookup (search) an indexed cells.
- Return values
-
| Lookup::FOUND | the provided search_cells were found, first was positioned on them (the first entry, if there are duplicates) and after_last was positioned after the last matching entry. |
| Lookup::NOT_FOUND_CURSOR_POSITIONED_ON_NEXT | the provided search_cells were not found and first and after_last were positioned on the next indexed cells in index order. |
| Lookup::NOT_FOUND_CURSOR_UNDEFINED | the provided search_cells were not found and first and after_last are undefined. |
Implemented in temptable::Tree, temptable::Hash_duplicates, and temptable::Hash_unique.
◆ mysql_index()
| const KEY & temptable::Index::mysql_index |
( |
| ) |
const |
|
inline |
Get the MySQL index structure which corresponds to this index.
- Returns
- mysql index
◆ number_of_indexed_columns()
| size_t temptable::Index::number_of_indexed_columns |
( |
| ) |
const |
|
inline |
Get the number of indexed columns by this index.
- Returns
- number of indexed columns
◆ table()
| const Table & temptable::Index::table |
( |
| ) |
const |
|
inline |
Get the table of the index.
- Returns
- table
◆ truncate()
| virtual void temptable::Index::truncate |
( |
| ) |
|
|
pure virtual |
◆ m_indexed_columns
Indexed columns metadata, from [0, m_number_of_indexed_columns).
◆ m_mysql_index
| const KEY* temptable::Index::m_mysql_index |
|
private |
◆ m_number_of_indexed_columns
| size_t temptable::Index::m_number_of_indexed_columns |
|
private |
Number of indexed columns.
◆ m_table
| const Table& temptable::Index::m_table |
|
private |
The documentation for this class was generated from the following files: