Class QueryPlanDagExtractor¶
-
class
QueryPlanDagExtractor¶ Public Functions
-
QueryPlanDagExtractor(QueryPlanDagCache &global_dag, std::unordered_map<unsigned, JoinQualsPerNestingLevel> left_deep_tree_infos, Executor *executor, bool analyze_join_ops)¶
-
HashTableBuildDagMap
getHashTableBuildDag()¶
-
const JoinQualsPerNestingLevel *
getPerNestingJoinQualInfo(std::optional<unsigned> left_deep_join_tree_id)¶
-
bool
isDagExtractionAvailable()¶
-
std::string
getExtractedQueryPlanDagStr(size_t start_pos = 0)¶
-
std::vector<InnerOuterOrLoopQual>
normalizeColumnsPair(const Analyzer::BinOper *condition)¶
-
bool
isEmptyQueryPlanDag(const std::string &dag)¶
-
TableIdToNodeMap
getTableIdToNodeMap()¶
-
void
addTableIdToNodeLink(const int table_id, const RelAlgNode *node)¶
-
void
clearInternalStatus()¶
Public Static Functions
-
ExtractedJoinInfo
extractJoinInfo(const RelAlgNode *top_node, std::optional<unsigned> left_deep_tree_id, std::unordered_map<unsigned, JoinQualsPerNestingLevel> left_deep_tree_infos, Executor *executor)¶
-
ExtractedQueryPlanDag
extractQueryPlanDag(const RelAlgNode *top_node, Executor *executor)¶
Private Functions
-
void
visit(const RelAlgNode *parent_node, const RelAlgNode *child_node)¶
-
void
register_and_visit(const RelAlgNode *parent_node, const RelAlgNode *child_node)¶
-
void
handleLeftDeepJoinTree(const RelAlgNode *parent_node, const RelLeftDeepInnerJoin *rel_left_deep_join)¶
-
void
handleTranslatedJoin(const RelAlgNode *parent_node, const RelTranslatedJoin *rel_trans_join)¶
-
bool
validateNodeId(const RelAlgNode *node, std::optional<RelNodeId> retrieved_node_id)¶
-
bool
registerNodeToDagCache(const RelAlgNode *parent_node, const RelAlgNode *child_node, std::optional<RelNodeId> retrieved_node_id)¶
Private Members
-
QueryPlanDagCache &
global_dag_¶
-
bool
contain_not_supported_rel_node_¶
-
std::unordered_map<unsigned, JoinQualsPerNestingLevel>
left_deep_tree_infos_¶
-
bool
analyze_join_ops_¶
-
std::shared_ptr<TranslatedJoinInfo>
translated_join_info_¶
-
HashTableBuildDagMap
hash_table_query_plan_dag_¶
-
TableIdToNodeMap
table_id_to_node_map_¶
-
std::vector<std::string>
extracted_dag_¶
Private Static Functions
-
void
extractQueryPlanDagImpl(const RelAlgNode *top_npde, QueryPlanDagExtractor &dag_extractor)¶
-