OmniSciDB
f17484ade4
|
Classes | |
class | SchedulingDependencyTracking |
struct | TraversalEdge |
Typedefs | |
using | cost_t = unsigned |
using | node_t = size_t |
Functions | |
static std::unordered_map < SQLTypes, cost_t > std::tuple< cost_t, cost_t, InnerQualDecision > | get_join_qual_cost (const Analyzer::Expr *qual, const Executor *executor) |
std::vector< std::map< node_t, cost_t > > | build_join_cost_graph (const JoinQualsPerNestingLevel &left_deep_join_quals, const std::vector< InputTableInfo > &table_infos, const Executor *executor, std::vector< std::map< node_t, InnerQualDecision >> &qual_detection_res) |
SchedulingDependencyTracking | build_dependency_tracking (const JoinQualsPerNestingLevel &left_deep_join_quals, const std::vector< std::map< node_t, cost_t >> &join_cost_graph) |
std::vector< node_t > | traverse_join_cost_graph (const std::vector< std::map< node_t, cost_t >> &join_cost_graph, const std::vector< InputTableInfo > &table_infos, const std::function< bool(const node_t lhs_nest_level, const node_t rhs_nest_level)> &compare_node, const std::function< bool(const TraversalEdge &, const TraversalEdge &)> &compare_edge, const JoinQualsPerNestingLevel &left_deep_join_quals, std::vector< std::map< node_t, InnerQualDecision >> &qual_normalization_res) |
Variables | |
static std::unordered_map < SQLTypes, cost_t > | GEO_TYPE_COSTS {kPOINT, 60} |
using anonymous_namespace{FromTableReordering.cpp}::cost_t = typedef unsigned |
Definition at line 29 of file FromTableReordering.cpp.
using anonymous_namespace{FromTableReordering.cpp}::node_t = typedef size_t |
Definition at line 30 of file FromTableReordering.cpp.
SchedulingDependencyTracking anonymous_namespace{FromTableReordering.cpp}::build_dependency_tracking | ( | const JoinQualsPerNestingLevel & | left_deep_join_quals, |
const std::vector< std::map< node_t, cost_t >> & | join_cost_graph | ||
) |
Definition at line 266 of file FromTableReordering.cpp.
References anonymous_namespace{FromTableReordering.cpp}::SchedulingDependencyTracking::addEdge(), LEFT, and run_benchmark_import::type.
Referenced by traverse_join_cost_graph().
std::vector<std::map<node_t, cost_t> > anonymous_namespace{FromTableReordering.cpp}::build_join_cost_graph | ( | const JoinQualsPerNestingLevel & | left_deep_join_quals, |
const std::vector< InputTableInfo > & | table_infos, | ||
const Executor * | executor, | ||
std::vector< std::map< node_t, InnerQualDecision >> & | qual_detection_res | ||
) |
Definition at line 190 of file FromTableReordering.cpp.
References CHECK_EQ, CHECK_GE, get_join_qual_cost(), and ScalarExprVisitor< T >::visit().
Referenced by get_node_input_permutation().
static std::unordered_map<SQLTypes, cost_t> std::tuple<cost_t, cost_t, InnerQualDecision> anonymous_namespace{FromTableReordering.cpp}::get_join_qual_cost | ( | const Analyzer::Expr * | qual, |
const Executor * | executor | ||
) |
Definition at line 42 of file FromTableReordering.cpp.
References CHECK, CHECK_NE, GEO_TYPE_COSTS, get_table_cardinality(), Analyzer::Expr::get_type_info(), Analyzer::FunctionOper::getArg(), GeospatialFunctionFinder::getGeoArgCvs(), GeospatialFunctionFinder::getGeoFunctionName(), GeospatialFunctionFinder::getJoinTableKeyPair(), IGNORE, HashJoinFail::inner_qual_decision, is_constructed_point(), IS_EQUIVALENCE, BoundingBoxIntersectJoinSupportedFunction::is_point_poly_rewrite_target_func(), BoundingBoxIntersectJoinSupportedFunction::is_poly_point_rewrite_target_func(), kPOINT, LHS, HashJoin::normalizeColumnPairs(), RHS, UNKNOWN, ScalarExprVisitor< T >::visit(), and VLOG.
Referenced by build_join_cost_graph().
std::vector<node_t> anonymous_namespace{FromTableReordering.cpp}::traverse_join_cost_graph | ( | const std::vector< std::map< node_t, cost_t >> & | join_cost_graph, |
const std::vector< InputTableInfo > & | table_infos, | ||
const std::function< bool(const node_t lhs_nest_level, const node_t rhs_nest_level)> & | compare_node, | ||
const std::function< bool(const TraversalEdge &, const TraversalEdge &)> & | compare_edge, | ||
const JoinQualsPerNestingLevel & | left_deep_join_quals, | ||
std::vector< std::map< node_t, InnerQualDecision >> & | qual_normalization_res | ||
) |
Definition at line 285 of file FromTableReordering.cpp.
References build_dependency_tracking(), CHECK, CHECK_EQ, Analyzer::ColumnVar::colvar_comp(), g_trivial_loop_join_threshold, Analyzer::BinOper::get_own_left_operand(), IGNORE, gpu_enabled::iota(), anonymous_namespace{FromTableReordering.cpp}::TraversalEdge::join_cost, LHS, anonymous_namespace{FromTableReordering.cpp}::TraversalEdge::nest_level, RHS, and VLOG.
Referenced by get_node_input_permutation().
|
static |
Definition at line 32 of file FromTableReordering.cpp.
Referenced by get_join_qual_cost().