OmniSciDB  b24e664e58
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 
visitLower (const Analyzer::LowerExpr *lower_expr) 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 
visitGeoExpr (const Analyzer::GeoExpr *geo_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

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  }
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_table_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:196
int get_column_id() const
Definition: Analyzer.h:195

+ Here is the call graph for this function:


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