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)¶
-