MySQL 8.0.40
Source Code Documentation
pack_rows::TableCollection Class Reference

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, table_map tables_to_store_contents_of_null_rows_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
 

Private Member Functions

void AddTable (TABLE *tab, bool store_contents_of_null_rows)
 

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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ TableCollection() [1/2]

pack_rows::TableCollection::TableCollection ( )
default

◆ TableCollection() [2/2]

pack_rows::TableCollection::TableCollection ( const Prealloced_array< TABLE *, 4 > &  tables,
bool  store_rowids,
table_map  tables_to_get_rowid_for,
table_map  tables_to_store_contents_of_null_rows_for 
)

Member Function Documentation

◆ AddTable()

void pack_rows::TableCollection::AddTable ( TABLE tab,
bool  store_contents_of_null_rows 
)
private

◆ has_blob_column()

bool pack_rows::TableCollection::has_blob_column ( ) const
inline

◆ ref_and_null_bytes_size()

size_t pack_rows::TableCollection::ref_and_null_bytes_size ( ) const
inline

◆ store_rowids()

bool pack_rows::TableCollection::store_rowids ( ) const
inline

◆ tables()

const Prealloced_array< Table, 4 > & pack_rows::TableCollection::tables ( ) const
inline

◆ tables_bitmap()

table_map pack_rows::TableCollection::tables_bitmap ( ) const
inline

◆ tables_to_get_rowid_for()

table_map pack_rows::TableCollection::tables_to_get_rowid_for ( ) const
inline

Member Data Documentation

◆ m_has_blob_column

bool pack_rows::TableCollection::m_has_blob_column = false
private

◆ m_ref_and_null_bytes_size

size_t pack_rows::TableCollection::m_ref_and_null_bytes_size = 0
private

◆ m_store_rowids

bool pack_rows::TableCollection::m_store_rowids = false
private

◆ m_tables

Prealloced_array<Table, 4> pack_rows::TableCollection::m_tables {PSI_NOT_INSTRUMENTED}
private

◆ m_tables_bitmap

table_map pack_rows::TableCollection::m_tables_bitmap = 0
private

◆ m_tables_to_get_rowid_for

table_map pack_rows::TableCollection::m_tables_to_get_rowid_for = 0
private

The documentation for this class was generated from the following files: