OmniSciDB
a5dc49c757
|
#include <Analyzer.h>
Public Member Functions | |
ColumnVar (const SQLTypeInfo &ti, const shared::ColumnKey &column_key, int32_t rte_idx) | |
const shared::ColumnKey & | getColumnKey () const |
shared::TableKey | getTableKey () const |
int32_t | get_rte_idx () const |
void | set_rte_idx (int32_t new_rte_idx) |
EncodingType | get_compression () 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< int32_t > &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 |
Public Member Functions inherited from Analyzer::Expr | |
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 | collect_rte_idx (std::set< int > &rte_idx_set) const |
virtual size_t | get_num_column_vars (const bool include_agg) const |
virtual void | print () const |
virtual void | add_unique (std::list< const Expr * > &expr_list) const |
virtual void | find_expr (std::function< bool(const Expr *)> f, 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 | |
shared::ColumnKey | column_key_ |
int32_t | rte_idx_ |
Protected Attributes inherited from Analyzer::Expr | |
SQLTypeInfo | type_info |
bool | contains_agg |
Definition at line 194 of file Analyzer.h.
|
inline |
Definition at line 196 of file Analyzer.h.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 1510 of file Analyzer.cpp.
References column_key_.
|
inlineoverridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 222 of file Analyzer.h.
Referenced by anonymous_namespace{GroupByAndAggregate.cpp}::init_count_distinct_descriptors(), and RelAlgTranslator::translateWindowFunction().
|
inlineoverride |
|
inlinestatic |
Definition at line 215 of file Analyzer.h.
References CHECK, and column_key_.
Referenced by Analyzer::Expr::get_num_column_vars(), Analyzer::StringOper::hasSingleDictEncodedColInput(), anonymous_namespace{GroupByAndAggregate.cpp}::init_count_distinct_descriptors(), anonymous_namespace{GeoIR.cpp}::mark_logical_column_to_fetch(), RelAlgTranslator::translateWindowFunction(), and anonymous_namespace{FromTableReordering.cpp}::traverse_join_cost_graph().
|
overridevirtual |
Implements Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 66 of file Analyzer.cpp.
References column_key_, rte_idx_, and Analyzer::Expr::type_info.
Referenced by rewrite_with_targetlist(), DeepCopyVisitor::visitColumnVar(), and anonymous_namespace{ScalarCodeGenerator.cpp}::UsedColumnExpressions::visitColumnVar().
|
inline |
Definition at line 204 of file Analyzer.h.
References SQLTypeInfo::get_compression(), and Analyzer::Expr::type_info.
Referenced by anonymous_namespace{ColumnIR.cpp}::get_col_decoder().
|
inline |
Definition at line 202 of file Analyzer.h.
References rte_idx_.
Referenced by anonymous_namespace{ColumnIR.cpp}::adjusted_range_table_index(), CodeGenerator::codegenColumn(), CodeGenerator::codegenGeoColumnVar(), 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(), self_join_not_covered_by_left_deep_tree(), anonymous_namespace{ScalarCodeGenerator.cpp}::UsedColumnExpressions::visitColumnVar(), MaxRangeTableIndexVisitor::visitColumnVar(), and AllRangeTableIndexVisitor::visitColumnVar().
|
inline |
Definition at line 198 of file Analyzer.h.
References column_key_.
Referenced by Parser::QuerySpec::analyze_select_clause(), apply_simple_quals(), Executor::canSkipFragmentForFpQual(), CodeGenerator::codegenColVar(), CodeGenerator::codegenGeoColumnVar(), PerfectJoinHashTable::genChunkKey(), Executor::getColumnDescriptor(), getExpressionRange(), getLeafColumnRange(), PlanState::getLocalColumnId(), ColumnFetcher::getOneColumnFragment(), Executor::getPhysicalColumnDescriptor(), anonymous_namespace{ArithmeticIR.cpp}::is_temporary_column(), PlanState::isLazyFetchColumn(), anonymous_namespace{ExecutionKernel.cpp}::need_to_hold_chunk(), operator==(), CodeGenerator::resolveGroupedColumnReference(), rewrite_agg_to_var(), rewrite_with_child_targetlist(), rewrite_with_targetlist(), GroupByAndAggregate::shard_count_for_top_groups(), translate_bounding_box_intersect_with_reordering(), QueryPlanDagCache::translateColVarsToInfoHash(), anonymous_namespace{JoinFilterPushDown.cpp}::BindFilterToOutermostVisitor::visitColumnVar(), anonymous_namespace{ScalarCodeGenerator.cpp}::UsedColumnExpressions::visitColumnVar(), UsedColumnsVisitor::visitColumnVar(), ScalarExprToSql::visitColumnVar(), and anonymous_namespace{JoinFilterPushDown.cpp}::CollectInputColumnsVisitor::visitColumnVar().
|
inline |
Definition at line 199 of file Analyzer.h.
References column_key_, shared::ColumnKey::db_id, and shared::ColumnKey::table_id.
Referenced by CodeGenerator::codegenRowId(), PerfectJoinHashTable::getInnerQueryInfo(), getLeafColumnRange(), and self_join_not_covered_by_left_deep_tree().
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 1620 of file Analyzer.cpp.
References SQLTypeInfo::get_type(), kBOOLEAN, and Analyzer::Expr::type_info.
|
overridevirtual |
Implements Analyzer::Expr.
Definition at line 2262 of file Analyzer.cpp.
References column_key_, get_rte_idx(), Analyzer::Var::get_varno(), Analyzer::Var::get_which_row(), getColumnKey(), and rte_idx_.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 2000 of file Analyzer.cpp.
References column_key_, get_rte_idx(), Analyzer::Expr::get_type_info(), getColumnKey(), and Analyzer::Var::kINPUT_OUTER.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 1977 of file Analyzer.cpp.
References column_key_, get_rte_idx(), Analyzer::Expr::get_type_info(), getColumnKey(), and Analyzer::Var::kINPUT_OUTER.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 1963 of file Analyzer.cpp.
References column_key_, deep_copy(), and getColumnKey().
|
inline |
|
overridevirtual |
Implements Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 2717 of file Analyzer.cpp.
References column_key_, Analyzer::Expr::get_type_info(), SQLTypeInfo::get_type_name(), rte_idx_, to_string(), SQLTypeInfo::toString(), and Analyzer::Expr::type_info.
Referenced by CodeGenerator::codegenColVar(), CodeGenerator::codegenGeoColumnVar(), and PerfectJoinHashTable::getAlternativeCacheKey().
|
protected |
Definition at line 239 of file Analyzer.h.
Referenced by check_group_by(), colvar_comp(), deep_copy(), Analyzer::Var::deep_copy(), getColumnKey(), getTableKey(), operator==(), rewrite_agg_to_var(), rewrite_with_child_targetlist(), rewrite_with_targetlist(), toString(), and Analyzer::Var::toString().
|
protected |
Definition at line 240 of file Analyzer.h.
Referenced by collect_rte_idx(), deep_copy(), Analyzer::Var::deep_copy(), get_rte_idx(), operator==(), set_rte_idx(), toString(), and Analyzer::Var::toString().