OmniSciDB  0bd2ec9cf4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RexFunctionOperator Class Reference

#include <RelAlgDagBuilder.h>

+ Inheritance diagram for RexFunctionOperator:
+ Collaboration diagram for RexFunctionOperator:

Public Types

using ConstRexScalarPtr = std::unique_ptr< const RexScalar >
using ConstRexScalarPtrVector = std::vector< ConstRexScalarPtr >

Public Member Functions

 RexFunctionOperator (const std::string &name, ConstRexScalarPtrVector &operands, const SQLTypeInfo &ti)
std::unique_ptr< const
getDisambiguated (std::vector< std::unique_ptr< const RexScalar >> &operands) const override
const std::string & getName () const
std::string toString () const override
- Public Member Functions inherited from RexOperator
 RexOperator (const SQLOps op, std::vector< std::unique_ptr< const RexScalar >> &operands, const SQLTypeInfo &type)
size_t size () const
const RexScalargetOperand (const size_t idx) const
const RexScalargetOperandAndRelease (const size_t idx) const
SQLOps getOperator () const
const SQLTypeInfogetType () const
- Public Member Functions inherited from Rex
virtual ~Rex ()

Private Attributes

const std::string name_

Additional Inherited Members

- Protected Attributes inherited from RexOperator
const SQLOps op_
std::vector< std::unique_ptr
< const RexScalar > > 
const SQLTypeInfo type_

Detailed Description

Definition at line 389 of file RelAlgDagBuilder.h.

Member Typedef Documentation

using RexFunctionOperator::ConstRexScalarPtr = std::unique_ptr<const RexScalar>

Definition at line 391 of file RelAlgDagBuilder.h.

Constructor & Destructor Documentation

RexFunctionOperator::RexFunctionOperator ( const std::string &  name,
ConstRexScalarPtrVector operands,
const SQLTypeInfo ti 

Definition at line 394 of file RelAlgDagBuilder.h.

Referenced by getDisambiguated().

397  : RexOperator(kFUNCTION, operands, ti), name_(name) {}
const std::string name_
RexOperator(const SQLOps op, std::vector< std::unique_ptr< const RexScalar >> &operands, const SQLTypeInfo &type)

+ Here is the caller graph for this function:

Member Function Documentation

std::unique_ptr<const RexOperator> RexFunctionOperator::getDisambiguated ( std::vector< std::unique_ptr< const RexScalar >> &  operands) const

Reimplemented from RexOperator.

Definition at line 399 of file RelAlgDagBuilder.h.

References RexOperator::getType(), name_, and RexFunctionOperator().

400  {
401  return std::unique_ptr<const RexOperator>(
402  new RexFunctionOperator(name_, operands, getType()));
403  }
const std::string name_
const SQLTypeInfo & getType() const
RexFunctionOperator(const std::string &name, ConstRexScalarPtrVector &operands, const SQLTypeInfo &ti)

+ Here is the call graph for this function:

std::string RexFunctionOperator::toString ( ) const

Reimplemented from RexOperator.

Reimplemented in RexWindowFunctionOperator.

Definition at line 407 of file RelAlgDagBuilder.h.

References name_, RexOperator::operands_, and run_benchmark_import::result.

407  {
408  auto result = "(RexFunctionOperator " + name_;
409  for (const auto& operand : operands_) {
410  result += (" " + operand->toString());
411  }
412  return result + ")";
413  }
const std::string name_
std::vector< std::unique_ptr< const RexScalar > > operands_

Member Data Documentation

const std::string RexFunctionOperator::name_

Definition at line 416 of file RelAlgDagBuilder.h.

Referenced by getDisambiguated(), getName(), and toString().

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