taco-db
0.1.0
|
BootstrapCatCache stores hard-coded data needed to bootstrap the entire database catalog. More...
#include <catalog/BootstrapCatCache.h>
Public Member Functions | |
BootstrapCatCache () | |
Initializes the data in the bootstrap systables. More... | |
~BootstrapCatCache () | |
void | Init () |
Finishes the initialization of the bootstrap catalog cache. More... | |
const SysTable_Table * | FindTable (Oid oid) |
const SysTable_Type * | FindType (Oid oid) |
std::vector< const SysTable_Column * > | FindColumns (Oid tabid) |
const TableDesc * | FindTableDesc (Oid oid) |
const SysTable_Function * | FindFunction (Oid oid) |
Private Member Functions | |
void | CreateTableDesc (const std::vector< const SysTable_Column * > &columns) |
Creates a TableDesc object for a systable table that consists of the `‘columns’', and insert it into this catalog. More... | |
Private Attributes | |
SysTable_Table | m_table [num_bootstrap_tables] |
SysTable_Type | m_type [num_bootstrap_types] |
SysTable_Column | m_column [num_bootstrap_columns] |
SysTable_Function | m_function [num_bootstrap_functions] |
absl::flat_hash_map< Oid, const SysTable_Table * > | m_tabid_lookup_table |
absl::flat_hash_map< Oid, const SysTable_Type * > | m_typid_lookup_table |
absl::flat_hash_map< Oid, const SysTable_Function * > | m_funcid_lookup_table |
std::vector< std::unique_ptr< TableDesc > > | m_table_desc |
absl::flat_hash_map< Oid, const TableDesc * > | m_table_desc_lookup_table |
BootstrapCatCache stores hard-coded data needed to bootstrap the entire database catalog.
All other catelog cache will reference this class to load the data needed.
taco::BootstrapCatCache::BootstrapCatCache | ( | ) |
Initializes the data in the bootstrap systables.
Must Call BootstrapCatCache()::init() to finish initialization. The implementation of this function is in catalog/systables/bootstrap_data.cpp, which is automatically generated from the systable.
taco::BootstrapCatCache::~BootstrapCatCache | ( | ) |
|
private |
Creates a TableDesc object for a systable table that consists of the `‘columns’', and insert it into this catalog.
std::vector< const SysTable_Column * > taco::BootstrapCatCache::FindColumns | ( | Oid | tabid | ) |
const SysTable_Function * taco::BootstrapCatCache::FindFunction | ( | Oid | oid | ) |
const SysTable_Table * taco::BootstrapCatCache::FindTable | ( | Oid | oid | ) |
const SysTable_Type * taco::BootstrapCatCache::FindType | ( | Oid | oid | ) |
void taco::BootstrapCatCache::Init | ( | ) |
Finishes the initialization of the bootstrap catalog cache.
Never call this more than once.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |