28 #ifndef TABLES_TAQLNODEHANDLER_H
29 #define TABLES_TAQLNODEHANDLER_H
45 class TaQLNodeHRValue;
103 const std::vector<const Table*>&);
const ValueHolder & getValueHolder() const
virtual TaQLNodeResult visitKeyColNode(const TaQLKeyColNodeRep &node)
void setExpr(const TableExprNode &expr)
A 1-D Specialization of the Array class.
Raw TaQL parse tree node defining a count command.
void popStack()
Pop the top from the TableParseSelect stack.
std::vector< TableParseSelect * > itsStack
const TableExprNode & getExpr() const
Abstract base class to hold the result of a visit to the node tree.
void handleTableName(TaQLNodeHRValue *hrval, const TaQLNode &node)
Handle a table name or temptable number in the given node and put it in the value result...
TableExprNodeSetElem * itsElem
void setAlias(const String &alias)
Raw TaQL parse tree node defining an alter table add rows command.
void setNames(Vector< String > *names)
Raw TaQL parse tree node defining a select command.
Main interface class to a read/write table.
void setElem(TableExprNodeSetElem *elem)
Raw TaQL parse tree node defining an update command.
void setString(const String &str)
virtual TaQLNodeResult visitConstNode(const TaQLConstNodeRep &node)
Define the functions to visit each node type.
virtual TaQLNodeResult visitDeleteNode(const TaQLDeleteNodeRep &node)
Class to hold multiple table expression nodes.
virtual TaQLNodeResult visitTableNode(const TaQLTableNodeRep &node)
Handle class for a table column expression tree.
void setExprSet(TableExprNodeSet *set)
const String & getNameMask() const
void setRecord(const Record &record)
Raw TaQL parse tree node defining a range.
Raw TaQL parse tree node defining an alter table set keyword command.
virtual TaQLNodeResult visitInsertNode(const TaQLInsertNodeRep &node)
Raw TaQL parse tree node defining a constant value.
virtual TaQLNodeResult visitSelectNode(const TaQLSelectNodeRep &node)
Raw TaQL parse tree node defining a create table command.
void handleHaving(const TaQLNode &)
Handle the HAVING clause.
Raw TaQL parse tree node defining an index in a array.
virtual TaQLNodeResult visitSortNode(const TaQLSortNodeRep &node)
Raw TaQL parse tree node defining a calc command.
virtual TaQLNodeResult visitCreTabNode(const TaQLCreTabNodeRep &node)
Int getInt() const
Get the values.
Raw TaQL parse tree node defining a list of nodes.
virtual TaQLNodeResult visitUpdExprNode(const TaQLUpdExprNodeRep &node)
void clearStack()
Clear the select stack.
virtual TaQLNodeResult visitAddRowNode(const TaQLAddRowNodeRep &node)
void handleColSpecs(const TaQLMultiNode &)
Handle a column specification in a create table or add column.
const Record & getRecord() const
std::vector< const Table * > itsTempTables
virtual TaQLNodeResult visitShowNode(const TaQLShowNodeRep &node)
Select-class for flex/bison scanner/parser for TableParse.
Class to handle the nodes in the raw TaQL parse tree.
Raw TaQL parse tree node defining a delete command.
void handleUpdate(const TaQLMultiNode &)
Handle the UPDATE SET clause.
TableParseSelect * pushStack(TableParseSelect::CommandType)
Push a new TableParseSelect on the stack.
virtual TaQLNodeResult visitRegexNode(const TaQLRegexNodeRep &node)
Envelope class for a node containing a list of nodes.
Raw TaQL parse tree node defining a table.
Class to hold the table expression nodes for an element in a set.
Raw TaQL parse tree node defining an alter table copy column command.
virtual TaQLNodeResult visitMultiNode(const TaQLMultiNodeRep &node)
virtual TaQLNodeResult visitRangeNode(const TaQLRangeNodeRep &node)
virtual TaQLNodeResult visitGivingNode(const TaQLGivingNodeRep &node)
Raw TaQL parse tree node defining a groupby list.
Raw TaQL parse tree node defining a giving expression list.
Raw TaQL parse tree node defining a unary operator.
Raw TaQL parse tree node defining a constant regex value.
Raw TaQL parse tree node defining a record field.
A holder for a value of any basic Casacore data type.
const TableExprNodeSet & getExprSet() const
virtual TaQLNodeResult visitJoinNode(const TaQLJoinNodeRep &node)
virtual TaQLNodeResult visitBinaryNode(const TaQLBinaryNodeRep &node)
TaQLNodeResult handleSelect(const TaQLSelectNodeRep &node, Bool doExec)
Handle the select command.
Raw TaQL parse tree node defining an alter table command.
const String & getAlias() const
virtual TaQLNodeResult visitIndexNode(const TaQLIndexNodeRep &node)
Raw TaQL parse tree node defining a keyword or column name.
virtual TaQLNodeResult visitSortKeyNode(const TaQLSortKeyNodeRep &node)
virtual TaQLNodeResult visitRenDropNode(const TaQLRenDropNodeRep &node)
virtual TaQLNodeResult visitConcTabNode(const TaQLConcTabNodeRep &node)
virtual TaQLNodeResult visitUnaryNode(const TaQLUnaryNodeRep &node)
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
Raw TaQL parse tree node defining a function.
virtual TaQLNodeResult visitUnitNode(const TaQLUnitNodeRep &node)
void handleInsVal(const TaQLNode &)
Handle the INSERT values.
virtual TaQLNodeResult visitRecFldNode(const TaQLRecFldNodeRep &node)
void setTable(const Table &table)
static const TaQLNodeHRValue & getHR(const TaQLNodeResult &)
Get the actual result object from the result.
Record handleMultiRecFld(const TaQLNode &node)
Handle a Multi RecFld representing a Record.
const TaQLNodeResultRep * getRep() const
Get the actual underlying object.
Raw TaQL parse tree node defining an alter table rename or drop command.
Raw TaQL parse tree node defining a create column specification.
virtual TaQLNodeResult visitSetKeyNode(const TaQLSetKeyNodeRep &node)
virtual TaQLNodeResult visitCopyColNode(const TaQLCopyColNodeRep &node)
virtual TaQLNodeResult visitFuncNode(const TaQLFuncNodeRep &node)
Raw TaQL parse tree node defining a unit.
TableParseSelect * topStack() const
Get the top of the TableParseSelect stack.
Raw TaQL parse tree node defining a column update expression.
virtual TaQLNodeResult visitColumnsNode(const TaQLColumnsNodeRep &node)
virtual TaQLNodeResult visitColSpecNode(const TaQLColSpecNodeRep &node)
const String & getString() const
void setNameMask(const String &nameMask)
Vector< String > * itsNames
virtual ~TaQLNodeHandler()
Raw TaQL parse tree node defining a DROP TABLE command.
void setValueHolder(const ValueHolder &vh)
virtual TaQLNodeResult visitDropTabNode(const TaQLDropTabNodeRep &node)
void setDtype(const String &dtype)
const String & getDtype() const
Envelope class to hold the result of a visit to the node tree.
const TableExprNodeSetElem * getElem() const
Raw TaQL parse tree node defining a limit/offset expression.
TaQLNodeHRValue(const TableExprNode &expr)
TableExprNodeSet * itsSet
Raw TaQL parse tree node defining a sort key.
Raw TaQL parse tree node defining a sort list.
void handleTables(const TaQLMultiNode &, Bool addToFromList=True)
Handle a MultiNode containing table info.
void handleLikeDrop(const TaQLMultiNode &node)
Handle the possible LIKE table DROP COLUMN part.
virtual TaQLNodeResult visitLimitOffNode(const TaQLLimitOffNodeRep &node)
Raw TaQL parse tree node defining an alter table add column command.
String: the storage and methods of handling collections of characters.
Raw TaQL parse tree node defining a select column expression.
void setInt(Int ival)
Set the values.
const Table & getTable() const
Raw TaQL parse tree node defining a show command.
Raw TaQL parse tree node defining a select column list.
virtual TaQLNodeResult visitGroupNode(const TaQLGroupNodeRep &node)
Raw TaQL parse tree node defining a join operation.
Envelope class for a node in the raw TaQL parse tree.
virtual TaQLNodeResult visitAltTabNode(const TaQLAltTabNodeRep &node)
void handleInsCol(const TaQLMultiNode &)
Handle the INSERT columns.
virtual TaQLNodeResult visitAddColNode(const TaQLAddColNodeRep &node)
Class to visit the nodes in the raw TaQL parse tree.
virtual ~TaQLNodeHRValue()
Class containing the result value of the handling of a TaQLNode.
TaQLNodeResult handleTree(const TaQLNode &tree, const std::vector< const Table * > &)
Handle and process the raw parse tree.
virtual TaQLNodeResult visitCalcNode(const TaQLCalcNodeRep &node)
void handleWhere(const TaQLNode &)
Handle the WHERE clause.
Raw TaQL parse tree node defining a binary operator.
virtual TaQLNodeResult visitColNode(const TaQLColNodeRep &node)
Raw TaQL parse tree node defining an alter table command.
virtual TaQLNodeResult visitCountNode(const TaQLCountNodeRep &node)
Raw TaQL parse tree node defining an insert command.
virtual TaQLNodeResult visitUpdateNode(const TaQLUpdateNodeRep &node)
Table makeConcatTable(const TaQLMultiNodeRep &node)
Make a ConcatTable from a nested set of tables.
const Vector< String > * getNames() const