Root class for the expression hierarchy
![]() | ValExprTypeEnum A list of all possible value types of value expressions |
![]() | ExprName Optional name for expression. |
![]() | Arity () What is the arity? |
![]() | ChildExpr (int i) Get the i'th subexpressions |
![]() | DirectSubexpressions () Returns a list of the immediate subexpressions of the expression |
![]() | GenerateCatInfo () / needed for expressions that generate complex data types |
![]() | GetDependencies (XxxBitMap& Dependendency, int CorrelationHt) Gets input stream dependencies (that were resolved in ResolveVars) Sets flags in the input argument Dependency |
![]() | IsConstant () Is this a constant expression? |
![]() | Match (const XxxValueExpression* OtherExpr, char *Env = NULL) Checks to see if the expression matches another expression |
![]() | Match (const XxxValueExpression* RuleExpr, XxxBindingEnv *BindEnv) Checks if the expression matches another rule input expression If match is successful, return true, and assign BindTerm array inside XxxBindingEnv class |
![]() | Optimize (XxxValueExprPlan*& ExecPlan) Most expresions have hard coded execution strategies and so are automatically optimized |
![]() | Print (ostream&) Print the expression |
![]() | ReferencesAggregate () Returns XXX_TRUE if this expression references an aggregate |
![]() | Replace (const XxxUnknownValue *Target, const XxxValueExpression *Replacement) Replaces all references to the target expression with references to the replacement expression |
![]() | Replace (const XxxValueExpression *Target, const XxxValueExpression *Replacement) Replaces all references to the target expression with references to the replacement expression |
![]() | Replicate () Provides a convenient way to copy arbitrary expressions |
![]() | ResolveVars (const XxxArgEnv* Env) Tries to resolve host variables using the argument environment |
![]() | ResolveVars (XxxQueryNode* Node, char Source) Tries to resolve unknown variables using the child Source |
![]() | ResolveVars (const XxxRecordSchema *Schema) Tries to resolve unknown variables using a Schema |
![]() | SetChild (int Index, XxxValueExpression* NewExp) Specify a particular subexpression (used in query rewrite) |
![]() | TypeCheck () This should be called after all variables are resolved. |
![]() | UpdateUnknowns (int ChildNumber, int OldAttrIndex, int NewAttrIndex, XxxBool &Appears) Substitutes NewAttrIndex for OldAttrIndex in the SrcAttrIndex field of XxxUnknownValues subexpressions with SrcChild == ChildNumber Appears should be initialized with XXX_FALSE and is set to true if a column reference was found and updated |
![]() | ValExprsReferenced () Returns a list of replications of all value expressions referenced in the expression |
![]() | XxxValueExpression (const XxxValueExpression& src) Copy constructor (used in most query rewrites) |
![]() | XxxValueExpression (int NumChildren = 0, XxxValueExpression* Children[] = NULL) Common constructor |
![]() | ~XxxValueExpression () Destructor |
![]() | ValExprType A typedef for easy reference |
![]() | ValExprTypeEnum A list of all possible value types of value expressions |
![]() | arity how many subexpressions? |
![]() | childExpr array of subexpressions |
Root class for the expression hierarchy. Here's how the expression "library" works. The XxxExpression class provides a virtual base class for all kinds of expressions. It provides interfaces for type checking, etc. In the XXX system, every expression needs to be optimized. Therefore, there is a XxxValueExprPlan that is generated from an XxxExpression by invoking the Optimize() method. It is this XxxValueExprPlan that is executed in order to evaluate the expression.
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