An expression plan is used to evaluate an expression (i
| | Accumulate (const XxxRecord* Rec[], const XxxRecordSchema* Schema[], XxxAggrOpHandle *Handle, const XxxValueEnv* Env = NULL) / Accumulate into handle |
| | Evaluate (const XxxRecord* Rec, const XxxRecordSchema* Schema, XxxADTValue *Result, const XxxValueEnv* Env = NULL) / evaluate, when there is a single input |
| | GetDependencies (XxxBitMap& Dependendency) / Similar method for XxxExpression as well |
| | Init (XxxAggrOpHandle *Handle) / Initialize handle |
| | MakeOpHandle (XxxAggrOpHandle*& Handle) / Make a handle to hold ongoing aggregation |
| | RedirectDependencies (const VarRemapping& Remap, int CorrelationHeight = 0) |
| | Replicate () Replication |
| | Terminate (XxxAggrOpHandle *Handle, const XxxRecord* Rec[], const XxxRecordSchema* Schema[], XxxADTValue *FinalVal, const XxxValueEnv* Env = NULL) / Terminates the aggregation and performs any postprocessing |
| | UsageOfPlan (PlanUsage& Usage) / member of XxxGenericPlan |
| | XxxValueExprPlan (XxxExpression * Exp, XxxValueExprPlan* Children[]) this is the most commonly used constructor |
| | XxxValueExprPlan (const XxxValueExprPlan &Plan) Copy constructor |
| | XxxValueExprPlan (int Arity, XxxBool Constant, XxxValueExprPlan* Children[]) |
| | / Gets input stream dependencies. |
| | / 4 methods to evaluate an aggregate expression |
| | changeDependency (const VarRemapping& Remap) this method will be called from RedirectDependencies |
| | sourceExpr / a copy of the source expression (needed for index expressions) |
An expression plan is used to evaluate an expression (i.e ValueExpression) All plans must be subclasses of XxxGenericPlan, which defines a cost for the expression.
class VarRemapping
XxxErrCode changeDependency(const VarRemapping& Remap)
XxxValueExprPlan(XxxExpression * Exp, XxxValueExprPlan* Children[])
XxxValueExprPlan(const XxxValueExprPlan &Plan)
XxxValueExprPlan(int Arity, XxxBool Constant, XxxValueExprPlan* Children[])
virtual XxxGenericPlan* Replicate()
XxxErrCode Evaluate(const XxxRecord* Rec, const XxxRecordSchema* Schema, XxxADTValue *Result, const XxxValueEnv* Env = NULL)
virtual XxxErrCode MakeOpHandle(XxxAggrOpHandle*& Handle)
virtual XxxErrCode Init(XxxAggrOpHandle *Handle)
virtual XxxErrCode Accumulate(const XxxRecord* Rec[], const XxxRecordSchema* Schema[], XxxAggrOpHandle *Handle, const XxxValueEnv* Env = NULL)
virtual XxxErrCode Terminate(XxxAggrOpHandle *Handle, const XxxRecord* Rec[], const XxxRecordSchema* Schema[], XxxADTValue *FinalVal, const XxxValueEnv* Env = NULL)
virtual XxxErrCode UsageOfPlan(PlanUsage& Usage)
virtual XxxErrCode GetDependencies(XxxBitMap& Dependendency)
virtual XxxErrCode RedirectDependencies(const VarRemapping& Remap, int CorrelationHeight = 0)
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de