In file aggrexpr.h:

class XxxAggrExpression : public XxxFuncExpression

An aggregate expression is a slight variant of a FuncExpression

Inheritance:


Inherited from XxxFuncExpression:

Public Classes

class FuncPlan: public XxxValueExprPlan

Public Methods

virtual XxxValueExprList* DirectSubexpressions()
XxxBool IsCountAggr()
Used in gbyplanop
virtual XxxErrCode Evaluate(const XxxRecord* Rec[], const XxxRecordSchema* Schema[], XxxADTValue *Result, const XxxValueEnv* Env = NULL)
Evaluate() is not meaningful for an aggregate expression.
virtual XxxErrCode Drop(const XxxRecord* Rec[], const XxxRecordSchema* Schema[], XxxAggrOpHandle *Handle, const XxxValueEnv* Env = NULL)
/ This drops the input from the AggrOpHandle.
XxxBool IsAggr()
virtual XxxBool Match(const XxxExpression* RuleExpr, XxxBindingEnv *BindEnv)
virtual XxxBool ReferencesAggregate()
virtual XxxErrCode Replace(const XxxExpression *Target, const XxxExpression *Replacement)
virtual XxxErrCode Replace(const XxxUnknownValue *Target, const XxxExpression *Replacement)
virtual XxxExpression* Replicate()
virtual XxxErrCode UpdateUnknowns(int ChildNumber, int OldAttrIndex, int NewAttrIndex, XxxBool &Appears)
virtual XxxValueExprList* ValExprsReferenced()

Inherited from XxxValueExpression:

Public Classes

enum ValExprTypeEnum

Public Fields

char* ExprName

Public Methods

virtual int Arity()
inline XxxValueExpression* ChildExpr(int i)
virtual XxxADTMetaInfo* GenerateCatInfo()
virtual XxxErrCode GetDependencies(XxxBitMap& Dependendency, int CorrelationHt)
virtual XxxBool IsConstant()
virtual XxxErrCode Optimize(XxxValueExprPlan*& ExecPlan)
virtual void Print(ostream&)
virtual XxxErrCode ResolveVars(const XxxArgEnv* Env)
virtual XxxErrCode ResolveVars(const XxxRecordSchema *Schema)
virtual XxxErrCode ResolveVars(XxxQueryNode* Node, char Source)
XxxErrCode SetChild(int Index, XxxValueExpression* NewExp)
virtual XxxErrCode TypeCheck()

Public

typedef enum ValExprTypeEnum ValExprType
enum ValExprTypeEnum

Protected Fields

int arity
XxxValueExpression** childExpr

Documentation

An aggregate expression is a slight variant of a FuncExpression. For standard aggregates like MIN, MAX, etc, they are represented as methods of XXX_GENFUNC_ADT. For extensible aggregates, although textually, the aggregate looks like Foo(A, B, C), we represent it internally as A.Foo(B, C)

This class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de