MySQL 9.2.0
Source Code Documentation
|
A structure that contains a list of input tables for a hash join operation, BKA join operation or a streaming aggregation operation, and some pre-computed properties for the tables. More...
#include <pack_rows.h>
Public Member Functions | |
TableCollection ()=default | |
TableCollection (const Prealloced_array< TABLE *, 4 > &tables, bool store_rowids, table_map tables_to_get_rowid_for) | |
const Prealloced_array< Table, 4 > & | tables () const |
table_map | tables_bitmap () const |
size_t | ref_and_null_bytes_size () const |
bool | has_blob_column () const |
bool | store_rowids () const |
table_map | tables_to_get_rowid_for () const |
void | RequestRowId () const |
For each of the tables that we should get row IDs for, request that the row ID is filled in (the equivalent of calling handler::position()) if needed. More... | |
void | PrepareForRequestRowId () const |
For each of the tables that we should get row IDs for, inform the handler than row IDs will be needed. More... | |
Private Member Functions | |
void | AddTable (TABLE *tab) |
void | RequestRowIdInner () const |
Private Attributes | |
Prealloced_array< Table, 4 > | m_tables {PSI_NOT_INSTRUMENTED} |
table_map | m_tables_bitmap = 0 |
size_t | m_ref_and_null_bytes_size = 0 |
bool | m_has_blob_column = false |
bool | m_store_rowids = false |
table_map | m_tables_to_get_rowid_for = 0 |
A structure that contains a list of input tables for a hash join operation, BKA join operation or a streaming aggregation operation, and some pre-computed properties for the tables.
|
default |
pack_rows::TableCollection::TableCollection | ( | const Prealloced_array< TABLE *, 4 > & | tables, |
bool | store_rowids, | ||
table_map | tables_to_get_rowid_for | ||
) |
|
private |
|
inline |
void pack_rows::TableCollection::PrepareForRequestRowId | ( | ) | const |
For each of the tables that we should get row IDs for, inform the handler than row IDs will be needed.
|
inline |
|
inline |
For each of the tables that we should get row IDs for, request that the row ID is filled in (the equivalent of calling handler::position()) if needed.
Since this function is typically called once per row read, the check for the common case where no row IDs are required, is inlined to reduce the overhead.
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |