rasdaman complete source
Public Types | Public Member Functions | List of all members
QtCommand Class Reference

#include <qtcommand.hh>

Inheritance diagram for QtCommand:
QtExecute QtNode

Public Types

enum  QtCommandType { QT_DROP_COLLECTION, QT_CREATE_COLLECTION, QT_CREATE_COLLECTION_FROM_QUERY_RESULT }
 
- Public Types inherited from QtNode
enum  QtNodeType {
  QT_UNDEFINED_NODE, QT_MDD_ACCESS, QT_OPERATION_ITERATOR, QT_SELECTION_ITERATOR,
  QT_JOIN_ITERATOR, QT_UPDATE, QT_INSERT, QT_DELETE,
  QT_COMMAND, QT_PLUS, QT_MINUS, QT_MULT,
  QT_DIV, QT_OR, QT_AND, QT_XOR,
  QT_IS, QT_EQUAL, QT_NOT_EQUAL, QT_LESS,
  QT_LESS_EQUAL, QT_NOT, QT_SQRT, QT_EXECUTE,
  QT_ONC_STREAM, QT_ITERATOR, QT_OPERATION, QT_BINARY_OPERATION,
  QT_BINARY_INDUCE, QT_GROUP_ITERATOR, QT_IDENT, QT_NARY_OPERATION,
  QT_UNARY_OPERATION, QT_CONDENSE, QT_UNARY_INDUCE, QT_ABS,
  QT_EXP, QT_LOG, QT_LN, QT_SIN,
  QT_COS, QT_TAN, QT_SINH, QT_COSH,
  QT_TANH, QT_ARCSIN, QT_ARCCOS, QT_ARCTAN,
  QT_REALPART, QT_IMAGINARPART, QT_CAST, QT_CSE_ROOT,
  QT_DOMAIN_OPERATION, QT_ALL, QT_SOME, QT_COUNTCELLS,
  QT_ADDCELLS, QT_AVGCELLS, QT_MINCELLS, QT_MAXCELLS,
  QT_MDD_VAR, QT_MDD_STREAM, QT_CONST, QT_DOT,
  QT_CONVERSION, QT_OID, QT_INTERVALOP, QT_MINTERVALOP,
  QT_POINTOP, QT_LO, QT_HI, QT_SDOM,
  QT_SHIFT, QT_EXTEND, QT_MARRAYOP, QT_CONDENSEOP,
  QT_SCALE, QT_OVERLAY, QT_BIT, QT_PYRAMID,
  QT_ENCODE, QT_CONCAT, QT_CASEOP, QT_INFO,
  QT_LAST_NODE_TYPE
}
 
enum  QtAreaType { QT_AREA_MDD, QT_AREA_SCALAR }
 
enum  QtChildType { QT_DIRECT_CHILDS, QT_LEAF_NODES, QT_ALL_NODES }
 
typedef std::vector< QtData * > QtDataList
 list of QtData pointers More...
 
typedef std::vector
< QtTrimElement * > 
QtTrimList
 list of QtTrimData structures More...
 
typedef std::list< QtNode * > QtNodeList
 list of QtNode pointers More...
 
typedef std::vector
< QtOperation * > 
QtOperationList
 list of QtOperation pointers More...
 

Public Member Functions

 QtCommand (QtCommandType initCommand, const std::string &initCollection, const std::string &initType)
 constructor getting command, collection and type name (create collection) More...
 
 QtCommand (QtCommandType initCommand, const std::string &initCollection)
 constructor getting command and collection name (drop collection) More...
 
 QtCommand (QtCommandType initCommand, const std::string &initCollection, QtOperationIterator *collection)
 constructor getting command, collection name and query tree node (create collection from query result) More...
 
virtual int evaluate ()
 method for evaluating the node More...
 
virtual void printTree (int tab, std::ostream &s=std::cout, QtChildType mode=QT_ALL_NODES)
 prints the tree More...
 
virtual void printAlgebraicExpression (std::ostream &s=std::cout)
 prints the algebraic expression More...
 
virtual const QtNodeType getNodeType () const
 method for identification of nodes More...
 
virtual void checkType ()
 type checking More...
 
- Public Member Functions inherited from QtNode
 QtNode ()
 default constructor More...
 
 QtNode (QtNode *node)
 constructor getting a pointer to the parent More...
 
virtual ~QtNode ()
 destructor More...
 
bool subtype (enum QtNodeType a, enum QtNodeType b)
 returns weather class b is a subtype of class a More...
 
virtual QtNodeListgetChilds (QtChildType flag)
 return childs of the node More...
 
QtNodeListgetChild (const QtNodeType node, QtChildType flag=QT_DIRECT_CHILDS)
 return childs of a certain class More...
 
virtual bool equalMeaning (QtNode *node)
 test if the two nodes have an equal meaning in a subtree More...
 
virtual std::string getSpelling ()
 creates a unique name for a common subexpression More...
 
virtual QtAreaType getAreaType ()
 test if the edge to the parent node is of type mdd or atomic More...
 
virtual void simplify ()
 simplifies the tree More...
 
enum QtNodeType getQtNodeTypeParent (enum QtNodeType)
 method for pre optimizations (basically load optimization) More...
 
virtual void setInput (QtOperation *inputOld, QtOperation *inputNew)
 
QtNodegetParent () const
 
void setParent (QtNode *node)
 
const ParseInfogetParseInfo ()
 
void setParseInfo (const ParseInfo &info)
 

Additional Inherited Members

- Static Public Attributes inherited from QtNode
static const int QtNodes
 number of QtNodeTypes More...
 
static const QtNodeType QtRoot
 the root of the inheritance tree More...
 
static const QtNodeType QtInheritance [][2]
 the inheritance relations list More...
 
- Protected Member Functions inherited from QtNode
void startTimer (const char *name)
 start node timer (called at evaluation time) More...
 
void stopTimer ()
 stop timer (at end of evaluation) More...
 
void pauseTimer ()
 pause More...
 
void resumeTimer ()
 resume More...
 
std::string getEvaluationTime ()
 get elapsed time if timer was started, returns a string e.g. "15 usecs" More...
 
- Protected Attributes inherited from QtNode
ParseInfo parseInfo
 attribute for parser info More...
 

Member Enumeration Documentation

Enumerator
QT_DROP_COLLECTION 
QT_CREATE_COLLECTION 
QT_CREATE_COLLECTION_FROM_QUERY_RESULT 

Constructor & Destructor Documentation

QtCommand::QtCommand ( QtCommandType  initCommand,
const std::string &  initCollection,
const std::string &  initType 
)

constructor getting command, collection and type name (create collection)

QtCommand::QtCommand ( QtCommandType  initCommand,
const std::string &  initCollection 
)

constructor getting command and collection name (drop collection)

QtCommand::QtCommand ( QtCommandType  initCommand,
const std::string &  initCollection,
QtOperationIterator collection 
)

constructor getting command, collection name and query tree node (create collection from query result)

Member Function Documentation

virtual void QtCommand::checkType ( )
virtual

type checking

Implements QtExecute.

virtual int QtCommand::evaluate ( )
virtual

method for evaluating the node

Implements QtExecute.

virtual const QtNodeType QtCommand::getNodeType ( ) const
inlinevirtual

method for identification of nodes

Reimplemented from QtNode.

virtual void QtCommand::printAlgebraicExpression ( std::ostream &  s = std::cout)
virtual

prints the algebraic expression

Implements QtNode.

virtual void QtCommand::printTree ( int  tab,
std::ostream &  s = std::cout,
QtChildType  mode = QT_ALL_NODES 
)
virtual

prints the tree

Implements QtNode.


The documentation for this class was generated from the following file: