![]() |
mutable
A Database System for Research and Fast Prototyping
|
The catalog contains all Database
s and keeps track of all meta information of the database system.
More...
#include <Catalog.hpp>
Public Member Functions | |
~Catalog () | |
m::ArgParser & | arg_parser () |
std::size_t | num_databases () const |
Returns the number of Database s. | |
ThreadSafeStringPool & | get_pool () |
Returns a reference to the StringPool . | |
const ThreadSafeStringPool & | get_pool () const |
Returns a reference to the StringPool . | |
Timer & | timer () |
Returns the global Timer instance. | |
const Timer & | timer () const |
Returns the global Timer instance. | |
memory::Allocator & | allocator () |
Returns a reference to the memory::Allocator . | |
const memory::Allocator & | allocator () const |
Returns a reference to the memory::Allocator . | |
ThreadSafePooledString | pool (const char *str) const |
Creates an internalized copy of the string str by adding it to the internal StringPool . | |
ThreadSafePooledString | pool (std::string_view str) const |
Creates an internalized copy of the string str by adding it to the internal StringPool . | |
Database & | add_database (ThreadSafePooledString name) |
Creates a new Database with the given name . | |
Database & | get_database (const ThreadSafePooledString &name) const |
Returns the Database with the given name . | |
bool | has_database (const ThreadSafePooledString &name) const |
Returns true iff a Database with the given name exists. | |
void | drop_database (const ThreadSafePooledString &name) |
Drops the Database with the name . | |
void | drop_database (const Database &db) |
Drops the Database db . | |
bool | has_database_in_use () const |
Returns true if any Database is currently in use. | |
Database & | get_database_in_use () |
Returns a reference to the Database that is currently in use, if any. | |
const Database & | get_database_in_use () const |
Returns a reference to the Database that is currently in use, if any. | |
void | set_database_in_use (Database &db) |
Sets the Database db as the Database that is currently in use. | |
void | unset_database_in_use () |
Unsets the Database that is currenly in use. | |
const Function * | get_function (const ThreadSafePooledString &name) const |
Returns a reference to the Function with the given name . | |
template<typename T > requires std::derived_from<T, m::Store> | |
void | register_store (ThreadSafePooledString name, const char *description=nullptr) |
Registers a new Store with the given name . | |
void | default_store (const ThreadSafePooledString &name) |
Sets the default Store to use. | |
bool | has_default_store () const |
Returns true iff the Catalog has a default Store . | |
std::unique_ptr< Store > | create_store (const Table &tbl) const |
Creates a new Store for the given Table tbl . | |
std::unique_ptr< Store > | create_store (const ThreadSafePooledString &name, const Table &tbl) const |
Creates a new Store of name name for the given Table tbl . | |
const ThreadSafePooledString & | default_store_name () const |
Returns the name of the default Store . | |
auto | stores_begin () |
auto | stores_end () |
auto | stores_begin () const |
auto | stores_end () const |
auto | stores_cbegin () const |
auto | stores_cend () const |
void | register_data_layout (ThreadSafePooledString name, std::unique_ptr< storage::DataLayoutFactory > data_layout, const char *description=nullptr) |
Registers a new DataLayoutFactory with the given name . | |
void | default_data_layout (const ThreadSafePooledString &name) |
Sets the default DataLayoutFactory to use. | |
bool | has_default_data_layout () const |
Returns true iff the Catalog has a default DataLayoutFactory . | |
storage::DataLayoutFactory & | data_layout () const |
Returns a reference to the default DataLayoutFactory . | |
storage::DataLayoutFactory & | data_layout (const ThreadSafePooledString &name) const |
Returns a reference to the DataLayoutFactory with the given name . | |
const m::ThreadSafePooledString & | default_data_layout_name () const |
Returns the name of the default DataLayoutFactory . | |
auto | data_layouts_begin () |
auto | data_layouts_end () |
auto | data_layouts_begin () const |
auto | data_layouts_end () const |
auto | data_layouts_cbegin () const |
auto | data_layouts_cend () const |
template<typename T > requires std::derived_from<T, m::CardinalityEstimator> | |
void | register_cardinality_estimator (ThreadSafePooledString name, const char *description=nullptr) |
Registers a new CardinalityEstimator with the given name . | |
void | default_cardinality_estimator (const ThreadSafePooledString &name) |
Sets the default CardinalityEstimator to use. | |
bool | has_default_cardinality_estimator () const |
Returns true iff the Catalog has a default CardinalityEstimator . | |
std::unique_ptr< CardinalityEstimator > | create_cardinality_estimator (ThreadSafePooledString database) const |
Creates a new CardinalityEstimator . | |
std::unique_ptr< CardinalityEstimator > | create_cardinality_estimator (const ThreadSafePooledString &name, ThreadSafePooledString database) const |
Creates a new CardinalityEstimator of name name . | |
const ThreadSafePooledString & | default_cardinality_estimator_name () const |
Returns the name of the default CardinalityEstimator . | |
auto | cardinality_estimators_begin () |
auto | cardinality_estimators_end () |
auto | cardinality_estimators_begin () const |
auto | cardinality_estimators_end () const |
auto | cardinality_estimators_cbegin () const |
auto | cardinality_estimators_cend () const |
void | register_plan_enumerator (ThreadSafePooledString name, std::unique_ptr< pe::PlanEnumerator > PE, const char *description=nullptr) |
Registers a new PlanEnumerator with the given name . | |
void | default_plan_enumerator (const ThreadSafePooledString &name) |
Sets the default PlanEnumerator to use. | |
bool | has_default_plan_enumerator () const |
Returns true iff the Catalog has a default PlanEnumerator . | |
pe::PlanEnumerator & | plan_enumerator () const |
Returns a reference to the default PlanEnumerator . | |
pe::PlanEnumerator & | plan_enumerator (const ThreadSafePooledString &name) const |
Returns a reference to the PlanEnumerator with the given name . | |
const ThreadSafePooledString & | default_plan_enumerator_name () const |
Returns the name of the default PlanEnumerator . | |
auto | plan_enumerators_begin () |
auto | plan_enumerators_end () |
auto | plan_enumerators_begin () const |
auto | plan_enumerators_end () const |
auto | plan_enumerators_cbegin () const |
auto | plan_enumerators_cend () const |
template<typename T > requires std::derived_from<T, m::Backend> | |
void | register_backend (ThreadSafePooledString name, const char *description=nullptr) |
Registers a new Backend with the given name . | |
template<typename T > requires std::derived_from<T, m::WasmEngine> | |
void | register_wasm_backend (ThreadSafePooledString name, const char *description=nullptr) |
Registers a new WasmBackend using the given WasmEngine with the given name . | |
void | default_backend (const ThreadSafePooledString &name) |
Sets the default Backend to use. | |
bool | has_default_backend () const |
Returns true iff the Catalog has a default Backend . | |
std::unique_ptr< Backend > | create_backend () const |
Returns a new Backend . | |
std::unique_ptr< Backend > | create_backend (const ThreadSafePooledString &name) const |
Returns a new Backend of name name . | |
const ThreadSafePooledString & | default_backend_name () const |
Returns the name of the default Backend . | |
auto | backends_begin () |
auto | backends_end () |
auto | backends_begin () const |
auto | backends_end () const |
auto | backends_cbegin () const |
auto | backends_cend () const |
void | register_cost_function (ThreadSafePooledString name, std::unique_ptr< CostFunction > CF, const char *description=nullptr) |
Registers a new CostFunction with the given name . | |
void | default_cost_function (const ThreadSafePooledString &name) |
Sets the default CostFunction to use. | |
bool | has_default_cost_function () const |
Returns true iff the Catalog has a default CostFunction . | |
CostFunction & | cost_function () const |
Returns a reference to the default CostFunction . | |
CostFunction & | cost_function (const ThreadSafePooledString &name) const |
Returns a reference to the CostFunction with the given name . | |
const ThreadSafePooledString & | default_cost_function_name () const |
Returns the name of the default CostFunction . | |
auto | cost_functions_begin () |
auto | cost_functions_end () |
auto | cost_functions_begin () const |
auto | cost_functions_end () const |
auto | cost_functions_cbegin () const |
auto | cost_functions_cend () const |
template<typename T > requires std::derived_from<T, m::DatabaseInstruction> | |
void | register_instruction (ThreadSafePooledString name, const char *description=nullptr) |
Registers a new DatabaseInstruction with the given name . | |
std::unique_ptr< DatabaseInstruction > | create_instruction (const ThreadSafePooledString &name, const std::vector< std::string > &args) const |
Returns a reference to the DatabaseInstruction with the given name . | |
auto | instructions_begin () |
auto | instructions_end () |
auto | instructions_begin () const |
auto | instructions_end () const |
auto | instructions_cbegin () const |
auto | instructions_cend () const |
void | register_scheduler (ThreadSafePooledString name, std::unique_ptr< Scheduler > scheduler, const char *description=nullptr) |
Registers a new Scheduler with the given name . | |
void | default_scheduler (const ThreadSafePooledString &name) |
Sets the default Scheduler to use. | |
bool | has_default_scheduler () const |
Returns true iff the Catalog has a default Scheduler . | |
Scheduler & | scheduler () const |
Returns a reference to the default Scheduler . | |
Scheduler & | scheduler (const ThreadSafePooledString &name) const |
Returns a reference to the Scheduler with the given name . | |
const ThreadSafePooledString & | default_scheduler_name () const |
Returns the name of the default Scheduler . | |
auto | schedulers_begin () |
auto | schedulers_end () |
auto | schedulers_begin () const |
auto | schedulers_end () const |
auto | schedulers_cbegin () const |
auto | schedulers_cend () const |
std::unique_ptr< TableFactory > | table_factory (std::unique_ptr< TableFactory > table_factory) |
Replaces the stored TableFactory with table_factory and returns the old TableFactory . | |
TableFactory & | table_factory () const |
Returns a reference to the stored TableFactory . | |
template<class T > requires std::derived_from<T, TableFactoryDecorator> | |
void | register_table_property (ThreadSafePooledString name, const char *description=nullptr) |
Registers a new TableFactoryDecorator with the given name . | |
std::unique_ptr< TableFactory > | apply_table_property (const ThreadSafePooledString &name, std::unique_ptr< TableFactory > table_factory) const |
Applies the TableFactoryDecorator corresponding to name to table_factory . | |
auto | table_properties_begin () |
auto | table_properties_end () |
auto | table_properties_begin () const |
auto | table_properties_end () const |
auto | table_properties_cbegin () const |
auto | table_properties_cend () const |
void | register_pre_optimization (ThreadSafePooledString name, PreOptimizationCallback optimization, const char *description=nullptr) |
Registers a new pre-optimization with the given name . | |
auto | pre_optimizations () |
auto | pre_optimizations_begin () |
auto | pre_optimizations_end () |
auto | pre_optimizations_begin () const |
auto | pre_optimizations_end () const |
auto | pre_optimizations_cbegin () const |
auto | pre_optimizations_cend () const |
void | register_logical_post_optimization (ThreadSafePooledString name, LogicalPostOptimizationCallback optimization, const char *description=nullptr) |
Registers a new logical post-optimization with the given name . | |
auto | logical_post_optimizations () |
auto | logical_post_optimizations_begin () |
auto | logical_post_optimizations_end () |
auto | logical_post_optimizations_begin () const |
auto | logical_post_optimizations_end () const |
auto | logical_post_optimizations_cbegin () const |
auto | logical_post_optimizations_cend () const |
void | register_physical_post_optimization (const char *name, PhysicalPostOptimizationCallback optimization, const char *description=nullptr) |
Registers a new physical post-optimization with the given name . | |
auto | physical_post_optimizations () |
auto | physical_post_optimizations_begin () |
auto | physical_post_optimizations_end () |
auto | physical_post_optimizations_begin () const |
auto | physical_post_optimizations_end () const |
auto | physical_post_optimizations_cbegin () const |
auto | physical_post_optimizations_cend () const |
Static Public Member Functions | |
static Catalog & | Get () |
Return a reference to the single Catalog instance. | |
static void | Clear () |
Removes all content from the Catalog instance. | |
static void | Destroy () |
Destroys the current Catalog instance. | |
Private Types | |
using | TableFactoryDecoratorCallback = std::function< std::unique_ptr< TableFactory >(std::unique_ptr< TableFactory >)> |
using | PreOptimizationCallback = std::function< void(QueryGraph &)> |
using | LogicalPostOptimizationCallback = std::function< std::unique_ptr< Producer >(std::unique_ptr< Producer >)> |
using | PhysicalPostOptimizationCallback = std::function< std::unique_ptr< MatchBase >(std::unique_ptr< MatchBase >)> |
Private Member Functions | |
Catalog () | |
Catalog (const Catalog &)=delete | |
Catalog & | operator= (const Catalog &)=delete |
Static Private Attributes | |
static Catalog * | the_catalog_ |
Singleton Catalog instance. | |
The catalog contains all Database
s and keeps track of all meta information of the database system.
There is always exactly one catalog.
Definition at line 214 of file Catalog.hpp.
|
private |
Definition at line 332 of file Catalog.hpp.
|
private |
Definition at line 335 of file Catalog.hpp.
|
private |
Definition at line 329 of file Catalog.hpp.
|
private |
Definition at line 326 of file Catalog.hpp.
|
private |
Definition at line 19 of file Catalog.cpp.
|
privatedelete |
Catalog::~Catalog | ( | ) |
Definition at line 33 of file Catalog.cpp.
References databases_, and standard_functions_.
Database & Catalog::add_database | ( | ThreadSafePooledString | name | ) |
Creates a new Database
with the given name
.
Throws std::invalid_argument
if a Database
with the given name
already exists.
Definition at line 58 of file Catalog.cpp.
References databases_.
Referenced by m::CreateDatabase::execute(), m::execute_statement(), generate_training_suite_filter(), generate_training_suite_group_by(), and generate_training_suite_join().
|
inline |
Returns a reference to the memory::Allocator
.
Definition at line 269 of file Catalog.hpp.
Referenced by m::wasm::Module::Memory().
|
inline |
Returns a reference to the memory::Allocator
.
Definition at line 271 of file Catalog.hpp.
|
inline |
Applies the TableFactoryDecorator
corresponding to name
to table_factory
.
Returns the decorated TableFactory
.
Definition at line 595 of file Catalog.hpp.
|
inline |
Definition at line 253 of file Catalog.hpp.
Referenced by __attribute__(), M_LCOV_EXCL_STOP::__attribute__(), LIST_CE(), and main().
|
inline |
Definition at line 483 of file Catalog.hpp.
|
inline |
Definition at line 485 of file Catalog.hpp.
|
inline |
Definition at line 487 of file Catalog.hpp.
Referenced by main().
|
inline |
Definition at line 488 of file Catalog.hpp.
Referenced by main().
|
inline |
Definition at line 484 of file Catalog.hpp.
|
inline |
Definition at line 486 of file Catalog.hpp.
|
inline |
Definition at line 422 of file Catalog.hpp.
|
inline |
Definition at line 424 of file Catalog.hpp.
|
inline |
Definition at line 426 of file Catalog.hpp.
Referenced by main().
|
inline |
Definition at line 427 of file Catalog.hpp.
Referenced by main().
|
inline |
Definition at line 423 of file Catalog.hpp.
|
inline |
Definition at line 425 of file Catalog.hpp.
|
inlinestatic |
Removes all content from the Catalog
instance.
Definition at line 241 of file Catalog.hpp.
References database_in_use_, and databases_.
|
inline |
Returns a reference to the default CostFunction
.
Definition at line 502 of file Catalog.hpp.
Referenced by m::QueryDatabase::execute(), m::execute_statement(), and m::logical_plan_from_statement().
|
inline |
Returns a reference to the CostFunction
with the given name
.
Definition at line 504 of file Catalog.hpp.
|
inline |
Definition at line 508 of file Catalog.hpp.
|
inline |
Definition at line 510 of file Catalog.hpp.
|
inline |
Definition at line 512 of file Catalog.hpp.
Referenced by main().
|
inline |
Definition at line 513 of file Catalog.hpp.
Referenced by main().
|
inline |
Definition at line 509 of file Catalog.hpp.
|
inline |
Definition at line 511 of file Catalog.hpp.
|
inline |
Returns a new Backend
.
Definition at line 477 of file Catalog.hpp.
Referenced by m::idx::ArrayIndex< Key >::bulkload(), m::QueryDatabase::execute(), and m::execute_statement().
|
inline |
Returns a new Backend
of name name
.
Definition at line 479 of file Catalog.hpp.
|
inline |
Creates a new CardinalityEstimator
of name name
.
Definition at line 413 of file Catalog.hpp.
|
inline |
Creates a new CardinalityEstimator
.
Definition at line 409 of file Catalog.hpp.
Referenced by m::Database::Database().
|
inline |
Returns a reference to the DatabaseInstruction
with the given name
.
Throws std::invalid_argument
if no Instruction
with the given name
exists.
Definition at line 528 of file Catalog.hpp.
References args.
Referenced by m::execute_instruction().
Creates a new Store
for the given Table
tbl
.
Definition at line 352 of file Catalog.hpp.
Referenced by m::execute_statement(), generate_training_suite_filter(), generate_training_suite_group_by(), and generate_training_suite_join().
|
inline |
Creates a new Store
of name name
for the given Table
tbl
.
Definition at line 354 of file Catalog.hpp.
|
inline |
Returns a reference to the default DataLayoutFactory
.
Definition at line 379 of file Catalog.hpp.
Referenced by m::execute_statement().
|
inline |
Returns a reference to the DataLayoutFactory
with the given name
.
Definition at line 381 of file Catalog.hpp.
|
inline |
Definition at line 385 of file Catalog.hpp.
|
inline |
Definition at line 387 of file Catalog.hpp.
|
inline |
Definition at line 389 of file Catalog.hpp.
Referenced by main().
|
inline |
Definition at line 390 of file Catalog.hpp.
Referenced by main().
|
inline |
Definition at line 386 of file Catalog.hpp.
|
inline |
Definition at line 388 of file Catalog.hpp.
|
inline |
Sets the default Backend
to use.
Definition at line 473 of file Catalog.hpp.
Referenced by __attribute__().
|
inline |
Returns the name of the default Backend
.
Definition at line 481 of file Catalog.hpp.
|
inline |
Sets the default CardinalityEstimator
to use.
Definition at line 405 of file Catalog.hpp.
Referenced by __attribute__().
|
inline |
Returns the name of the default CardinalityEstimator
.
Definition at line 418 of file Catalog.hpp.
|
inline |
Sets the default CostFunction
to use.
Definition at line 498 of file Catalog.hpp.
Referenced by main().
|
inline |
Returns the name of the default CostFunction
.
Definition at line 506 of file Catalog.hpp.
|
inline |
Sets the default DataLayoutFactory
to use.
Definition at line 375 of file Catalog.hpp.
Referenced by __attribute__().
|
inline |
Returns the name of the default DataLayoutFactory
.
Definition at line 383 of file Catalog.hpp.
|
inline |
Sets the default PlanEnumerator
to use.
Definition at line 437 of file Catalog.hpp.
Referenced by __attribute__().
|
inline |
Returns the name of the default PlanEnumerator
.
Definition at line 445 of file Catalog.hpp.
|
inline |
Sets the default Scheduler
to use.
Definition at line 549 of file Catalog.hpp.
Referenced by __attribute__().
|
inline |
Returns the name of the default Scheduler
.
Definition at line 557 of file Catalog.hpp.
|
inline |
Sets the default Store
to use.
Definition at line 348 of file Catalog.hpp.
|
inline |
Returns the name of the default Store
.
Definition at line 358 of file Catalog.hpp.
|
static |
|
inline |
Drops the Database
db
.
Throws std::out_of_range
if the db
is currently in use.
Definition at line 290 of file Catalog.hpp.
References drop_database(), and m::Database::name.
Referenced by drop_database().
void Catalog::drop_database | ( | const ThreadSafePooledString & | name | ) |
Drops the Database
with the name
.
Throws std::out_of_range
if no such Database
exists or if the Database
is currently in use. See get_database_in_use()
.
Definition at line 66 of file Catalog.cpp.
References m::and, databases_, get_database_in_use(), and has_database_in_use().
Referenced by m::DropDatabase::execute(), and generate_training_suite_filter().
|
static |
Return a reference to the single Catalog
instance.
Referenced by __attribute__(), M_LCOV_EXCL_STOP::__attribute__(), m::idx::ArrayIndex< Key >::add(), m::Database::add_table(), m::AggregationOperator::AggregationOperator(), M_LCOV_EXCL_STOP::apply_timestamp_filter(), m::idx::ArrayIndex< Key >::bulkload(), m::command_from_string(), compute_aggregate_info(), m::Optimizer::construct_join_order(), m::ast::Sema::create_designator(), m::Database::Database(), emit_cardinalities(), m::InjectionCardinalityEstimator::estimate_grouping(), m::wasm::HashBasedGroupJoin::execute(), m::learn_spns::execute(), m::QueryDatabase::execute(), m::InsertRecords::execute(), m::ImportDSV::execute(), m::CreateDatabase::execute(), m::DropDatabase::execute(), m::UseDatabase::execute(), m::CreateTable::execute(), m::DropTable::execute(), m::CreateIndex::execute(), m::DropIndex::execute(), m::execute_file(), m::execute_instruction(), m::execute_physical_plan(), m::execute_query(), m::execute_statement(), generate_training_suite_filter(), generate_training_suite_group_by(), generate_training_suite_join(), m::Database::get_function(), m::ast::Expr::get_required(), m::Schema::Identifier::GetConstant(), m::GroupingOperator::GroupingOperator(), m::Schema::Identifier::Identifier(), index_scan_resolve_index_method(), m::instruction_from_string(), m::SpnWrapper::learn_spn_database(), m::SpnWrapper::learn_spn_table(), LIST_CE(), LIST_PE(), m::logical_plan_from_statement(), m::Interpreter::M_OPERATOR_LIST(), main(), m::InjectionCardinalityEstimator::make_identifier(), m::ast::QueryExpr::make_unique_alias(), m::QueryGraph2SQL::make_unique_alias(), m::ast::Sema::make_unique_id_from_binding_path(), m::wasm::Module::Memory(), m::MultiVersioningTable::MultiVersioningTable(), m::wasm::ExprCompiler::operator()(), m::StackMachineBuilder::operator()(), m::pe::hs::HeuristicSearch::operator()(), m::pe::DPccp::operator()(), m::pe::GOO::operator()(), m::pe::TDGOO::operator()(), PEall::operator()(), DPsize::operator()(), DPsizeOpt::operator()(), DPsizeSub::operator()(), DPsub::operator()(), DPsubOpt::operator()(), IKKBZ::operator()(), LinearizedDP::operator()(), TDbasic::operator()(), TDMinCutAGaT::operator()(), m::DSVReader::operator()(), m::Optimizer::optimize_join_order(), m::Optimizer::optimize_plan(), m::Optimizer::optimize_source_plans(), m::Optimizer::optimize_with_plantable(), m::ast::Parser::parse_Instruction(), m::physical_plan_from_logical_plan(), m::wasm::IndexScan< IndexMethod >::pre_condition(), m::process_stream(), m::ProjectionOperator::ProjectionOperator(), prompt(), m::InjectionCardinalityEstimator::read_json(), m::SerialScheduler::schedule_thread(), m::statement_from_string(), and time_select_query_execution().
|
inline |
Returns the Database
with the given name
.
Throws std::out_of_range
if no such Database
exists.
Definition at line 283 of file Catalog.hpp.
Referenced by m::execute_statement().
|
inline |
Returns a reference to the Database
that is currently in use, if any.
Throws std::logic_error
otherwise.
Definition at line 295 of file Catalog.hpp.
Referenced by m::Optimizer::construct_join_order(), drop_database(), emit_cardinalities(), m::InsertRecords::execute(), m::execute_statement(), index_scan_resolve_index_method(), m::pe::hs::HeuristicSearch::operator()(), m::pe::DPccp::operator()(), m::pe::GOO::operator()(), m::pe::TDGOO::operator()(), PEall::operator()(), DPsize::operator()(), DPsizeOpt::operator()(), DPsizeSub::operator()(), DPsub::operator()(), DPsubOpt::operator()(), IKKBZ::operator()(), LinearizedDP::operator()(), TDbasic::operator()(), TDMinCutAGaT::operator()(), m::Optimizer::optimize_join_order(), m::Optimizer::optimize_plan(), m::Optimizer::optimize_source_plans(), and m::wasm::IndexScan< IndexMethod >::pre_condition().
|
inline |
Returns a reference to the Database
that is currently in use, if any.
Throws std::logic_error
otherwise.
Definition at line 301 of file Catalog.hpp.
References get_database_in_use().
Referenced by get_database_in_use().
|
inline |
Returns a reference to the Function
with the given name
.
Throws std::out_of_range
if no such Function
exists.
Definition at line 310 of file Catalog.hpp.
Referenced by m::Database::get_function().
|
inline |
Returns a reference to the StringPool
.
Definition at line 259 of file Catalog.hpp.
Referenced by m::command_from_string(), m::instruction_from_string(), main(), m::process_stream(), and m::statement_from_string().
|
inline |
Returns a reference to the StringPool
.
Definition at line 261 of file Catalog.hpp.
|
inline |
Returns true
iff a Database
with the given name
exists.
Definition at line 285 of file Catalog.hpp.
|
inline |
Returns true
if any Database
is currently in use.
Definition at line 293 of file Catalog.hpp.
Referenced by drop_database(), and main().
|
inline |
Returns true
iff the Catalog
has a default Backend
.
Definition at line 475 of file Catalog.hpp.
|
inline |
Returns true
iff the Catalog
has a default CardinalityEstimator
.
Definition at line 407 of file Catalog.hpp.
|
inline |
Returns true
iff the Catalog
has a default CostFunction
.
Definition at line 500 of file Catalog.hpp.
|
inline |
Returns true
iff the Catalog
has a default DataLayoutFactory
.
Definition at line 377 of file Catalog.hpp.
|
inline |
Returns true
iff the Catalog
has a default PlanEnumerator
.
Definition at line 439 of file Catalog.hpp.
|
inline |
Returns true
iff the Catalog
has a default Scheduler
.
Definition at line 551 of file Catalog.hpp.
|
inline |
Returns true
iff the Catalog
has a default Store
.
Definition at line 350 of file Catalog.hpp.
|
inline |
Definition at line 534 of file Catalog.hpp.
|
inline |
Definition at line 536 of file Catalog.hpp.
|
inline |
Definition at line 538 of file Catalog.hpp.
|
inline |
Definition at line 539 of file Catalog.hpp.
|
inline |
Definition at line 535 of file Catalog.hpp.
|
inline |
Definition at line 537 of file Catalog.hpp.
|
inline |
Definition at line 644 of file Catalog.hpp.
Referenced by m::QueryDatabase::execute().
|
inline |
Definition at line 647 of file Catalog.hpp.
|
inline |
Definition at line 649 of file Catalog.hpp.
|
inline |
Definition at line 651 of file Catalog.hpp.
|
inline |
Definition at line 652 of file Catalog.hpp.
|
inline |
Definition at line 648 of file Catalog.hpp.
|
inline |
Definition at line 650 of file Catalog.hpp.
|
inline |
Returns the number of Database
s.
Definition at line 256 of file Catalog.hpp.
|
inline |
Definition at line 668 of file Catalog.hpp.
Referenced by m::QueryDatabase::execute().
|
inline |
Definition at line 671 of file Catalog.hpp.
|
inline |
Definition at line 673 of file Catalog.hpp.
|
inline |
Definition at line 675 of file Catalog.hpp.
|
inline |
Definition at line 676 of file Catalog.hpp.
|
inline |
Definition at line 672 of file Catalog.hpp.
|
inline |
Definition at line 674 of file Catalog.hpp.
|
inline |
Returns a reference to the default PlanEnumerator
.
Definition at line 441 of file Catalog.hpp.
Referenced by m::QueryDatabase::execute(), m::execute_statement(), and m::logical_plan_from_statement().
|
inline |
Returns a reference to the PlanEnumerator
with the given name
.
Definition at line 443 of file Catalog.hpp.
|
inline |
Definition at line 447 of file Catalog.hpp.
|
inline |
Definition at line 449 of file Catalog.hpp.
|
inline |
Definition at line 451 of file Catalog.hpp.
Referenced by main().
|
inline |
Definition at line 452 of file Catalog.hpp.
Referenced by main().
|
inline |
Definition at line 448 of file Catalog.hpp.
|
inline |
Definition at line 450 of file Catalog.hpp.
|
inline |
Creates an internalized copy of the string str
by adding it to the internal StringPool
.
Definition at line 274 of file Catalog.hpp.
Referenced by __attribute__(), M_LCOV_EXCL_STOP::__attribute__(), m::idx::ArrayIndex< Key >::add(), M_LCOV_EXCL_STOP::apply_timestamp_filter(), m::InjectionCardinalityEstimator::estimate_grouping(), m::wasm::HashBasedGroupJoin::execute(), generate_training_suite_filter(), generate_training_suite_group_by(), generate_training_suite_join(), m::ast::Expr::get_required(), m::Schema::Identifier::Identifier(), m::Interpreter::M_OPERATOR_LIST(), main(), m::ast::QueryExpr::make_unique_alias(), m::QueryGraph2SQL::make_unique_alias(), m::wasm::ExprCompiler::operator()(), m::StackMachineBuilder::operator()(), m::DSVReader::operator()(), and m::InjectionCardinalityEstimator::read_json().
|
inline |
Creates an internalized copy of the string str
by adding it to the internal StringPool
.
Definition at line 276 of file Catalog.hpp.
|
inline |
Definition at line 622 of file Catalog.hpp.
Referenced by m::QueryDatabase::execute().
|
inline |
Definition at line 623 of file Catalog.hpp.
|
inline |
Definition at line 625 of file Catalog.hpp.
|
inline |
Definition at line 627 of file Catalog.hpp.
|
inline |
Definition at line 628 of file Catalog.hpp.
|
inline |
Definition at line 624 of file Catalog.hpp.
|
inline |
Definition at line 626 of file Catalog.hpp.
|
inline |
Registers a new Backend
with the given name
.
Definition at line 458 of file Catalog.hpp.
Referenced by __attribute__().
|
inline |
Registers a new CardinalityEstimator
with the given name
.
Definition at line 396 of file Catalog.hpp.
|
inline |
Registers a new CostFunction
with the given name
.
Definition at line 492 of file Catalog.hpp.
Referenced by __attribute__(), and main().
|
inline |
Registers a new DataLayoutFactory
with the given name
.
Definition at line 369 of file Catalog.hpp.
Referenced by __attribute__().
|
inline |
Registers a new DatabaseInstruction
with the given name
.
Definition at line 519 of file Catalog.hpp.
|
inline |
Registers a new logical post-optimization with the given name
.
Definition at line 632 of file Catalog.hpp.
Referenced by __attribute__().
|
inline |
Registers a new physical post-optimization with the given name
.
Definition at line 656 of file Catalog.hpp.
Referenced by __attribute__().
|
inline |
Registers a new PlanEnumerator
with the given name
.
Definition at line 431 of file Catalog.hpp.
|
inline |
Registers a new pre-optimization with the given name
.
Definition at line 610 of file Catalog.hpp.
Referenced by M_LCOV_EXCL_STOP::__attribute__().
|
inline |
Registers a new Scheduler
with the given name
.
Definition at line 543 of file Catalog.hpp.
Referenced by __attribute__().
|
inline |
Registers a new Store
with the given name
.
Definition at line 343 of file Catalog.hpp.
Referenced by __attribute__().
|
inline |
Registers a new TableFactoryDecorator
with the given name
.
The name
will be used as the property name of the decorator in --table-properties
.
Definition at line 582 of file Catalog.hpp.
Referenced by __attribute__().
|
inline |
Registers a new WasmBackend
using the given WasmEngine
with the given name
.
Definition at line 465 of file Catalog.hpp.
|
inline |
Returns a reference to the default Scheduler
.
Definition at line 553 of file Catalog.hpp.
Referenced by m::process_stream().
|
inline |
Returns a reference to the Scheduler
with the given name
.
Definition at line 555 of file Catalog.hpp.
|
inline |
Definition at line 559 of file Catalog.hpp.
|
inline |
Definition at line 561 of file Catalog.hpp.
|
inline |
Definition at line 563 of file Catalog.hpp.
Referenced by main().
|
inline |
Definition at line 564 of file Catalog.hpp.
Referenced by main().
|
inline |
Definition at line 560 of file Catalog.hpp.
|
inline |
Definition at line 562 of file Catalog.hpp.
|
inline |
Sets the Database
db
as the Database
that is currently in use.
Definition at line 303 of file Catalog.hpp.
Referenced by m::execute_statement().
|
inline |
Definition at line 360 of file Catalog.hpp.
|
inline |
Definition at line 362 of file Catalog.hpp.
|
inline |
Definition at line 364 of file Catalog.hpp.
|
inline |
Definition at line 365 of file Catalog.hpp.
|
inline |
Definition at line 361 of file Catalog.hpp.
|
inline |
Definition at line 363 of file Catalog.hpp.
|
inline |
Returns a reference to the stored TableFactory
.
Definition at line 576 of file Catalog.hpp.
|
inline |
Replaces the stored TableFactory
with table_factory
and returns the old TableFactory
.
Definition at line 572 of file Catalog.hpp.
Referenced by __attribute__().
|
inline |
Definition at line 601 of file Catalog.hpp.
|
inline |
Definition at line 603 of file Catalog.hpp.
|
inline |
Definition at line 605 of file Catalog.hpp.
Referenced by main().
|
inline |
Definition at line 606 of file Catalog.hpp.
Referenced by main().
|
inline |
Definition at line 602 of file Catalog.hpp.
|
inline |
Definition at line 604 of file Catalog.hpp.
|
inline |
Returns the global Timer
instance.
Definition at line 264 of file Catalog.hpp.
Referenced by m::command_from_string(), m::QueryDatabase::execute(), m::ImportDSV::execute(), m::execute_physical_plan(), m::execute_statement(), m::instruction_from_string(), m::logical_plan_from_statement(), m::Optimizer::optimize_join_order(), m::physical_plan_from_logical_plan(), m::process_stream(), and m::statement_from_string().
|
inline |
Returns the global Timer
instance.
Definition at line 266 of file Catalog.hpp.
|
inline |
Unsets the Database
that is currenly in use.
Definition at line 305 of file Catalog.hpp.
Referenced by generate_training_suite_filter().
|
private |
our custom allocator
Definition at line 222 of file Catalog.hpp.
|
private |
Definition at line 220 of file Catalog.hpp.
|
private |
Definition at line 321 of file Catalog.hpp.
|
private |
Definition at line 319 of file Catalog.hpp.
|
private |
Definition at line 322 of file Catalog.hpp.
|
private |
Definition at line 318 of file Catalog.hpp.
|
private |
|
private |
the databases
Definition at line 224 of file Catalog.hpp.
Referenced by add_database(), Clear(), drop_database(), and ~Catalog().
|
private |
Definition at line 323 of file Catalog.hpp.
|
private |
Definition at line 333 of file Catalog.hpp.
|
private |
Definition at line 336 of file Catalog.hpp.
|
private |
Definition at line 320 of file Catalog.hpp.
|
mutableprivate |
pool of strings
Definition at line 223 of file Catalog.hpp.
|
private |
Definition at line 330 of file Catalog.hpp.
|
private |
Definition at line 324 of file Catalog.hpp.
|
private |
functions defined by the SQL standard
Definition at line 226 of file Catalog.hpp.
Referenced by ~Catalog().
|
private |
Definition at line 317 of file Catalog.hpp.
|
private |
The TableFactory
used to construct Table
s.
Definition at line 568 of file Catalog.hpp.
|
private |
Definition at line 327 of file Catalog.hpp.
|
staticprivate |
Singleton Catalog
instance.
Definition at line 218 of file Catalog.hpp.
Referenced by __attribute__().
|
private |
a global timer
Definition at line 227 of file Catalog.hpp.