OmniSciDB
b24e664e58
|
#include <Analyzer.h>
Public Member Functions | |
ColumnVar (const SQLTypeInfo &ti, int r, int c, int i) | |
int | get_table_id () const |
int | get_column_id () const |
int | get_rte_idx () const |
EncodingType | get_compression () const |
int | get_comp_param () const |
void | check_group_by (const std::list< std::shared_ptr< Analyzer::Expr >> &groupby) const override |
std::shared_ptr< Analyzer::Expr > | deep_copy () const override |
void | group_predicates (std::list< const Expr * > &scan_predicates, std::list< const Expr * > &join_predicates, std::list< const Expr * > &const_predicates) const override |
void | collect_rte_idx (std::set< int > &rte_idx_set) const override |
void | collect_column_var (std::set< const ColumnVar *, bool(*)(const ColumnVar *, const ColumnVar *)> &colvar_set, bool include_agg) const override |
std::shared_ptr< Analyzer::Expr > | rewrite_with_targetlist (const std::vector< std::shared_ptr< TargetEntry >> &tlist) const override |
std::shared_ptr< Analyzer::Expr > | rewrite_with_child_targetlist (const std::vector< std::shared_ptr< TargetEntry >> &tlist) const override |
std::shared_ptr< Analyzer::Expr > | rewrite_agg_to_var (const std::vector< std::shared_ptr< TargetEntry >> &tlist) const override |
bool | operator== (const Expr &rhs) const override |
std::string | toString () const override |
![]() | |
Expr (SQLTypes t, bool notnull) | |
Expr (SQLTypes t, int d, bool notnull) | |
Expr (SQLTypes t, int d, int s, bool notnull) | |
Expr (const SQLTypeInfo &ti, bool has_agg=false) | |
virtual | ~Expr () |
std::shared_ptr< Analyzer::Expr > | get_shared_ptr () |
const SQLTypeInfo & | get_type_info () const |
void | set_type_info (const SQLTypeInfo &ti) |
bool | get_contains_agg () const |
void | set_contains_agg (bool a) |
virtual std::shared_ptr < Analyzer::Expr > | add_cast (const SQLTypeInfo &new_type_info) |
virtual std::shared_ptr < Analyzer::Expr > | normalize_simple_predicate (int &rte_idx) const |
virtual void | print () const |
virtual void | add_unique (std::list< const Expr * > &expr_list) const |
virtual void | find_expr (bool(*f)(const Expr *), std::list< const Expr * > &expr_list) const |
std::shared_ptr< Analyzer::Expr > | decompress () |
virtual void | get_domain (DomainSet &domain_set) const |
Static Public Member Functions | |
static bool | colvar_comp (const ColumnVar *l, const ColumnVar *r) |
Protected Attributes | |
int | table_id |
int | column_id |
int | rte_idx |
![]() | |
SQLTypeInfo | type_info |
bool | contains_agg |
Definition at line 190 of file Analyzer.h.
|
inline |
Definition at line 192 of file Analyzer.h.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 1278 of file Analyzer.cpp.
References column_id, and table_id.
|
inlineoverridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 213 of file Analyzer.h.
Referenced by Planner::Optimizer::optimize_scans().
|
inlineoverridevirtual |
Reimplemented from Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 205 of file Analyzer.h.
References rte_idx.
|
inlinestatic |
Definition at line 208 of file Analyzer.h.
References get_column_id(), and get_table_id().
Referenced by Planner::Optimizer::optimize_aggs(), and Planner::Optimizer::optimize_scans().
|
overridevirtual |
Implements Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 59 of file Analyzer.cpp.
References column_id, rte_idx, table_id, and Analyzer::Expr::type_info.
Referenced by rewrite_with_targetlist(), DeepCopyVisitor::visitColumnVar(), and anonymous_namespace{ScalarCodeGenerator.cpp}::UsedColumnExpressions::visitColumnVar().
|
inline |
Definition at line 195 of file Analyzer.h.
References column_id.
Referenced by apply_simple_quals(), CodeGenerator::codegenColVar(), colvar_comp(), JoinHashTable::genHashTableKey(), BaselineJoinHashTable::getAllColumnFragments(), Executor::getColumnDescriptor(), getExpressionRange(), getLeafColumnRange(), PlanState::getLocalColumnId(), ColumnFetcher::getOneColumnFragment(), Executor::getPhysicalColumnDescriptor(), needs_dictionary_translation(), operator==(), CodeGenerator::resolveGroupedColumnReference(), rewrite_agg_to_var(), rewrite_with_child_targetlist(), rewrite_with_targetlist(), UsedColumnsVisitor::visitColumnVar(), anonymous_namespace{ScalarCodeGenerator.cpp}::UsedColumnExpressions::visitColumnVar(), anonymous_namespace{JoinFilterPushDown.cpp}::BindFilterToOutermostVisitor::visitColumnVar(), and anonymous_namespace{JoinFilterPushDown.cpp}::CollectInputColumnsVisitor::visitColumnVar().
|
inline |
Definition at line 198 of file Analyzer.h.
References SQLTypeInfoCore< TYPE_FACET_PACK >::get_comp_param(), and Analyzer::Expr::type_info.
Referenced by anonymous_namespace{ColumnIR.cpp}::get_col_decoder().
|
inline |
Definition at line 197 of file Analyzer.h.
References SQLTypeInfoCore< TYPE_FACET_PACK >::get_compression(), and Analyzer::Expr::type_info.
Referenced by anonymous_namespace{ColumnIR.cpp}::get_col_decoder().
|
inline |
Definition at line 196 of file Analyzer.h.
References rte_idx.
Referenced by anonymous_namespace{ColumnIR.cpp}::adjusted_range_table_index(), CodeGenerator::codegenColumn(), CodeGenerator::codegenOuterJoinNullPlaceholder(), CodeGenerator::codegenRowId(), getExpressionRange(), PlanState::getLocalColumnId(), CodeGenerator::hashJoinLhsTuple(), Analyzer::BinOper::normalize_simple_predicate(), operator==(), CodeGenerator::resolveGroupedColumnReference(), rewrite_agg_to_var(), rewrite_with_child_targetlist(), anonymous_namespace{ScalarCodeGenerator.cpp}::UsedColumnExpressions::visitColumnVar(), MaxRangeTableIndexVisitor::visitColumnVar(), and AllRangeTableIndexVisitor::visitColumnVar().
|
inline |
Definition at line 194 of file Analyzer.h.
References table_id.
Referenced by apply_simple_quals(), CodeGenerator::codegenColVar(), CodeGenerator::codegenRowId(), colvar_comp(), JoinHashTable::genHashTableKey(), BaselineJoinHashTable::getAllColumnFragments(), Executor::getColumnDescriptor(), getExpressionRange(), JoinHashTable::getInnerQueryInfo(), getLeafColumnRange(), PlanState::getLocalColumnId(), ColumnFetcher::getOneColumnFragment(), Executor::getPhysicalColumnDescriptor(), anonymous_namespace{ArithmeticIR.cpp}::is_temporary_column(), needs_dictionary_translation(), operator==(), CodeGenerator::resolveGroupedColumnReference(), rewrite_agg_to_var(), rewrite_with_child_targetlist(), rewrite_with_targetlist(), var_ref(), anonymous_namespace{JoinFilterPushDown.cpp}::BindFilterToOutermostVisitor::visitColumnVar(), anonymous_namespace{ScalarCodeGenerator.cpp}::UsedColumnExpressions::visitColumnVar(), and anonymous_namespace{JoinFilterPushDown.cpp}::CollectInputColumnsVisitor::visitColumnVar().
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 1388 of file Analyzer.cpp.
References SQLTypeInfoCore< TYPE_FACET_PACK >::get_type(), kBOOLEAN, and Analyzer::Expr::type_info.
|
overridevirtual |
Implements Analyzer::Expr.
Definition at line 1943 of file Analyzer.cpp.
References column_id, get_column_id(), get_rte_idx(), get_table_id(), Analyzer::Var::get_varno(), Analyzer::Var::get_which_row(), rte_idx, and table_id.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 1707 of file Analyzer.cpp.
References column_id, get_column_id(), get_rte_idx(), get_table_id(), Analyzer::Expr::get_type_info(), Analyzer::Var::kINPUT_OUTER, and table_id.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 1683 of file Analyzer.cpp.
References column_id, get_column_id(), get_rte_idx(), get_table_id(), Analyzer::Expr::get_type_info(), Analyzer::Var::kINPUT_OUTER, and table_id.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 1669 of file Analyzer.cpp.
References column_id, deep_copy(), get_column_id(), get_table_id(), and table_id.
|
overridevirtual |
Implements Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 2281 of file Analyzer.cpp.
References column_id, Analyzer::Expr::get_type_info(), SQLTypeInfoCore< TYPE_FACET_PACK >::get_type_name(), rte_idx, table_id, and to_string().
|
protected |
Definition at line 230 of file Analyzer.h.
Referenced by check_group_by(), deep_copy(), Analyzer::Var::deep_copy(), get_column_id(), operator==(), rewrite_agg_to_var(), rewrite_with_child_targetlist(), rewrite_with_targetlist(), toString(), and Analyzer::Var::toString().
|
protected |
Definition at line 231 of file Analyzer.h.
Referenced by collect_rte_idx(), deep_copy(), Analyzer::Var::deep_copy(), get_rte_idx(), operator==(), toString(), and Analyzer::Var::toString().
|
protected |
Definition at line 229 of file Analyzer.h.
Referenced by check_group_by(), deep_copy(), Analyzer::Var::deep_copy(), get_table_id(), operator==(), rewrite_agg_to_var(), rewrite_with_child_targetlist(), rewrite_with_targetlist(), toString(), and Analyzer::Var::toString().