OmniSciDB
a5dc49c757
|
Public Member Functions | |
RelAlgDispatcher () | |
std::vector< std::shared_ptr < RelAlgNode > > | run (const rapidjson::Value &rels, RelAlgDag &root_dag) |
Private Member Functions | |
std::shared_ptr< RelScan > | dispatchTableScan (const rapidjson::Value &scan_ra) |
std::shared_ptr< RelProject > | dispatchProject (const rapidjson::Value &proj_ra, RelAlgDag &root_dag) |
std::shared_ptr< RelFilter > | dispatchFilter (const rapidjson::Value &filter_ra, RelAlgDag &root_dag) |
std::shared_ptr< RelAggregate > | dispatchAggregate (const rapidjson::Value &agg_ra) |
std::shared_ptr< RelJoin > | dispatchJoin (const rapidjson::Value &join_ra, RelAlgDag &root_dag) |
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, RelAlgDag &root_dag) |
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 | |
std::vector< std::shared_ptr < RelAlgNode > > | nodes_ |
Definition at line 2890 of file RelAlgDag.cpp.
|
inline |
Definition at line 2892 of file RelAlgDag.cpp.
|
inlineprivate |
Definition at line 2979 of file RelAlgDag.cpp.
References CHECK, CHECK_EQ, field(), getRelAlgHints(), getRelAlgInputs(), anonymous_namespace{RelAlgDag.cpp}::indices_from_json_array(), anonymous_namespace{RelAlgDag.cpp}::parse_aggregate_expr(), and anonymous_namespace{RelAlgDag.cpp}::strings_from_json_array().
Referenced by run().
|
inlineprivate |
Definition at line 2969 of file RelAlgDag.cpp.
References CHECK, CHECK_EQ, field(), getRelAlgInputs(), anonymous_namespace{RelAlgDag.cpp}::node_id(), and anonymous_namespace{RelAlgDag.cpp}::parse_scalar_expr().
Referenced by run().
|
inlineprivate |
Definition at line 3007 of file RelAlgDag.cpp.
References CHECK_EQ, field(), getRelAlgHints(), getRelAlgInputs(), json_str(), anonymous_namespace{RelAlgDag.cpp}::parse_scalar_expr(), and anonymous_namespace{RelAlgDag.cpp}::to_join_type().
Referenced by run().
|
inlineprivate |
Definition at line 3160 of file RelAlgDag.cpp.
References CHECK, CHECK_EQ, field(), json_str(), kENCODING_DICT, anonymous_namespace{RelAlgDag.cpp}::parse_literal(), anonymous_namespace{RelAlgDag.cpp}::parse_type(), TRANSIENT_DICT_DB_ID, and TRANSIENT_DICT_ID.
Referenced by run().
|
inlineprivate |
Definition at line 3046 of file RelAlgDag.cpp.
References cat(), CHECK, CHECK_EQ, RelModify::Delete, field(), anonymous_namespace{RelAlgDag.cpp}::getCatalogAndTableFromScanNode(), getRelAlgInputs(), json_bool(), anonymous_namespace{RelAlgDag.cpp}::json_node_to_string(), json_str(), and RelModify::Update.
Referenced by run().
|
inlineprivate |
Definition at line 2947 of file RelAlgDag.cpp.
References CHECK, CHECK_EQ, field(), getRelAlgHints(), getRelAlgInputs(), anonymous_namespace{RelAlgDag.cpp}::parse_scalar_expr(), and anonymous_namespace{RelAlgDag.cpp}::strings_from_json_array().
Referenced by run().
|
inlineprivate |
Definition at line 3022 of file RelAlgDag.cpp.
References CHECK, CHECK_EQ, field(), anonymous_namespace{RelAlgDag.cpp}::get_int_literal_field(), getRelAlgInputs(), json_i64(), anonymous_namespace{RelAlgDag.cpp}::parse_nulls_position(), and anonymous_namespace{RelAlgDag.cpp}::parse_sort_direction().
Referenced by run().
|
inlineprivate |
Definition at line 3090 of file RelAlgDag.cpp.
References CHECK, CHECK_GE, CHECK_LT, field(), getRelAlgInputs(), json_str(), and anonymous_namespace{RelAlgDag.cpp}::parse_scalar_expr().
Referenced by run().
|
inlineprivate |
Definition at line 2934 of file RelAlgDag.cpp.
References cat(), CHECK, anonymous_namespace{RelAlgDag.cpp}::check_empty_inputs_field(), anonymous_namespace{RelAlgDag.cpp}::getCatalogAndTableFromScanNode(), anonymous_namespace{RelAlgDag.cpp}::getFieldNamesFromScanNode(), and getRelAlgHints().
Referenced by run().
|
inlineprivate |
Definition at line 3207 of file RelAlgDag.cpp.
References CHECK, field(), and getRelAlgInputs().
Referenced by run().
|
inlineprivate |
Definition at line 3227 of file RelAlgDag.cpp.
Referenced by parseHintString().
|
inlineprivate |
Definition at line 3295 of file RelAlgDag.cpp.
References field(), json_str(), and parseHintString().
Referenced by dispatchAggregate(), dispatchJoin(), dispatchProject(), and dispatchTableScan().
|
inlineprivate |
Definition at line 3215 of file RelAlgDag.cpp.
References field(), nodes_, prev(), and anonymous_namespace{RelAlgDag.cpp}::strings_from_json_array().
Referenced by dispatchAggregate(), dispatchFilter(), dispatchJoin(), dispatchModify(), dispatchProject(), dispatchSort(), dispatchTableFunction(), and dispatchUnion().
|
inlineprivate |
Definition at line 3237 of file RelAlgDag.cpp.
References CHECK, getKVOptionPair(), and RegisteredQueryHint::translateQueryHint().
Referenced by getRelAlgHints().
|
inlineprivate |
Definition at line 3346 of file RelAlgDag.cpp.
References CHECK, CHECK_EQ, anonymous_namespace{RelAlgDag.cpp}::node_id(), and nodes_.
Referenced by getRelAlgInputs().
|
inline |
Definition at line 2894 of file RelAlgDag.cpp.
References CHECK, CHECK_EQ, dispatchAggregate(), dispatchFilter(), dispatchJoin(), dispatchLogicalValues(), dispatchModify(), dispatchProject(), dispatchSort(), dispatchTableFunction(), dispatchTableScan(), dispatchUnion(), field(), json_str(), anonymous_namespace{RelAlgDag.cpp}::node_id(), and nodes_.
Referenced by RelAlgDagBuilder::build().
|
private |
Definition at line 3353 of file RelAlgDag.cpp.
Referenced by getRelAlgInputs(), prev(), and run().