OmniSciDB
1dac507f6e
|
Classes | |
class | CalciteAdapter |
struct | LogicalSortInfo |
Functions | |
ssize_t | get_agg_operand_idx (const rapidjson::Value &expr) |
std::tuple< const rapidjson::Value *, SQLTypeInfo, SQLTypeInfo > | parse_literal (const rapidjson::Value &expr) |
std::shared_ptr< Analyzer::Expr > | set_transient_dict (const std::shared_ptr< Analyzer::Expr > expr) |
void | reproject_target_entries (std::vector< std::shared_ptr< Analyzer::TargetEntry >> &agg_targets, const std::vector< size_t > &result_proj_indices, const rapidjson::Value &fields) |
LogicalSortInfo | get_logical_sort_info (const rapidjson::Value &rels) |
Planner::Scan * | get_scan_plan (const TableDescriptor *td, const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &scan_targets, std::list< std::shared_ptr< Analyzer::Expr >> &q, std::list< std::shared_ptr< Analyzer::Expr >> &sq, CalciteAdapter &calcite_adapter) |
Planner::Plan * | get_agg_plan (const TableDescriptor *td, const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &scan_targets, const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &agg_targets, const std::list< std::shared_ptr< Analyzer::Expr >> &groupby_exprs, std::list< std::shared_ptr< Analyzer::Expr >> &q, std::list< std::shared_ptr< Analyzer::Expr >> &sq, CalciteAdapter &calcite_adapter) |
Planner::Plan * | get_sort_plan (Planner::Plan *plan, const rapidjson::Value &rels, const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &scan_targets, const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &agg_targets) |
std::vector< size_t > | collect_reproject_indices (const rapidjson::Value &exprs) |
std::vector< std::shared_ptr < Analyzer::TargetEntry > > | get_input_targets (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &in_targets, const rapidjson::Value &exprs, const rapidjson::Value &fields, CalciteAdapter &calcite_adapter) |
bool | needs_result_plan (const rapidjson::Value &exprs) |
std::vector< std::shared_ptr < Analyzer::TargetEntry > > | build_var_refs (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &in_targets) |
std::vector< std::shared_ptr < Analyzer::TargetEntry > > | build_result_plan_targets (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &in_targets, const rapidjson::Value &exprs, const rapidjson::Value &fields, CalciteAdapter &calcite_adapter) |
bool | targets_are_refs (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &in_targets) |
std::vector< std::shared_ptr < Analyzer::TargetEntry > > | handle_logical_project (std::vector< std::shared_ptr< Analyzer::TargetEntry >> &child_plan_targets, const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &in_targets, const rapidjson::Value &logical_project, CalciteAdapter &calcite_adapter) |
std::vector< std::shared_ptr < Analyzer::TargetEntry > > | handle_logical_aggregate (const std::vector< std::shared_ptr< Analyzer::TargetEntry >> &in_targets, std::list< std::shared_ptr< Analyzer::Expr >> &groupby_exprs, const rapidjson::Value &logical_aggregate, CalciteAdapter &calcite_adapter) |
void | add_quals (const std::shared_ptr< Analyzer::Expr > qual_expr, std::list< std::shared_ptr< Analyzer::Expr >> &simple_quals, std::list< std::shared_ptr< Analyzer::Expr >> &quals) |
void | collect_used_columns (std::vector< std::shared_ptr< Analyzer::ColumnVar >> &used_cols, const std::shared_ptr< Analyzer::Expr > expr) |
std::unordered_set< int > | get_used_table_ids (const std::vector< std::shared_ptr< Analyzer::ColumnVar >> &used_cols) |
void | separate_join_quals (std::unordered_map< int, std::list< std::shared_ptr< Analyzer::Expr >>> &quals, std::list< std::shared_ptr< Analyzer::Expr >> &join_quals, const std::list< std::shared_ptr< Analyzer::Expr >> &all_quals) |
const std::string | get_op_name (const rapidjson::Value &obj) |
bool | match_compound_seq (rapidjson::Value::ConstValueIterator &rels_it, const rapidjson::Value::ConstValueIterator rels_end) |
bool | match_filter_project_seq (rapidjson::Value::ConstValueIterator &rels_it, const rapidjson::Value::ConstValueIterator rels_end) |
bool | match_sort_seq (rapidjson::Value::ConstValueIterator &rels_it, const rapidjson::Value::ConstValueIterator rels_end) |
bool | query_is_supported (const rapidjson::Value &rels) |
std::string | pg_shim_impl (const std::string &query) |
void anonymous_namespace{CalciteAdapter.cpp}::add_quals | ( | const std::shared_ptr< Analyzer::Expr > | qual_expr, |
std::list< std::shared_ptr< Analyzer::Expr >> & | simple_quals, | ||
std::list< std::shared_ptr< Analyzer::Expr >> & | quals | ||
) |
Definition at line 940 of file CalciteAdapter.cpp.
Referenced by translate_query().
std::vector<std::shared_ptr<Analyzer::TargetEntry> > anonymous_namespace{CalciteAdapter.cpp}::build_result_plan_targets | ( | const std::vector< std::shared_ptr< Analyzer::TargetEntry >> & | in_targets, |
const rapidjson::Value & | exprs, | ||
const rapidjson::Value & | fields, | ||
CalciteAdapter & | calcite_adapter | ||
) |
Definition at line 833 of file CalciteAdapter.cpp.
References build_var_refs(), CHECK(), CHECK_EQ, anonymous_namespace{CalciteAdapter.cpp}::CalciteAdapter::getExprFromNode(), and run_benchmark_import::result.
Referenced by handle_logical_project().
std::vector<std::shared_ptr<Analyzer::TargetEntry> > anonymous_namespace{CalciteAdapter.cpp}::build_var_refs | ( | const std::vector< std::shared_ptr< Analyzer::TargetEntry >> & | in_targets | ) |
Definition at line 820 of file CalciteAdapter.cpp.
References Analyzer::Var::kINPUT_OUTER, and var_ref().
Referenced by build_result_plan_targets(), and translate_query().
std::vector<size_t> anonymous_namespace{CalciteAdapter.cpp}::collect_reproject_indices | ( | const rapidjson::Value & | exprs | ) |
Definition at line 774 of file CalciteAdapter.cpp.
References CHECK().
Referenced by handle_logical_project().
void anonymous_namespace{CalciteAdapter.cpp}::collect_used_columns | ( | std::vector< std::shared_ptr< Analyzer::ColumnVar >> & | used_cols, |
const std::shared_ptr< Analyzer::Expr > | expr | ||
) |
Definition at line 963 of file CalciteAdapter.cpp.
Referenced by separate_join_quals().
ssize_t anonymous_namespace{CalciteAdapter.cpp}::get_agg_operand_idx | ( | const rapidjson::Value & | expr | ) |
Definition at line 35 of file CalciteAdapter.cpp.
References CHECK().
Referenced by anonymous_namespace{CalciteAdapter.cpp}::CalciteAdapter::translateAggregate().
Planner::Plan* anonymous_namespace{CalciteAdapter.cpp}::get_agg_plan | ( | const TableDescriptor * | td, |
const std::vector< std::shared_ptr< Analyzer::TargetEntry >> & | scan_targets, | ||
const std::vector< std::shared_ptr< Analyzer::TargetEntry >> & | agg_targets, | ||
const std::list< std::shared_ptr< Analyzer::Expr >> & | groupby_exprs, | ||
std::list< std::shared_ptr< Analyzer::Expr >> & | q, | ||
std::list< std::shared_ptr< Analyzer::Expr >> & | sq, | ||
CalciteAdapter & | calcite_adapter | ||
) |
Definition at line 744 of file CalciteAdapter.cpp.
References get_scan_plan().
std::vector<std::shared_ptr<Analyzer::TargetEntry> > anonymous_namespace{CalciteAdapter.cpp}::get_input_targets | ( | const std::vector< std::shared_ptr< Analyzer::TargetEntry >> & | in_targets, |
const rapidjson::Value & | exprs, | ||
const rapidjson::Value & | fields, | ||
CalciteAdapter & | calcite_adapter | ||
) |
Definition at line 784 of file CalciteAdapter.cpp.
References CHECK(), CHECK_EQ, anonymous_namespace{CalciteAdapter.cpp}::CalciteAdapter::getExprFromNode(), and run_benchmark_import::result.
Referenced by handle_logical_project().
LogicalSortInfo anonymous_namespace{CalciteAdapter.cpp}::get_logical_sort_info | ( | const rapidjson::Value & | rels | ) |
Definition at line 658 of file CalciteAdapter.cpp.
References CHECK(), CHECK_EQ, anonymous_namespace{CalciteAdapter.cpp}::LogicalSortInfo::limit, anonymous_namespace{CalciteAdapter.cpp}::LogicalSortInfo::offset, anonymous_namespace{CalciteAdapter.cpp}::LogicalSortInfo::order_entries, parse_literal(), and run_benchmark_import::result.
Referenced by get_sort_plan().
const std::string anonymous_namespace{CalciteAdapter.cpp}::get_op_name | ( | const rapidjson::Value & | obj | ) |
Definition at line 1042 of file CalciteAdapter.cpp.
References CHECK(), and field().
Referenced by match_compound_seq(), match_filter_project_seq(), match_sort_seq(), and query_is_supported().
Planner::Scan* anonymous_namespace{CalciteAdapter.cpp}::get_scan_plan | ( | const TableDescriptor * | td, |
const std::vector< std::shared_ptr< Analyzer::TargetEntry >> & | scan_targets, | ||
std::list< std::shared_ptr< Analyzer::Expr >> & | q, | ||
std::list< std::shared_ptr< Analyzer::Expr >> & | sq, | ||
CalciteAdapter & | calcite_adapter | ||
) |
Definition at line 729 of file CalciteAdapter.cpp.
References anonymous_namespace{CalciteAdapter.cpp}::CalciteAdapter::getUsedColumnList(), and TableDescriptor::tableId.
Referenced by get_agg_plan().
Planner::Plan* anonymous_namespace{CalciteAdapter.cpp}::get_sort_plan | ( | Planner::Plan * | plan, |
const rapidjson::Value & | rels, | ||
const std::vector< std::shared_ptr< Analyzer::TargetEntry >> & | scan_targets, | ||
const std::vector< std::shared_ptr< Analyzer::TargetEntry >> & | agg_targets | ||
) |
Definition at line 759 of file CalciteAdapter.cpp.
References get_logical_sort_info().
std::unordered_set<int> anonymous_namespace{CalciteAdapter.cpp}::get_used_table_ids | ( | const std::vector< std::shared_ptr< Analyzer::ColumnVar >> & | used_cols | ) |
Definition at line 1015 of file CalciteAdapter.cpp.
References run_benchmark_import::result.
Referenced by separate_join_quals().
std::vector<std::shared_ptr<Analyzer::TargetEntry> > anonymous_namespace{CalciteAdapter.cpp}::handle_logical_aggregate | ( | const std::vector< std::shared_ptr< Analyzer::TargetEntry >> & | in_targets, |
std::list< std::shared_ptr< Analyzer::Expr >> & | groupby_exprs, | ||
const rapidjson::Value & | logical_aggregate, | ||
CalciteAdapter & | calcite_adapter | ||
) |
Definition at line 893 of file CalciteAdapter.cpp.
References CHECK(), CHECK_EQ, anonymous_namespace{CalciteAdapter.cpp}::CalciteAdapter::getExprFromNode(), is_unnest(), Analyzer::Var::kGROUPBY, kUNNEST, run_benchmark_import::result, set_transient_dict(), and var_ref().
Referenced by translate_query().
std::vector<std::shared_ptr<Analyzer::TargetEntry> > anonymous_namespace{CalciteAdapter.cpp}::handle_logical_project | ( | std::vector< std::shared_ptr< Analyzer::TargetEntry >> & | child_plan_targets, |
const std::vector< std::shared_ptr< Analyzer::TargetEntry >> & | in_targets, | ||
const rapidjson::Value & | logical_project, | ||
CalciteAdapter & | calcite_adapter | ||
) |
Definition at line 865 of file CalciteAdapter.cpp.
References build_result_plan_targets(), CHECK(), collect_reproject_indices(), get_input_targets(), needs_result_plan(), reproject_target_entries(), run_benchmark_import::result, and targets_are_refs().
Referenced by translate_query().
bool anonymous_namespace{CalciteAdapter.cpp}::match_compound_seq | ( | rapidjson::Value::ConstValueIterator & | rels_it, |
const rapidjson::Value::ConstValueIterator | rels_end | ||
) |
Definition at line 1051 of file CalciteAdapter.cpp.
References get_op_name().
Referenced by query_is_supported().
bool anonymous_namespace{CalciteAdapter.cpp}::match_filter_project_seq | ( | rapidjson::Value::ConstValueIterator & | rels_it, |
const rapidjson::Value::ConstValueIterator | rels_end | ||
) |
Definition at line 1078 of file CalciteAdapter.cpp.
References CHECK(), and get_op_name().
Referenced by query_is_supported().
bool anonymous_namespace{CalciteAdapter.cpp}::match_sort_seq | ( | rapidjson::Value::ConstValueIterator & | rels_it, |
const rapidjson::Value::ConstValueIterator | rels_end | ||
) |
Definition at line 1091 of file CalciteAdapter.cpp.
References get_op_name().
Referenced by query_is_supported().
bool anonymous_namespace{CalciteAdapter.cpp}::needs_result_plan | ( | const rapidjson::Value & | exprs | ) |
Definition at line 809 of file CalciteAdapter.cpp.
References CHECK().
Referenced by handle_logical_project().
std::tuple<const rapidjson::Value*, SQLTypeInfo, SQLTypeInfo> anonymous_namespace{CalciteAdapter.cpp}::parse_literal | ( | const rapidjson::Value & | expr | ) |
Definition at line 44 of file CalciteAdapter.cpp.
References CHECK(), and to_sql_type().
Referenced by anonymous_namespace{RelAlgAbstractInterpreter.cpp}::get_int_literal_field(), get_logical_sort_info(), anonymous_namespace{RelAlgAbstractInterpreter.cpp}::parse_scalar_expr(), and anonymous_namespace{CalciteAdapter.cpp}::CalciteAdapter::translateTypedLiteral().
std::string anonymous_namespace{CalciteAdapter.cpp}::pg_shim_impl | ( | const std::string & | query | ) |
Definition at line 1320 of file CalciteAdapter.cpp.
References apply_shim(), LOG, run_benchmark_import::result, and logger::WARNING.
Referenced by pg_shim().
bool anonymous_namespace{CalciteAdapter.cpp}::query_is_supported | ( | const rapidjson::Value & | rels | ) |
Definition at line 1113 of file CalciteAdapter.cpp.
References CHECK(), get_op_name(), match_compound_seq(), match_filter_project_seq(), and match_sort_seq().
Referenced by translate_query().
void anonymous_namespace{CalciteAdapter.cpp}::reproject_target_entries | ( | std::vector< std::shared_ptr< Analyzer::TargetEntry >> & | agg_targets, |
const std::vector< size_t > & | result_proj_indices, | ||
const rapidjson::Value & | fields | ||
) |
Definition at line 628 of file CalciteAdapter.cpp.
References CHECK(), CHECK_EQ, and CHECK_LT.
Referenced by handle_logical_project().
void anonymous_namespace{CalciteAdapter.cpp}::separate_join_quals | ( | std::unordered_map< int, std::list< std::shared_ptr< Analyzer::Expr >>> & | quals, |
std::list< std::shared_ptr< Analyzer::Expr >> & | join_quals, | ||
const std::list< std::shared_ptr< Analyzer::Expr >> & | all_quals | ||
) |
Definition at line 1024 of file CalciteAdapter.cpp.
References CHECK(), CHECK_EQ, collect_used_columns(), and get_used_table_ids().
std::shared_ptr<Analyzer::Expr> anonymous_namespace{CalciteAdapter.cpp}::set_transient_dict | ( | const std::shared_ptr< Analyzer::Expr > | expr | ) |
Definition at line 78 of file CalciteAdapter.cpp.
References kENCODING_DICT, kENCODING_NONE, and TRANSIENT_DICT_ID.
Referenced by handle_logical_aggregate(), anonymous_namespace{RelAlgExecutor.cpp}::set_transient_dict_maybe(), anonymous_namespace{RelAlgExecutor.cpp}::translate_groupby_exprs(), and anonymous_namespace{RelAlgExecutor.cpp}::translate_targets().
bool anonymous_namespace{CalciteAdapter.cpp}::targets_are_refs | ( | const std::vector< std::shared_ptr< Analyzer::TargetEntry >> & | in_targets | ) |
Definition at line 854 of file CalciteAdapter.cpp.
References CHECK().
Referenced by handle_logical_project().