Class details::RelAlgDispatcher

class RelAlgDispatcher

Public Functions

RelAlgDispatcher(const Catalog_Namespace::Catalog &cat)
std::vector<std::shared_ptr<RelAlgNode>> run(const rapidjson::Value &rels, RelAlgDagBuilder &root_dag_builder)

Private 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 Members

const Catalog_Namespace::Catalog &cat_
std::vector<std::shared_ptr<RelAlgNode>> nodes_