Class QueryPlanDagCache

class QueryPlanDagCache

Public Functions

QueryPlanDagCache(size_t max_node_cache_size = MAX_NODE_CACHE_SIZE)
QueryPlanDagCache(QueryPlanDagCache &&other)
QueryPlanDagCache &operator=(QueryPlanDagCache &&other)
QueryPlanDagCache(const QueryPlanDagCache&)
QueryPlanDagCache &operator=(const QueryPlanDagCache&)
std::optional<RelNodeId> addNodeIfAbsent(const RelAlgNode *node)
void connectNodes(const RelNodeId parent_id, const RelNodeId child_id)
std::vector<const Analyzer::ColumnVar *> collectColVars(const Analyzer::Expr *target)
size_t getCurrentNodeMapSize() const
void setNodeMapMaxSize(const size_t map_size)
size_t getCurrentNodeMapCardinality() const
size_t getJoinColumnsInfoHash(const Analyzer::Expr *join_expr, JoinColumnSide target_side, bool extract_only_col_id)
size_t translateColVarsToInfoHash(std::vector<const Analyzer::ColumnVar *> &col_vars, bool col_id_only) const
void clearQueryPlanCache()
void printDag()

Private Members

RelNodeMap node_map_
QueryPlanDag cached_query_plan_dag_
size_t max_node_map_size_
std::mutex cache_lock_
ColumnVarsVisitor col_var_visitor_