taco-db  0.1.0
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
taco::FuncCallOperator Class Reference

#include <expr/FuncCallOperator.h>

Inheritance diagram for taco::FuncCallOperator:
taco::ExprNode taco::TreeNode

Public Member Functions

 ~FuncCallOperator () override
 
Datum Eval (const std::vector< NullableDatumRef > &record) const override
 Evaluate function upon a deserialized record. More...
 
Datum Eval (const char *record) const override
 Evaluate function on top of a serialized record. More...
 
void node_properties_to_string (std::string &buf, int indent) const override
 
- Public Member Functions inherited from taco::ExprNode
template<class ... UniquePtrs>
 ExprNode (NodeTag tag, UniquePtrs &&...input)
 Base constructor for all expression nodes. More...
 
virtual ~ExprNode ()
 Deconstructor. More...
 
std::shared_ptr< const SysTable_TypeReturnType () const
 Derive the return type of this expression. More...
 
- Public Member Functions inherited from taco::TreeNode
template<class ... UniquePtrs>
 TreeNode (NodeTag tag, UniquePtrs &&...input)
 
virtual ~TreeNode ()
 
 TreeNode (TreeNode &&)=default
 
TreeNodeoperator= (TreeNode &&)=default
 
 TreeNode (const TreeNode &)=delete
 
TreeNodeoperator= (const TreeNode &)=delete
 
constexpr NodeTag get_tag () const
 
TreeNodeget_input (size_t i) const
 
template<class Node >
Node * get_input_as (size_t i) const
 
std::string to_string () const
 
void node_to_string (std::string &buf, int indent) const
 Prints the node contents to a string buffer. More...
 
const char * node_name () const
 

Static Public Member Functions

template<class ... UniquePtrs>
static std::unique_ptr< FuncCallOperatorCreate (Oid funcid, UniquePtrs &&...arg_exprs)
 
- Static Public Member Functions inherited from taco::TreeNode
static void append_indent (std::string &buf, int indent)
 

Private Member Functions

template<class ... UniquePtrs>
 FuncCallOperator (FunctionInfo &&func, Oid funcid, std::shared_ptr< const SysTable_Type > rettyp, UniquePtrs &&...arg_exprs)
 

Static Private Member Functions

template<class ... UniquePtrs>
static FunctionInfo CheckAndLookupFunction (Oid funcid, std::shared_ptr< const SysTable_Type > &rettyp, const UniquePtrs &... arg_exprs)
 
static FunctionInfo CheckAndLookupFunctionImpl (Oid funcid, std::shared_ptr< const SysTable_Type > &rettyp, std::vector< const ExprNode * > arg_expr_ptrs)
 

Private Attributes

FunctionInfo m_func
 
Oid m_funcid
 
int16_t m_nargs
 

Additional Inherited Members

- Protected Attributes inherited from taco::ExprNode
std::shared_ptr< const SysTable_Typem_type
 

Constructor & Destructor Documentation

◆ ~FuncCallOperator()

taco::FuncCallOperator::~FuncCallOperator ( )
inlineoverride

◆ FuncCallOperator()

template<class ... UniquePtrs>
taco::FuncCallOperator::FuncCallOperator ( FunctionInfo &&  func,
Oid  funcid,
std::shared_ptr< const SysTable_Type rettyp,
UniquePtrs &&...  arg_exprs 
)
inlineprivate

Member Function Documentation

◆ CheckAndLookupFunction()

template<class ... UniquePtrs>
static FunctionInfo taco::FuncCallOperator::CheckAndLookupFunction ( Oid  funcid,
std::shared_ptr< const SysTable_Type > &  rettyp,
const UniquePtrs &...  arg_exprs 
)
inlinestaticprivate

◆ CheckAndLookupFunctionImpl()

FunctionInfo taco::FuncCallOperator::CheckAndLookupFunctionImpl ( Oid  funcid,
std::shared_ptr< const SysTable_Type > &  rettyp,
std::vector< const ExprNode * >  arg_expr_ptrs 
)
staticprivate

◆ Create()

template<class ... UniquePtrs>
static std::unique_ptr<FuncCallOperator> taco::FuncCallOperator::Create ( Oid  funcid,
UniquePtrs &&...  arg_exprs 
)
inlinestatic

◆ Eval() [1/2]

Datum taco::FuncCallOperator::Eval ( const char *  record) const
overridevirtual

Evaluate function on top of a serialized record.

Implements taco::ExprNode.

◆ Eval() [2/2]

Datum taco::FuncCallOperator::Eval ( const std::vector< NullableDatumRef > &  record) const
overridevirtual

Evaluate function upon a deserialized record.

Implements taco::ExprNode.

◆ node_properties_to_string()

void taco::FuncCallOperator::node_properties_to_string ( std::string &  buf,
int  indent 
) const
overridevirtual

Implements taco::TreeNode.

Member Data Documentation

◆ m_func

FunctionInfo taco::FuncCallOperator::m_func
private

◆ m_funcid

Oid taco::FuncCallOperator::m_funcid
private

◆ m_nargs

int16_t taco::FuncCallOperator::m_nargs
private

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