OmniSciDB  c1a53651b2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MaxRangeTableIndexVisitor Class Reference

#include <RangeTableIndexVisitor.h>

+ Inheritance diagram for MaxRangeTableIndexVisitor:
+ Collaboration diagram for MaxRangeTableIndexVisitor:

Protected Member Functions

int visitColumnVar (const Analyzer::ColumnVar *column) const override
int visitColumnVarTuple (const Analyzer::ExpressionTuple *expr_tuple) const override
int aggregateResult (const int &aggregate, const int &next_result) const override
- Protected Member Functions inherited from ScalarExprVisitor< int >
virtual int visitVar (const Analyzer::Var *) const
virtual int visitConstant (const Analyzer::Constant *) const
virtual int visitUOper (const Analyzer::UOper *uoper) const
virtual int visitBinOper (const Analyzer::BinOper *bin_oper) const
virtual int visitGeoExpr (const Analyzer::GeoExpr *geo_expr) const
virtual int visitInValues (const Analyzer::InValues *in_values) const
virtual int visitInIntegerSet (const Analyzer::InIntegerSet *in_integer_set) const
virtual int visitCharLength (const Analyzer::CharLengthExpr *char_length) const
virtual int visitKeyForString (const Analyzer::KeyForStringExpr *key_for_string) const
virtual int visitSampleRatio (const Analyzer::SampleRatioExpr *sample_ratio) const
virtual int visitStringOper (const Analyzer::StringOper *string_oper) const
virtual int visitCardinality (const Analyzer::CardinalityExpr *cardinality) const
virtual int visitLikeExpr (const Analyzer::LikeExpr *like) const
virtual int visitRegexpExpr (const Analyzer::RegexpExpr *regexp) const
virtual int visitWidthBucket (const Analyzer::WidthBucketExpr *width_bucket_expr) const
virtual int visitCaseExpr (const Analyzer::CaseExpr *case_) const
virtual int visitDatetruncExpr (const Analyzer::DatetruncExpr *datetrunc) const
virtual int visitExtractExpr (const Analyzer::ExtractExpr *extract) const
virtual int visitFunctionOperWithCustomTypeHandling (const Analyzer::FunctionOperWithCustomTypeHandling *func_oper) const
virtual int visitArrayOper (Analyzer::ArrayExpr const *array_expr) const
virtual int visitGeoUOper (const Analyzer::GeoUOper *geo_expr) const
virtual int visitGeoBinOper (const Analyzer::GeoBinOper *geo_expr) const
virtual int visitFunctionOper (const Analyzer::FunctionOper *func_oper) const
virtual int visitWindowFunction (const Analyzer::WindowFunction *window_func) const
virtual int visitDatediffExpr (const Analyzer::DatediffExpr *datediff) const
virtual int visitDateaddExpr (const Analyzer::DateaddExpr *dateadd) const
virtual int visitLikelihood (const Analyzer::LikelihoodExpr *likelihood) const
virtual int visitOffsetInFragment (const Analyzer::OffsetInFragment *) const
virtual int visitAggExpr (const Analyzer::AggExpr *agg) const
virtual int visitRangeJoinOper (const Analyzer::RangeOper *range_oper) const
virtual void visitBegin () const
virtual int defaultResult () const

Additional Inherited Members

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

Detailed Description

Definition at line 23 of file RangeTableIndexVisitor.h.

Member Function Documentation

int MaxRangeTableIndexVisitor::aggregateResult ( const int &  aggregate,
const int &  next_result 
) const

Reimplemented from ScalarExprVisitor< int >.

Definition at line 39 of file RangeTableIndexVisitor.h.

39  {
40  return std::max(aggregate, next_result);
41  }
int MaxRangeTableIndexVisitor::visitColumnVar ( const Analyzer::ColumnVar column) const

Reimplemented from ScalarExprVisitor< int >.

Definition at line 25 of file RangeTableIndexVisitor.h.

References Analyzer::ColumnVar::get_rte_idx().

25  {
26  return column->get_rte_idx();
27  }
int32_t get_rte_idx() const
Definition: Analyzer.h:202

+ Here is the call graph for this function:

int MaxRangeTableIndexVisitor::visitColumnVarTuple ( const Analyzer::ExpressionTuple expr_tuple) const

Reimplemented from ScalarExprVisitor< int >.

Definition at line 29 of file RangeTableIndexVisitor.h.

References Analyzer::ExpressionTuple::getTuple(), and ScalarExprVisitor< T >::visit().

29  {
31  int max_range_table_idx = 0;
32  for (const auto& expr_component : expr_tuple->getTuple()) {
33  max_range_table_idx =
34  std::max(max_range_table_idx, visitor.visit(expr_component.get()));
35  }
36  return max_range_table_idx;
37  }
T visit(const Analyzer::Expr *expr) const
const std::vector< std::shared_ptr< Analyzer::Expr > > & getTuple() const
Definition: Analyzer.h:253

+ Here is the call graph for this function:

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