taco-db  0.1.0
Variable.h
Go to the documentation of this file.
1 #ifndef EXPR_VARIABLE_H
2 #define EXPR_VARIABLE_H
3 
4 #include "expr/ExprNode.h"
5 #include "catalog/Schema.h"
6 
7 namespace taco {
8 
9 class Variable: public ExprNode {
10 public:
11  static std::unique_ptr<Variable>
12  Create(const Schema* schema, FieldId fid);
13 
14  ~Variable() override {}
15 
16  Datum Eval(const std::vector<NullableDatumRef>& record) const override;
17 
18  Datum Eval(const char* record) const override;
19 
20  void node_properties_to_string(std::string &buf, int indent) const override;
21 private:
22  Variable(const Schema* schema, FieldId fid);
23 
24  const Schema* m_schema;
26 };
27 
28 };
29 
30 #endif
taco::Variable::node_properties_to_string
void node_properties_to_string(std::string &buf, int indent) const override
Definition: Variable.cpp:36
taco
Definition: datum.h:28
taco::Variable::Eval
Datum Eval(const std::vector< NullableDatumRef > &record) const override
Evaluate function upon a deserialized record.
Definition: Variable.cpp:26
Schema.h
taco::FieldId
int16_t FieldId
Definition: tdb_base.h:213
taco::Schema
A Schema object stores the information for accessing an ordered set of typed fields either from a dis...
Definition: Schema.h:39
ExprNode.h
taco::Variable::m_fid
FieldId m_fid
Definition: Variable.h:25
taco::Variable::m_schema
const Schema * m_schema
Definition: Variable.h:24
taco::ExprNode
ExprNode is an abstract class of all expressions.
Definition: ExprNode.h:20
taco::Variable::~Variable
~Variable() override
Definition: Variable.h:14
taco::Datum
A Datum stores and possibly manage the memory resource of a read-only value of a plain fixed-length C...
Definition: datum.h:250
taco::Variable::Variable
Variable(const Schema *schema, FieldId fid)
Definition: Variable.cpp:7
taco::Variable::Create
static std::unique_ptr< Variable > Create(const Schema *schema, FieldId fid)
Definition: Variable.cpp:21
taco::Variable
Definition: Variable.h:9