OmniSciDB  c07336695a
anonymous_namespace{ScalarCodeGenerator.cpp}::UsedColumnExpressions Class Reference
+ Inheritance diagram for anonymous_namespace{ScalarCodeGenerator.cpp}::UsedColumnExpressions:
+ Collaboration diagram for anonymous_namespace{ScalarCodeGenerator.cpp}::UsedColumnExpressions:

Protected Member Functions

ScalarCodeGenerator::ColumnMap visitColumnVar (const Analyzer::ColumnVar *column) const override
 
ScalarCodeGenerator::ColumnMap aggregateResult (const ScalarCodeGenerator::ColumnMap &aggregate, const ScalarCodeGenerator::ColumnMap &next_result) const override
 
- Protected Member Functions inherited from ScalarExprVisitor< ScalarCodeGenerator::ColumnMap >
virtual ScalarCodeGenerator::ColumnMap visitVar (const Analyzer::Var *) const
 
virtual ScalarCodeGenerator::ColumnMap visitColumnVarTuple (const Analyzer::ExpressionTuple *) const
 
virtual ScalarCodeGenerator::ColumnMap visitConstant (const Analyzer::Constant *) const
 
virtual ScalarCodeGenerator::ColumnMap visitUOper (const Analyzer::UOper *uoper) const
 
virtual ScalarCodeGenerator::ColumnMap visitBinOper (const Analyzer::BinOper *bin_oper) const
 
virtual ScalarCodeGenerator::ColumnMap visitInValues (const Analyzer::InValues *in_values) const
 
virtual ScalarCodeGenerator::ColumnMap visitInIntegerSet (const Analyzer::InIntegerSet *in_integer_set) const
 
virtual ScalarCodeGenerator::ColumnMap visitCharLength (const Analyzer::CharLengthExpr *char_length) const
 
virtual ScalarCodeGenerator::ColumnMap visitKeyForString (const Analyzer::KeyForStringExpr *key_for_string) const
 
virtual ScalarCodeGenerator::ColumnMap visitCardinality (const Analyzer::CardinalityExpr *cardinality) const
 
virtual ScalarCodeGenerator::ColumnMap visitLikeExpr (const Analyzer::LikeExpr *like) const
 
virtual ScalarCodeGenerator::ColumnMap visitRegexpExpr (const Analyzer::RegexpExpr *regexp) const
 
virtual ScalarCodeGenerator::ColumnMap visitCaseExpr (const Analyzer::CaseExpr *case_) const
 
virtual ScalarCodeGenerator::ColumnMap visitDatetruncExpr (const Analyzer::DatetruncExpr *datetrunc) const
 
virtual ScalarCodeGenerator::ColumnMap visitExtractExpr (const Analyzer::ExtractExpr *extract) const
 
virtual ScalarCodeGenerator::ColumnMap visitFunctionOperWithCustomTypeHandling (const Analyzer::FunctionOperWithCustomTypeHandling *func_oper) const
 
virtual ScalarCodeGenerator::ColumnMap visitArrayOper (Analyzer::ArrayExpr const *array_expr) const
 
virtual ScalarCodeGenerator::ColumnMap visitFunctionOper (const Analyzer::FunctionOper *func_oper) const
 
virtual ScalarCodeGenerator::ColumnMap visitWindowFunction (const Analyzer::WindowFunction *window_func) const
 
virtual ScalarCodeGenerator::ColumnMap visitDatediffExpr (const Analyzer::DatediffExpr *datediff) const
 
virtual ScalarCodeGenerator::ColumnMap visitDateaddExpr (const Analyzer::DateaddExpr *dateadd) const
 
virtual ScalarCodeGenerator::ColumnMap visitLikelihood (const Analyzer::LikelihoodExpr *likelihood) const
 
virtual ScalarCodeGenerator::ColumnMap visitOffsetInFragment (const Analyzer::OffsetInFragment *) const
 
virtual ScalarCodeGenerator::ColumnMap visitAggExpr (const Analyzer::AggExpr *agg) const
 
virtual ScalarCodeGenerator::ColumnMap defaultResult () const
 

Additional Inherited Members

- Public Member Functions inherited from ScalarExprVisitor< ScalarCodeGenerator::ColumnMap >
ScalarCodeGenerator::ColumnMap visit (const Analyzer::Expr *expr) const
 

Detailed Description

Definition at line 22 of file ScalarCodeGenerator.cpp.

Member Function Documentation

◆ aggregateResult()

ScalarCodeGenerator::ColumnMap anonymous_namespace{ScalarCodeGenerator.cpp}::UsedColumnExpressions::aggregateResult ( const ScalarCodeGenerator::ColumnMap aggregate,
const ScalarCodeGenerator::ColumnMap next_result 
) const
inlineoverrideprotectedvirtual

Reimplemented from ScalarExprVisitor< ScalarCodeGenerator::ColumnMap >.

Definition at line 34 of file ScalarCodeGenerator.cpp.

References run-benchmark-import::result.

36  {
37  auto result = aggregate;
38  result.insert(next_result.begin(), next_result.end());
39  return result;
40  }

◆ visitColumnVar()

ScalarCodeGenerator::ColumnMap anonymous_namespace{ScalarCodeGenerator.cpp}::UsedColumnExpressions::visitColumnVar ( const Analyzer::ColumnVar column) const
inlineoverrideprotectedvirtual

Reimplemented from ScalarExprVisitor< ScalarCodeGenerator::ColumnMap >.

Definition at line 24 of file ScalarCodeGenerator.cpp.

References Analyzer::ColumnVar::deep_copy(), Analyzer::ColumnVar::get_column_id(), Analyzer::ColumnVar::get_rte_idx(), and Analyzer::ColumnVar::get_table_id().

25  {
27  InputColDescriptor input_desc(
28  column->get_column_id(), column->get_table_id(), column->get_rte_idx());
29  m.emplace(input_desc,
30  std::static_pointer_cast<Analyzer::ColumnVar>(column->deep_copy()));
31  return m;
32  }
int get_column_id() const
Definition: Analyzer.h:194
std::shared_ptr< Analyzer::Expr > deep_copy() const override
Definition: Analyzer.cpp:59
std::unordered_map< InputColDescriptor, std::shared_ptr< Analyzer::ColumnVar > > ColumnMap
int get_rte_idx() const
Definition: Analyzer.h:195
int get_table_id() const
Definition: Analyzer.h:193
+ Here is the call graph for this function:

The documentation for this class was generated from the following file: