rasdaman complete source
|
#include <querytree.hh>
Public Types | |
enum | OptimizationLevel { NO_OPTIMIZATIONS = 0, STANDARDIZATION = 1, SIMPLIFICATION = 2, SUBEXPRESSIONS = 3 } |
Public Member Functions | |
QueryTree () | |
default constructor More... | |
QueryTree (QtNode *root) | |
constructor getting the root of the query tree More... | |
~QueryTree () | |
destructor (deletes the whole query tree) More... | |
void | checkSemantics () |
checks semantics (e.g., type checking) More... | |
vector< QtNode::QtNodeList > * | seeSubexpression () |
recognize common subexpressions More... | |
void | insertSubexpression (vector< QtNode::QtNodeList > *nodeList) |
build in common subexpressions in the query tree More... | |
vector< QtData * > * | evaluateRetrieval () throw (r_Error, ParseInfo) |
executes a retrieval tree and gives back the result collection More... | |
void | evaluateUpdate () throw (r_Error,ParseInfo) |
executes an update tree and throws a ParseInfo if query does not begin with INSERT, DELETE, UPDATE, ... More... | |
void | printTree (int tab, ostream &s=cout) |
debugging method More... | |
QtNode * | getRoot () const |
void | setRoot (QtNode *root) |
void | addDynamicObject (QtNode *) |
void | removeDynamicObject (QtNode *) |
void | addDynamicObject (QtData *) |
void | removeDynamicObject (QtData *) |
void | addDynamicObject (ParseInfo *) |
void | removeDynamicObject (ParseInfo *) |
void | addDynamicObject (vector< QtONCStream * > *) |
void | removeDynamicObject (vector< QtONCStream * > *) |
void | releaseDynamicObjects () |
void | addDomainObject (QtDomainOperation *) |
void | removeDomainObject (QtDomainOperation *) |
void | rewriteDomainObjects (r_Minterval *greatDomain, std::string *greatIterator, QtMarrayOp2::mddIntervalListType *greatList) |
void | printDomainObjects () |
void | releaseDomainObjects () |
void | addCString (char *) |
Static Public Attributes | |
static SymbolTable< int > | symtab |
QueryTree::QueryTree | ( | ) |
default constructor
QueryTree::QueryTree | ( | QtNode * | root | ) |
constructor getting the root of the query tree
QueryTree::~QueryTree | ( | ) |
destructor (deletes the whole query tree)
void QueryTree::addCString | ( | char * | ) |
void QueryTree::addDomainObject | ( | QtDomainOperation * | ) |
void QueryTree::addDynamicObject | ( | QtNode * | ) |
void QueryTree::addDynamicObject | ( | QtData * | ) |
void QueryTree::addDynamicObject | ( | ParseInfo * | ) |
void QueryTree::addDynamicObject | ( | vector< QtONCStream * > * | ) |
void QueryTree::checkSemantics | ( | ) |
checks semantics (e.g., type checking)
executes a retrieval tree and gives back the result collection
void QueryTree::evaluateUpdate | ( | ) | ||
throw | ( | r_Error, | ||
ParseInfo | ||||
) |
executes an update tree and throws a ParseInfo if query does not begin with INSERT, DELETE, UPDATE, ...
|
inline |
void QueryTree::insertSubexpression | ( | vector< QtNode::QtNodeList > * | nodeList | ) |
build in common subexpressions in the query tree
void QueryTree::printDomainObjects | ( | ) |
void QueryTree::printTree | ( | int | tab, |
ostream & | s = cout |
||
) |
debugging method
void QueryTree::releaseDomainObjects | ( | ) |
void QueryTree::releaseDynamicObjects | ( | ) |
void QueryTree::removeDomainObject | ( | QtDomainOperation * | ) |
void QueryTree::removeDynamicObject | ( | QtNode * | ) |
void QueryTree::removeDynamicObject | ( | QtData * | ) |
void QueryTree::removeDynamicObject | ( | ParseInfo * | ) |
void QueryTree::removeDynamicObject | ( | vector< QtONCStream * > * | ) |
void QueryTree::rewriteDomainObjects | ( | r_Minterval * | greatDomain, |
std::string * | greatIterator, | ||
QtMarrayOp2::mddIntervalListType * | greatList | ||
) |
vector<QtNode::QtNodeList>* QueryTree::seeSubexpression | ( | ) |
recognize common subexpressions
|
inline |
|
static |