Go to the documentation of this file.
28 #ifndef TABLES_TAQLNODEDER_H
29 #define TABLES_TAQLNODEDER_H
32 #include <casacore/casa/aips.h>
33 #include <casacore/tables/TaQL/TaQLNode.h>
34 #include <casacore/casa/BasicSL/Complex.h>
35 #include <casacore/casa/BasicSL/String.h>
36 #include <casacore/casa/Utilities/Regex.h>
37 #include <casacore/casa/Quanta/MVTime.h>
38 #include <casacore/casa/Containers/Block.h>
86 virtual void show (std::ostream& os)
const;
124 Bool ignoreBlanks,
Int maxDistance);
127 virtual void show (std::ostream& os)
const;
168 virtual void show (std::ostream& os)
const;
223 virtual void show (std::ostream& os)
const;
271 virtual void show (std::ostream& os)
const;
306 virtual void show (std::ostream& os)
const;
339 virtual void show (std::ostream& os)
const;
372 virtual void show (std::ostream& os)
const;
403 virtual void show (std::ostream& os)
const;
433 virtual void show (std::ostream& os)
const;
464 virtual void show (std::ostream& os)
const;
498 virtual void show (std::ostream& os)
const;
530 virtual void show (std::ostream& os)
const;
563 virtual void show (std::ostream& os)
const;
597 virtual void show (std::ostream& os)
const;
630 virtual void show (std::ostream& os)
const;
661 virtual void show (std::ostream& os)
const;
692 virtual void show (std::ostream& os)
const;
733 virtual void show (std::ostream& os)
const;
779 virtual void show (std::ostream& os)
const;
899 virtual void show (std::ostream& os)
const;
938 virtual void show (std::ostream& os)
const;
972 virtual void show (std::ostream& os)
const;
1006 virtual void show (std::ostream& os)
const;
1075 virtual void show (std::ostream& os)
const;
1109 virtual void show (std::ostream& os)
const;
1140 virtual void show (std::ostream& os)
const;
1202 virtual void show (std::ostream& os)
const;
1231 virtual void show (std::ostream& os)
const;
1260 virtual void show (std::ostream& os)
const;
1288 virtual void show (std::ostream& os)
const;
1348 virtual void show (std::ostream& os)
const;
virtual void show(std::ostream &os) const
Print the object in an ostream.
static TaQLSetKeyNodeRep * restore(AipsIO &aio)
virtual ~TaQLAddColNodeRep()
static TaQLConcTabNodeRep * restore(AipsIO &aio)
Raw TaQL parse tree node defining a range.
virtual ~TaQLUnitNodeRep()
virtual ~TaQLCreTabNodeRep()
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual void showDerived(std::ostream &os) const
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLInsertNodeRep(const TaQLMultiNode &with, const TaQLMultiNode &tables, const TaQLMultiNode &insert)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual void save(AipsIO &aio) const
Save the object.
virtual void show(std::ostream &os) const
Print the object in an ostream.
Raw TaQL parse tree node defining a binary operator.
virtual void save(AipsIO &aio) const
Save the object.
TaQLUpdExprNodeRep(const String &name, const String &nameMask, const TaQLMultiNode &indices1, const TaQLMultiNode &indices2, const TaQLNode &expr)
TaQLConstNodeRep(Int64 value)
Raw TaQL parse tree node defining a keyword or column name.
virtual ~TaQLGivingNodeRep()
static TaQLRangeNodeRep * restore(AipsIO &aio)
const String & getUnit() const
Raw TaQL parse tree node defining a constant regex value.
TaQLAltTabNodeRep(const TaQLMultiNode &with, const TaQLNode &table, const TaQLMultiNode &from, const TaQLMultiNode &commands)
static TaQLAltTabNodeRep * restore(AipsIO &aio)
TaQLConcTabNodeRep(const String &tableName, const TaQLMultiNode &tables, const TaQLMultiNode &subtableNames)
static TaQLMultiNodeRep * restore(AipsIO &aio)
Raw TaQL parse tree node defining a select column list.
virtual ~TaQLUnaryNodeRep()
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLUpdExprNodeRep(const String &name, const String &nameMask, const TaQLNode &expr)
TaQLLimitOffNodeRep(const TaQLNode &limit, const TaQLNode &offset)
TaQLAddRowNodeRep(const TaQLNode &nrow)
virtual void save(AipsIO &aio) const
Save the object.
virtual void save(AipsIO &aio) const
Save the object.
static TaQLUpdateNodeRep * restore(AipsIO &aio)
Raw TaQL parse tree node defining a calc command.
TaQLMultiNode itsSubTables
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
std::complex< Double > DComplex
char nodeType() const
Get the node type of the derived class.
static TaQLAddColNodeRep * restore(AipsIO &aio)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual void save(AipsIO &aio) const
Save the object.
virtual ~TaQLFuncNodeRep()
virtual void save(AipsIO &aio) const
Save the object.
virtual ~TaQLConcTabNodeRep()
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual void show(std::ostream &os) const
Print the object in an ostream.
Raw TaQL parse tree node defining a giving expression list.
Raw TaQL parse tree node defining a record field.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual ~TaQLRangeNodeRep()
virtual ~TaQLColumnsNodeRep()
virtual ~TaQLInsertNodeRep()
virtual void show(std::ostream &os) const
Print the object in an ostream.
Raw TaQL parse tree node defining an update command.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLAddColNodeRep(const TaQLMultiNode &cols, const TaQLMultiNode &dminfo)
void setSeparator(uInt incr, const String &sep)
virtual ~TaQLLimitOffNodeRep()
Raw TaQL parse tree node defining a table.
TaQLSortNodeRep(Bool unique, Type type, const TaQLMultiNode &keys)
TaQLFuncNodeRep(const String &name, const TaQLMultiNode &args)
virtual void show(std::ostream &os) const
Print the object in an ostream.
TaQLInsertNodeRep(const TaQLMultiNode &with, const TaQLMultiNode &tables, const TaQLMultiNode &columns, const TaQLNode &values, const TaQLNode &limit)
TaQLUpdateNodeRep(const TaQLMultiNode &with, const TaQLMultiNode &tables, const TaQLMultiNode &update, const TaQLMultiNode &from, const TaQLNode &where, const TaQLNode &sort, const TaQLNode &limitoff)
virtual ~TaQLSelectNodeRep()
static TaQLUpdExprNodeRep * restore(AipsIO &aio)
virtual ~TaQLSortKeyNodeRep()
virtual ~TaQLJoinNodeRep()
TaQLColSpecNodeRep(const String &name, const String &dtype, const TaQLMultiNode &spec)
Raw TaQL parse tree node defining a select column expression.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLMultiNode itsIndices1
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual ~TaQLGroupNodeRep()
virtual void save(AipsIO &aio) const
Save the object.
Envelope class to hold the result of a visit to the node tree.
virtual void save(AipsIO &aio) const
Save the object.
virtual void save(AipsIO &aio) const
Save the object.
Raw TaQL parse tree node defining an alter table command.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLConstNodeRep(Double value)
virtual void show(std::ostream &os) const
Print the object in an ostream.
Raw TaQL parse tree node defining an alter table add column command.
virtual ~TaQLSortNodeRep()
static TaQLGivingNodeRep * restore(AipsIO &aio)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
std::vector< TaQLNode > itsNodes
virtual void save(AipsIO &aio) const
Save the object.
Type
Do not change the values of this enum, as objects might be persistent.
static TaQLBinaryNodeRep * handleRegex(const TaQLNode &left, const TaQLRegexNode ®ex)
Handle a comparison wih a regex.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual ~TaQLAltTabNodeRep()
TaQLRangeNodeRep(Bool leftClosed, TaQLNode start, const TaQLNode &end, Bool rightClosed)
Raw TaQL parse tree node defining a limit/offset expression.
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual void show(std::ostream &os) const
Print the object in an ostream.
Raw TaQL parse tree node defining an alter table rename or drop command.
virtual void showDerived(std::ostream &os) const
TaQLColNodeRep(const TaQLNode &expr, const String &name, const String &nameMask, const String &dtype)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLConstNodeRep(Double value, const String &unit)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
void add(const TaQLNode &node)
static TaQLColumnsNodeRep * restore(AipsIO &aio)
TaQLSortKeyNodeRep(Type type, const TaQLNode &child)
TaQLMultiNodeRep(Bool isSetOrArray=False)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual void show(std::ostream &os) const
Print the object in an ostream.
TaQLRegexNodeRep(const String &value, Bool caseInsensitive, Bool negate, Bool ignoreBlanks, Int maxDistance)
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
static TaQLUnitNodeRep * restore(AipsIO &aio)
virtual void show(std::ostream &os) const
Print the object in an ostream.
void setSeparator(const String &sep)
TaQLConstNodeRep(DComplex value)
virtual ~TaQLIndexNodeRep()
virtual void save(AipsIO &aio) const
Save the object.
virtual void save(AipsIO &aio) const
Save the object.
static TaQLTableNodeRep * restore(AipsIO &aio)
TaQLGivingNodeRep(const TaQLMultiNode &exprlist)
virtual void showDerived(std::ostream &os) const
TaQLFuncNodeRep(const String &name)
Raw TaQL parse tree node defining an insert command.
static TaQLConstNodeRep * restore(AipsIO &aio)
TaQLRangeNodeRep(const TaQLNode &end, Bool rightClosed)
virtual void showDerived(std::ostream &os) const
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLJoinNodeRep(const TaQLMultiNode &tables, const TaQLNode &condition)
virtual void show(std::ostream &os) const
Print the object in an ostream.
TaQLCountNodeRep(const TaQLMultiNode &with, const TaQLNode &columns, const TaQLMultiNode &tables, const TaQLNode &where)
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual void show(std::ostream &os) const
Print the object in an ostream.
Raw TaQL parse tree node defining a selection command.
virtual ~TaQLRecFldNodeRep()
Envelope class for a node containing a list of nodes.
TableExprNode regex(const TableExprNode &node)
Functions for regular expression matching and pattern matching.
virtual void save(AipsIO &aio) const
Save the object.
Type
Do not change the values of this enum, as objects might be persistent.
Bool getFromExecute() const
virtual void save(AipsIO &aio) const
Save the object.
virtual void show(std::ostream &os) const
Print the object in an ostream.
TaQLCreTabNodeRep(const TaQLMultiNode &with, const TaQLNode &giving, const TaQLMultiNode &cols, const TaQLNode &limit, const TaQLMultiNode &dminfo)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLTableNodeRep(const TaQLNode &table, const String &alias)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual void saveSuper(AipsIO &aio) const
virtual void save(AipsIO &aio) const
Save the object.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLRecFldNodeRep(const String &name, const TaQLNode &values, const String &dtype)
static TaQLColSpecNodeRep * restore(AipsIO &aio)
const std::vector< TaQLNode > & getNodes() const
static TaQLDeleteNodeRep * restore(AipsIO &aio)
Envelope class for a node containing a constant regex value.
virtual void save(AipsIO &aio) const
Save the object.
TaQLRecFldNodeRep(const String &name, const String &fromName, const String &dtype)
static TaQLUnaryNodeRep * restore(AipsIO &aio)
virtual void showDerived(std::ostream &os) const =0
virtual void show(std::ostream &os) const
Print the object in an ostream.
TaQLBinaryNodeRep(Type type, const TaQLNode &left, const TaQLNode &right)
static TaQLRenDropNodeRep * restore(AipsIO &aio)
TaQLMultiNode itsIndices2
virtual void save(AipsIO &aio) const
Save the object.
this file contains all the compiler specific defines
Type
Do not change the values of this enum, as objects might be persistent.
virtual ~TaQLColSpecNodeRep()
virtual ~TaQLTableNodeRep()
Raw TaQL parse tree node defining a select command.
static TaQLKeyColNodeRep * restore(AipsIO &aio)
virtual ~TaQLColNodeRep()
Raw TaQL parse tree node defining a unit.
virtual void show(std::ostream &os) const
Print the object in an ostream.
static TaQLRecFldNodeRep * restore(AipsIO &aio)
virtual void save(AipsIO &aio) const
Save the object.
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual void save(AipsIO &aio) const
Save the object.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
Raw TaQL parse tree node defining an alter table command.
virtual void save(AipsIO &aio) const
Save the object.
TaQLMultiNode itsCommands
Raw TaQL parse tree node defining a sort list.
virtual ~TaQLQueryNodeRep()
TaQLUnaryNodeRep(Type type, const TaQLNode &child)
TaQLColumnsNodeRep(Bool distinct, const TaQLMultiNode &nodes)
virtual void save(AipsIO &aio) const
Save the object.
virtual void save(AipsIO &aio) const
Save the object.
Raw TaQL parse tree node defining a function.
virtual void save(AipsIO &aio) const
Save the object.
TaQLSetKeyNodeRep(const TaQLMultiNode &keyvals)
TaQLGivingNodeRep(const String &name, const TaQLMultiNode &type)
TaQLUpdExprNodeRep(const String &name, const String &nameMask, const TaQLMultiNode &indices, const TaQLNode &expr)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual ~TaQLSetKeyNodeRep()
virtual void save(AipsIO &aio) const
Save the object.
TaQLRegexNodeRep(const String &value)
Raw TaQL parse tree node defining a show command.
TaQLConstNodeRep(Bool value)
virtual void save(AipsIO &aio) const
Save the object.
TaQLRecFldNodeRep(const String &name, const TaQLRecFldNodeRep &)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
Raw TaQL parse tree node defining a column update expression.
virtual void show(std::ostream &os) const
Print the object in an ostream.
static TaQLAddRowNodeRep * restore(AipsIO &aio)
virtual void show(std::ostream &os) const
Print the object in an ostream.
Raw TaQL parse tree node defining an index in a array.
virtual void save(AipsIO &aio) const
Save the object.
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual void restoreSuper(AipsIO &aio)
static TaQLJoinNodeRep * restore(AipsIO &aio)
TaQLCalcNodeRep(const TaQLMultiNode &withTables, const TaQLMultiNode &fromTables, const TaQLNode &expr, const TaQLNode &where, const TaQLNode &sort, const TaQLNode &limitoff)
static TaQLGroupNodeRep * restore(AipsIO &aio)
virtual void show(std::ostream &os) const
Print the object in an ostream.
static TaQLInsertNodeRep * restore(AipsIO &aio)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
void setPPFix(const String &prefix, const String &postfix)
static TaQLRegexNodeRep * restore(AipsIO &aio)
virtual ~TaQLRegexNodeRep()
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
static TaQLCalcNodeRep * restore(AipsIO &aio)
static TaQLLimitOffNodeRep * restore(AipsIO &aio)
virtual void save(AipsIO &aio) const
Save the object.
TaQLRenDropNodeRep(Int type, const TaQLMultiNode &cols)
virtual ~TaQLConstNodeRep()
virtual void save(AipsIO &aio) const
Save the object.
static TaQLSortNodeRep * restore(AipsIO &aio)
virtual void show(std::ostream &os) const
Print the object in an ostream.
TaQLSelectNodeRep(const TaQLNode &columns, const TaQLMultiNode &withTables, const TaQLMultiNode &fromTables, const TaQLNode &join, const TaQLNode &where, const TaQLNode &groupby, const TaQLNode &having, const TaQLNode &sort, const TaQLNode &limitoff, const TaQLNode &giving, const TaQLMultiNode &dminfo)
virtual ~TaQLKeyColNodeRep()
Type
Do not change the values of this enum, as objects might be persistent.
Raw TaQL parse tree node defining an alter table add rows command.
static TaQLSortKeyNodeRep * restore(AipsIO &aio)
TaQLDeleteNodeRep(const TaQLMultiNode &with, const TaQLMultiNode &tables, const TaQLNode &where, const TaQLNode &sort, const TaQLNode &limitoff)
static TaQLFuncNodeRep * restore(AipsIO &aio)
Raw TaQL parse tree node defining a join operation.
virtual ~TaQLShowNodeRep()
virtual void show(std::ostream &os) const
Print the object in an ostream.
String: the storage and methods of handling collections of characters.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLRangeNodeRep(Bool leftClosed, const TaQLNode &start)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLIndexNodeRep(const TaQLNode &start, const TaQLNode &end, const TaQLNode &incr)
TaQLUnitNodeRep(const String &unit, const TaQLNode &child)
virtual void show(std::ostream &os) const
Print the object in an ostream.
Bool getNoExecute() const
bool Bool
Define the standard types used by Casacore.
Type
Do not change the values of this enum, as objects might be persistent.
TaQLConstNodeRep(const MVTime &value)
Normal or Gaussian distribution.
TaQLMultiNode itsExprList
virtual ~TaQLUpdateNodeRep()
virtual ~TaQLUpdExprNodeRep()
const String & getString() const
virtual ~TaQLBinaryNodeRep()
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual ~TaQLCountNodeRep()
static TaQLSelectNodeRep * restore(AipsIO &aio)
static TaQLCreTabNodeRep * restore(AipsIO &aio)
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual ~TaQLCalcNodeRep()
Type
Do not change the values of this enum, as objects might be persistent.
virtual void save(AipsIO &aio) const
Save the object.
Raw TaQL parse tree node defining a count command.
TaQLConstNodeRep(Int64 value, const String &subTableName)
TaQLKeyColNodeRep(const String &name, const String &nameMask=String())
TaQLQueryNodeRep(int nodeType)
static TaQLBinaryNodeRep * restore(AipsIO &aio)
static TaQLShowNodeRep * restore(AipsIO &aio)
virtual ~TaQLDeleteNodeRep()
TaQLConstNodeRep(const String &value, Bool isTableName=False)
virtual void save(AipsIO &aio) const
Save the object.
TaQLShowNodeRep(const TaQLMultiNode &names)
virtual void show(std::ostream &os) const
Print the object in an ostream.
static TaQLColNodeRep * restore(AipsIO &aio)
static TaQLCountNodeRep * restore(AipsIO &aio)
virtual ~TaQLAddRowNodeRep()
Raw TaQL parse tree node defining a create column specification.
Raw TaQL parse tree node defining a list of nodes.
Raw TaQL parse tree node defining an alter table set keyword command.
TaQLMultiNodeRep(const String &prefix, const String &postfix, Bool isSetOrArray=False)
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual void save(AipsIO &aio) const
Save the object.
virtual ~TaQLRenDropNodeRep()
Raw TaQL parse tree node defining a groupby list.
Raw TaQL parse tree node defining a sort key.
TaQLGroupNodeRep(Type type, const TaQLMultiNode &nodes)
virtual void save(AipsIO &aio) const
Save the object.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual void showDerived(std::ostream &os) const
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
Raw TaQL parse tree node defining a unary operator.
TaQLSelectNodeRep(const TaQLNode &columns, const TaQLMultiNode &withTables, const TaQLNode &where, const TaQLNode &groupby, const TaQLNode &having, const TaQLNode &sort, const TaQLNode &limitoff, const TaQLNode &giving, const TaQLMultiNode &dminfo)
Raw TaQL parse tree node defining a delete command.
virtual void save(AipsIO &aio) const
Save the object.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual void save(AipsIO &aio) const
Save the object.
Raw TaQL parse tree node defining a create table command.
static TaQLIndexNodeRep * restore(AipsIO &aio)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual void save(AipsIO &aio) const
Save the object.
virtual void save(AipsIO &aio) const
Save the object.
virtual ~TaQLMultiNodeRep()