OmniSciDB  baf940c279
RexAgg Class Reference

#include <RelAlgDagBuilder.h>

+ Inheritance diagram for RexAgg:
+ Collaboration diagram for RexAgg:

Public Member Functions

 RexAgg (const SQLAgg agg, const bool distinct, const SQLTypeInfo &type, const std::vector< size_t > &operands)
 
std::string toString () const override
 
SQLAgg getKind () const
 
bool isDistinct () const
 
size_t size () const
 
size_t getOperand (size_t idx) const
 
const SQLTypeInfogetType () const
 
std::unique_ptr< RexAggdeepCopy () const
 
- Public Member Functions inherited from Rex
virtual ~Rex ()
 

Private Attributes

const SQLAgg agg_
 
const bool distinct_
 
const SQLTypeInfo type_
 
const std::vector< size_t > operands_
 

Detailed Description

Definition at line 575 of file RelAlgDagBuilder.h.

Constructor & Destructor Documentation

◆ RexAgg()

RexAgg::RexAgg ( const SQLAgg  agg,
const bool  distinct,
const SQLTypeInfo type,
const std::vector< size_t > &  operands 
)
inline

Definition at line 577 of file RelAlgDagBuilder.h.

581  : agg_(agg), distinct_(distinct), type_(type), operands_(operands) {}
const SQLAgg agg_
const bool distinct_
const SQLTypeInfo type_
const std::vector< size_t > operands_

Member Function Documentation

◆ deepCopy()

std::unique_ptr<RexAgg> RexAgg::deepCopy ( ) const
inline

Definition at line 606 of file RelAlgDagBuilder.h.

606  {
607  return std::make_unique<RexAgg>(agg_, distinct_, type_, operands_);
608  }
const SQLAgg agg_
const bool distinct_
const SQLTypeInfo type_
const std::vector< size_t > operands_

◆ getKind()

SQLAgg RexAgg::getKind ( ) const
inline

Definition at line 596 of file RelAlgDagBuilder.h.

Referenced by RelAlgTranslator::translateAggregateRex().

596 { return agg_; }
const SQLAgg agg_
+ Here is the caller graph for this function:

◆ getOperand()

size_t RexAgg::getOperand ( size_t  idx) const
inline

Definition at line 602 of file RelAlgDagBuilder.h.

Referenced by RelAlgTranslator::translateAggregateRex().

602 { return operands_[idx]; }
const std::vector< size_t > operands_
+ Here is the caller graph for this function:

◆ getType()

const SQLTypeInfo& RexAgg::getType ( ) const
inline

Definition at line 604 of file RelAlgDagBuilder.h.

604 { return type_; }
const SQLTypeInfo type_

◆ isDistinct()

bool RexAgg::isDistinct ( ) const
inline

Definition at line 598 of file RelAlgDagBuilder.h.

Referenced by RelAlgTranslator::translateAggregateRex().

598 { return distinct_; }
const bool distinct_
+ Here is the caller graph for this function:

◆ size()

size_t RexAgg::size ( ) const
inline

Definition at line 600 of file RelAlgDagBuilder.h.

Referenced by RelAlgTranslator::translateAggregateRex().

600 { return operands_.size(); }
const std::vector< size_t > operands_
+ Here is the caller graph for this function:

◆ toString()

std::string RexAgg::toString ( ) const
inlineoverridevirtual

Implements Rex.

Definition at line 583 of file RelAlgDagBuilder.h.

References cat(), to_string(), and Rex::toString().

583  {
584  return cat(::typeName(this),
585  "(agg=",
587  ", distinct=",
589  ", type=",
591  ", operands=",
593  ")");
594  }
std::string to_string(char const *&&v)
const SQLAgg agg_
std::string cat(Ts &&... args)
const bool distinct_
std::string toString() const override
std::string get_type_name() const
Definition: sqltypes.h:362
const SQLTypeInfo type_
const std::vector< size_t > operands_
+ Here is the call graph for this function:

Member Data Documentation

◆ agg_

const SQLAgg RexAgg::agg_
private

Definition at line 611 of file RelAlgDagBuilder.h.

◆ distinct_

const bool RexAgg::distinct_
private

Definition at line 612 of file RelAlgDagBuilder.h.

◆ operands_

const std::vector<size_t> RexAgg::operands_
private

Definition at line 614 of file RelAlgDagBuilder.h.

◆ type_

const SQLTypeInfo RexAgg::type_
private

Definition at line 613 of file RelAlgDagBuilder.h.


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