OmniSciDB
a5dc49c757
|
#include "FromTableReordering.h"
#include "Execute.h"
#include "ExpressionRewrite.h"
#include "RangeTableIndexVisitor.h"
#include "Visitors/GeospatialFunctionFinder.h"
#include <numeric>
#include <queue>
#include <regex>
Go to the source code of this file.
Classes | |
class | anonymous_namespace{FromTableReordering.cpp}::SchedulingDependencyTracking |
struct | anonymous_namespace{FromTableReordering.cpp}::TraversalEdge |
Namespaces | |
anonymous_namespace{FromTableReordering.cpp} | |
Typedefs | |
using | anonymous_namespace{FromTableReordering.cpp}::cost_t = unsigned |
using | anonymous_namespace{FromTableReordering.cpp}::node_t = size_t |
Functions | |
const Analyzer::ColumnVar * | anonymous_namespace{FromTableReordering.cpp}::get_geo_cv (std::vector< const Analyzer::ColumnVar * > const &geo_args, shared::TableKey const &table_key) |
static std::unordered_map < SQLTypes, cost_t > static bool | anonymous_namespace{FromTableReordering.cpp}::force_table_reordering_st_contain_func (std::string_view target_func_name) |
static bool | anonymous_namespace{FromTableReordering.cpp}::force_table_reordering_st_intersects_func (std::string_view target_func_name) |
bool | anonymous_namespace{FromTableReordering.cpp}::should_force_table_reordering (shared::TableKey const &inner_arg_key, SQLTypes const inner_type, shared::TableKey const &outer_arg_key, SQLTypes const outer_type, std::string const &geo_func_name, const std::vector< InputTableInfo > &table_infos) |
std::tuple< cost_t, cost_t, InnerQualDecision > | anonymous_namespace{FromTableReordering.cpp}::get_join_qual_cost (const Analyzer::Expr *qual, const std::vector< InputTableInfo > &table_infos, const Executor *executor) |
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) |
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) |
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) |
std::vector< node_t > | get_node_input_permutation (const JoinQualsPerNestingLevel &left_deep_join_quals, const std::vector< InputTableInfo > &table_infos, const Executor *executor) |
Variables | |
static std::unordered_map < SQLTypes, cost_t > | anonymous_namespace{FromTableReordering.cpp}::GEO_TYPE_COSTS {kPOINT, 60} |
std::vector<node_t> get_node_input_permutation | ( | const JoinQualsPerNestingLevel & | left_deep_join_quals, |
const std::vector< InputTableInfo > & | table_infos, | ||
const Executor * | executor | ||
) |
Definition at line 650 of file FromTableReordering.cpp.
References anonymous_namespace{FromTableReordering.cpp}::build_join_cost_graph(), and anonymous_namespace{FromTableReordering.cpp}::traverse_join_cost_graph().
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::do_table_reordering().