OmniSciDB
cde582ebc3
|
#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 |
void | set_rte_idx (int new_rte_idx) |
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 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 (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 196 of file Analyzer.h.
|
inline |
Definition at line 198 of file Analyzer.h.
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 1432 of file Analyzer.cpp.
References column_id, and table_id.
|
inlineoverridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 220 of file Analyzer.h.
Referenced by RelAlgTranslator::translateWindowFunction().
|
inlineoverridevirtual |
Reimplemented from Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 212 of file Analyzer.h.
References rte_idx.
|
inlinestatic |
Definition at line 215 of file Analyzer.h.
References get_column_id(), and get_table_id().
Referenced by Analyzer::Expr::get_num_column_vars(), Analyzer::StringOper::hasSingleDictEncodedColInput(), 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_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 201 of file Analyzer.h.
References column_id.
Referenced by apply_simple_quals(), Executor::canSkipFragmentForFpQual(), CodeGenerator::codegenColVar(), colvar_comp(), PerfectJoinHashTable::genChunkKey(), Executor::getColumnDescriptor(), getExpressionRange(), getLeafColumnRange(), PlanState::getLocalColumnId(), ColumnFetcher::getOneColumnFragment(), Executor::getPhysicalColumnDescriptor(), operator==(), CodeGenerator::resolveGroupedColumnReference(), rewrite_agg_to_var(), rewrite_with_child_targetlist(), rewrite_with_targetlist(), QueryPlanDagCache::translateColVarsToInfoHash(), UsedColumnsVisitor::visitColumnVar(), anonymous_namespace{ScalarCodeGenerator.cpp}::UsedColumnExpressions::visitColumnVar(), anonymous_namespace{JoinFilterPushDown.cpp}::BindFilterToOutermostVisitor::visitColumnVar(), ScalarExprToSql::visitColumnVar(), and anonymous_namespace{JoinFilterPushDown.cpp}::CollectInputColumnsVisitor::visitColumnVar().
|
inline |
Definition at line 205 of file Analyzer.h.
References SQLTypeInfo::get_comp_param(), and Analyzer::Expr::type_info.
Referenced by anonymous_namespace{ColumnIR.cpp}::get_col_decoder().
|
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::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 200 of file Analyzer.h.
References table_id.
Referenced by apply_simple_quals(), CodeGenerator::codegenColVar(), CodeGenerator::codegenRowId(), colvar_comp(), PerfectJoinHashTable::genChunkKey(), Executor::getColumnDescriptor(), getExpressionRange(), PerfectJoinHashTable::getInnerQueryInfo(), getLeafColumnRange(), PlanState::getLocalColumnId(), ColumnFetcher::getOneColumnFragment(), Executor::getPhysicalColumnDescriptor(), anonymous_namespace{ArithmeticIR.cpp}::is_temporary_column(), operator==(), CodeGenerator::resolveGroupedColumnReference(), rewrite_agg_to_var(), rewrite_with_child_targetlist(), rewrite_with_targetlist(), self_join_not_covered_by_left_deep_tree(), var_ref(), anonymous_namespace{ScalarCodeGenerator.cpp}::UsedColumnExpressions::visitColumnVar(), anonymous_namespace{JoinFilterPushDown.cpp}::BindFilterToOutermostVisitor::visitColumnVar(), ScalarExprToSql::visitColumnVar(), and anonymous_namespace{JoinFilterPushDown.cpp}::CollectInputColumnsVisitor::visitColumnVar().
|
overridevirtual |
Reimplemented from Analyzer::Expr.
Definition at line 1542 of file Analyzer.cpp.
References SQLTypeInfo::get_type(), kBOOLEAN, and Analyzer::Expr::type_info.
|
overridevirtual |
Implements Analyzer::Expr.
Definition at line 2154 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 1891 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 1867 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 1853 of file Analyzer.cpp.
References column_id, deep_copy(), get_column_id(), get_table_id(), and table_id.
|
inline |
|
overridevirtual |
Implements Analyzer::Expr.
Reimplemented in Analyzer::Var.
Definition at line 2564 of file Analyzer.cpp.
References column_id, Analyzer::Expr::get_type_info(), SQLTypeInfo::get_type_name(), rte_idx, table_id, and to_string().
Referenced by PerfectJoinHashTable::getAlternativeCacheKey().
|
protected |
Definition at line 237 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 238 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().
|
protected |
Definition at line 236 of file Analyzer.h.
Referenced by check_group_by(), deep_copy(), Analyzer::Var::deep_copy(), get_table_id(), operator==(), heavydb.thrift.ttypes.TPixelTableRowResult::read(), heavydb.thrift.ttypes.TTableMeta::read(), heavydb.thrift.ttypes.TColumnRange::read(), heavydb.thrift.ttypes.TTableGeneration::read(), heavydb.thrift.ttypes.TInsertData::read(), heavydb.thrift.ttypes.TInsertChunks::read(), heavydb.thrift.ttypes.TTableEpochInfo::read(), heavydb.thrift.Heavy.set_table_epoch_args::read(), heavydb.thrift.Heavy.get_table_epoch_args::read(), heavydb.thrift.Heavy.get_table_epochs_args::read(), heavydb.thrift.Heavy.check_table_consistency_args::read(), heavydb.thrift.Heavy.checkpoint_args::read(), rewrite_agg_to_var(), rewrite_with_child_targetlist(), rewrite_with_targetlist(), toString(), Analyzer::Var::toString(), heavydb.thrift.ttypes.TPixelTableRowResult::write(), heavydb.thrift.ttypes.TTableMeta::write(), heavydb.thrift.ttypes.TColumnRange::write(), heavydb.thrift.ttypes.TTableGeneration::write(), heavydb.thrift.ttypes.TInsertData::write(), heavydb.thrift.ttypes.TInsertChunks::write(), heavydb.thrift.ttypes.TTableEpochInfo::write(), heavydb.thrift.Heavy.set_table_epoch_args::write(), heavydb.thrift.Heavy.get_table_epoch_args::write(), heavydb.thrift.Heavy.get_table_epochs_args::write(), heavydb.thrift.Heavy.check_table_consistency_args::write(), and heavydb.thrift.Heavy.checkpoint_args::write().