OmniSciDB
085a039ca4
|
Public Member Functions | |
RelAlgDispatcher (const Catalog_Namespace::Catalog &cat) | |
std::vector< std::shared_ptr < RelAlgNode > > | run (const rapidjson::Value &rels, RelAlgDagBuilder &root_dag_builder) |
Private Member Functions | |
std::shared_ptr< RelScan > | dispatchTableScan (const rapidjson::Value &scan_ra) |
std::shared_ptr< RelProject > | dispatchProject (const rapidjson::Value &proj_ra, RelAlgDagBuilder &root_dag_builder) |
std::shared_ptr< RelFilter > | dispatchFilter (const rapidjson::Value &filter_ra, RelAlgDagBuilder &root_dag_builder) |
std::shared_ptr< RelAggregate > | dispatchAggregate (const rapidjson::Value &agg_ra) |
std::shared_ptr< RelJoin > | dispatchJoin (const rapidjson::Value &join_ra, RelAlgDagBuilder &root_dag_builder) |
std::shared_ptr< RelSort > | dispatchSort (const rapidjson::Value &sort_ra) |
std::shared_ptr< RelModify > | dispatchModify (const rapidjson::Value &logical_modify_ra) |
std::shared_ptr< RelTableFunction > | dispatchTableFunction (const rapidjson::Value &table_func_ra, RelAlgDagBuilder &root_dag_builder) |
std::shared_ptr< RelLogicalValues > | dispatchLogicalValues (const rapidjson::Value &logical_values_ra) |
std::shared_ptr< RelLogicalUnion > | dispatchUnion (const rapidjson::Value &logical_union_ra) |
RelAlgInputs | getRelAlgInputs (const rapidjson::Value &node) |
std::pair< std::string, std::string > | getKVOptionPair (std::string &str, size_t &pos) |
ExplainedQueryHint | parseHintString (std::string &hint_string) |
void | getRelAlgHints (const rapidjson::Value &json_node, std::shared_ptr< RelAlgNode > node) |
std::shared_ptr< const RelAlgNode > | prev (const rapidjson::Value &crt_node) |
Private Attributes | |
const Catalog_Namespace::Catalog & | cat_ |
std::vector< std::shared_ptr < RelAlgNode > > | nodes_ |
Definition at line 2631 of file RelAlgDagBuilder.cpp.
|
inline |
Definition at line 2633 of file RelAlgDagBuilder.cpp.
|
inlineprivate |
Definition at line 2721 of file RelAlgDagBuilder.cpp.
References CHECK, CHECK_EQ, field(), getRelAlgHints(), getRelAlgInputs(), anonymous_namespace{RelAlgDagBuilder.cpp}::indices_from_json_array(), anonymous_namespace{RelAlgDagBuilder.cpp}::parse_aggregate_expr(), and anonymous_namespace{RelAlgDagBuilder.cpp}::strings_from_json_array().
Referenced by run().
|
inlineprivate |
Definition at line 2710 of file RelAlgDagBuilder.cpp.
References cat_, CHECK, CHECK_EQ, field(), getRelAlgInputs(), anonymous_namespace{RelAlgDagBuilder.cpp}::node_id(), and anonymous_namespace{RelAlgDagBuilder.cpp}::parse_scalar_expr().
Referenced by run().
|
inlineprivate |
Definition at line 2749 of file RelAlgDagBuilder.cpp.
References cat_, CHECK_EQ, field(), getRelAlgHints(), getRelAlgInputs(), json_str(), anonymous_namespace{RelAlgDagBuilder.cpp}::parse_scalar_expr(), and anonymous_namespace{RelAlgDagBuilder.cpp}::to_join_type().
Referenced by run().
|
inlineprivate |
Definition at line 2901 of file RelAlgDagBuilder.cpp.
References CHECK, CHECK_EQ, field(), json_str(), anonymous_namespace{RelAlgDagBuilder.cpp}::parse_literal(), and anonymous_namespace{RelAlgDagBuilder.cpp}::parse_type().
Referenced by run().
|
inlineprivate |
Definition at line 2787 of file RelAlgDagBuilder.cpp.
References cat_, CHECK, CHECK_EQ, RelModify::Delete, field(), getRelAlgInputs(), anonymous_namespace{RelAlgDagBuilder.cpp}::getTableFromScanNode(), json_bool(), anonymous_namespace{RelAlgDagBuilder.cpp}::json_node_to_string(), json_str(), and RelModify::Update.
Referenced by run().
|
inlineprivate |
Definition at line 2688 of file RelAlgDagBuilder.cpp.
References cat_, CHECK, CHECK_EQ, field(), getRelAlgHints(), getRelAlgInputs(), anonymous_namespace{RelAlgDagBuilder.cpp}::parse_scalar_expr(), and anonymous_namespace{RelAlgDagBuilder.cpp}::strings_from_json_array().
Referenced by run().
|
inlineprivate |
Definition at line 2765 of file RelAlgDagBuilder.cpp.
References CHECK, CHECK_EQ, field(), anonymous_namespace{RelAlgDagBuilder.cpp}::get_int_literal_field(), getRelAlgInputs(), json_i64(), anonymous_namespace{RelAlgDagBuilder.cpp}::parse_nulls_position(), and anonymous_namespace{RelAlgDagBuilder.cpp}::parse_sort_direction().
Referenced by run().
|
inlineprivate |
Definition at line 2830 of file RelAlgDagBuilder.cpp.
References cat_, CHECK, CHECK_GE, CHECK_LT, field(), getRelAlgInputs(), json_str(), and anonymous_namespace{RelAlgDagBuilder.cpp}::parse_scalar_expr().
Referenced by run().
|
inlineprivate |
Definition at line 2675 of file RelAlgDagBuilder.cpp.
References cat_, CHECK, anonymous_namespace{RelAlgDagBuilder.cpp}::check_empty_inputs_field(), anonymous_namespace{RelAlgDagBuilder.cpp}::getFieldNamesFromScanNode(), getRelAlgHints(), and anonymous_namespace{RelAlgDagBuilder.cpp}::getTableFromScanNode().
Referenced by run().
|
inlineprivate |
Definition at line 2942 of file RelAlgDagBuilder.cpp.
References CHECK, field(), and getRelAlgInputs().
Referenced by run().
|
inlineprivate |
Definition at line 2962 of file RelAlgDagBuilder.cpp.
Referenced by parseHintString().
|
inlineprivate |
Definition at line 3030 of file RelAlgDagBuilder.cpp.
References field(), json_str(), and parseHintString().
Referenced by dispatchAggregate(), dispatchJoin(), dispatchProject(), and dispatchTableScan().
|
inlineprivate |
Definition at line 2950 of file RelAlgDagBuilder.cpp.
References field(), nodes_, prev(), and anonymous_namespace{RelAlgDagBuilder.cpp}::strings_from_json_array().
Referenced by dispatchAggregate(), dispatchFilter(), dispatchJoin(), dispatchModify(), dispatchProject(), dispatchSort(), dispatchTableFunction(), and dispatchUnion().
|
inlineprivate |
Definition at line 2972 of file RelAlgDagBuilder.cpp.
References CHECK, getKVOptionPair(), and RegisteredQueryHint::translateQueryHint().
Referenced by getRelAlgHints().
|
inlineprivate |
Definition at line 3081 of file RelAlgDagBuilder.cpp.
References CHECK, CHECK_EQ, anonymous_namespace{RelAlgDagBuilder.cpp}::node_id(), and nodes_.
Referenced by getRelAlgInputs().
|
inline |
Definition at line 2635 of file RelAlgDagBuilder.cpp.
References CHECK, CHECK_EQ, dispatchAggregate(), dispatchFilter(), dispatchJoin(), dispatchLogicalValues(), dispatchModify(), dispatchProject(), dispatchSort(), dispatchTableFunction(), dispatchTableScan(), dispatchUnion(), field(), json_str(), anonymous_namespace{RelAlgDagBuilder.cpp}::node_id(), and nodes_.
Referenced by RelAlgDagBuilder::build().
|
private |
Definition at line 3088 of file RelAlgDagBuilder.cpp.
Referenced by dispatchFilter(), dispatchJoin(), dispatchModify(), dispatchProject(), dispatchTableFunction(), and dispatchTableScan().
|
private |
Definition at line 3089 of file RelAlgDagBuilder.cpp.
Referenced by getRelAlgInputs(), prev(), and run().