Go to the documentation of this file.    1 #ifndef EXPR_BINARYOPERATOR_H 
    2 #define EXPR_BINARYOPERATOR_H 
   11     static std::unique_ptr<BinaryOperator>
 
   13            std::unique_ptr<ExprNode>&& left,
 
   14            std::unique_ptr<ExprNode>&& right);
 
   18     Datum Eval(
const std::vector<NullableDatumRef>& record) 
const override;
 
   20     Datum Eval(
const char* record) 
const override;
 
   25                    std::unique_ptr<ExprNode>&& left,
 
   26                    std::unique_ptr<ExprNode>&& right);
 
 
Definition: BinaryOperator.h:9
 
uint8_t OpType
The operator type, see expr/optypes.h.
Definition: tdb_base.h:288
 
~BinaryOperator() override
Definition: BinaryOperator.h:16
 
std::function< Datum(FunctionCallInfo &)> FunctionInfo
An FMGR managed function should be declared as.
Definition: fmgr.h:50
 
BinaryOperator(OpType optype, std::unique_ptr< ExprNode > &&left, std::unique_ptr< ExprNode > &&right)
Definition: BinaryOperator.cpp:7
 
FunctionInfo m_func
Definition: BinaryOperator.h:29
 
Datum Eval(const std::vector< NullableDatumRef > &record) const override
Evaluate function upon a deserialized record.
Definition: BinaryOperator.cpp:36
 
OpType m_optype
Definition: BinaryOperator.h:28
 
static std::unique_ptr< BinaryOperator > Create(OpType optype, std::unique_ptr< ExprNode > &&left, std::unique_ptr< ExprNode > &&right)
Definition: BinaryOperator.cpp:28
 
ExprNode is an abstract class of all expressions.
Definition: ExprNode.h:20
 
A Datum stores and possibly manage the memory resource of a read-only value of a plain fixed-length C...
Definition: datum.h:250
 
void node_properties_to_string(std::string &buf, int indent) const override
Definition: BinaryOperator.cpp:50