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;
Normal or Gaussian distribution.
String: the storage and methods of handling collections of characters.
Raw TaQL parse tree node defining an alter table add column command.
static TaQLAddColNodeRep * restore(AipsIO &aio)
TaQLAddColNodeRep(const TaQLMultiNode &cols, const TaQLMultiNode &dminfo)
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.
virtual ~TaQLAddColNodeRep()
Raw TaQL parse tree node defining an alter table add rows command.
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.
TaQLAddRowNodeRep(const TaQLNode &nrow)
static TaQLAddRowNodeRep * restore(AipsIO &aio)
virtual ~TaQLAddRowNodeRep()
Raw TaQL parse tree node defining an alter table command.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual void save(AipsIO &aio) const
Save the object.
TaQLMultiNode itsCommands
virtual ~TaQLAltTabNodeRep()
static TaQLAltTabNodeRep * restore(AipsIO &aio)
virtual void showDerived(std::ostream &os) const
TaQLAltTabNodeRep(const TaQLMultiNode &with, const TaQLNode &table, const TaQLMultiNode &from, const TaQLMultiNode &commands)
Raw TaQL parse tree node defining a binary operator.
virtual void save(AipsIO &aio) const
Save the object.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLBinaryNodeRep(Type type, const TaQLNode &left, const TaQLNode &right)
static TaQLBinaryNodeRep * restore(AipsIO &aio)
virtual void show(std::ostream &os) const
Print the object in an ostream.
static TaQLBinaryNodeRep * handleRegex(const TaQLNode &left, const TaQLRegexNode ®ex)
Handle a comparison wih a regex.
virtual ~TaQLBinaryNodeRep()
Type
Do not change the values of this enum, as objects might be persistent.
Raw TaQL parse tree node defining a calc command.
virtual ~TaQLCalcNodeRep()
static TaQLCalcNodeRep * 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 show(std::ostream &os) const
Print the object in an ostream.
TaQLCalcNodeRep(const TaQLMultiNode &withTables, const TaQLMultiNode &fromTables, const TaQLNode &expr, const TaQLNode &where, const TaQLNode &sort, const TaQLNode &limitoff)
Raw TaQL parse tree node defining a select column expression.
virtual ~TaQLColNodeRep()
virtual void save(AipsIO &aio) const
Save the object.
TaQLColNodeRep(const TaQLNode &expr, const String &name, const String &nameMask, const String &dtype)
static TaQLColNodeRep * 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.
Raw TaQL parse tree node defining a create column specification.
static TaQLColSpecNodeRep * restore(AipsIO &aio)
virtual void save(AipsIO &aio) const
Save the object.
TaQLColSpecNodeRep(const String &name, const String &dtype, const TaQLMultiNode &spec)
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 ~TaQLColSpecNodeRep()
Raw TaQL parse tree node defining a select column list.
static TaQLColumnsNodeRep * restore(AipsIO &aio)
virtual void show(std::ostream &os) const
Print the object in an ostream.
TaQLColumnsNodeRep(Bool distinct, const TaQLMultiNode &nodes)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual ~TaQLColumnsNodeRep()
virtual void save(AipsIO &aio) const
Save the object.
Raw TaQL parse tree node defining an alter table command.
TaQLConcTabNodeRep(const String &tableName, const TaQLMultiNode &tables, const TaQLMultiNode &subtableNames)
virtual void showDerived(std::ostream &os) const
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual void save(AipsIO &aio) const
Save the object.
static TaQLConcTabNodeRep * restore(AipsIO &aio)
TaQLMultiNode itsSubTables
virtual ~TaQLConcTabNodeRep()
TaQLConstNodeRep(Bool value)
Type
Do not change the values of this enum, as objects might be persistent.
TaQLConstNodeRep(Int64 value)
virtual void show(std::ostream &os) const
Print the object in an ostream.
const String & getString() const
virtual ~TaQLConstNodeRep()
TaQLConstNodeRep(const String &value, Bool isTableName=False)
static TaQLConstNodeRep * restore(AipsIO &aio)
TaQLConstNodeRep(Int64 value, const String &subTableName)
const String & getUnit() const
virtual void save(AipsIO &aio) const
Save the object.
TaQLConstNodeRep(Double value)
TaQLConstNodeRep(const MVTime &value)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLConstNodeRep(DComplex value)
TaQLConstNodeRep(Double value, const String &unit)
Raw TaQL parse tree node defining a count command.
virtual ~TaQLCountNodeRep()
static TaQLCountNodeRep * restore(AipsIO &aio)
TaQLCountNodeRep(const TaQLMultiNode &with, const TaQLNode &columns, const TaQLMultiNode &tables, const TaQLNode &where)
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
Raw TaQL parse tree node defining a create table command.
virtual void showDerived(std::ostream &os) const
virtual ~TaQLCreTabNodeRep()
virtual void save(AipsIO &aio) const
Save the object.
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.
static TaQLCreTabNodeRep * restore(AipsIO &aio)
Raw TaQL parse tree node defining a delete command.
static TaQLDeleteNodeRep * 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.
TaQLDeleteNodeRep(const TaQLMultiNode &with, const TaQLMultiNode &tables, const TaQLNode &where, const TaQLNode &sort, const TaQLNode &limitoff)
virtual void save(AipsIO &aio) const
Save the object.
virtual ~TaQLDeleteNodeRep()
Raw TaQL parse tree node defining a function.
virtual void save(AipsIO &aio) const
Save the object.
TaQLFuncNodeRep(const String &name, const TaQLMultiNode &args)
static TaQLFuncNodeRep * restore(AipsIO &aio)
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual ~TaQLFuncNodeRep()
TaQLFuncNodeRep(const String &name)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
Raw TaQL parse tree node defining a giving expression list.
static TaQLGivingNodeRep * restore(AipsIO &aio)
TaQLMultiNode itsExprList
TaQLGivingNodeRep(const TaQLMultiNode &exprlist)
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual void save(AipsIO &aio) const
Save the object.
TaQLGivingNodeRep(const String &name, const TaQLMultiNode &type)
virtual ~TaQLGivingNodeRep()
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
Raw TaQL parse tree node defining a groupby list.
virtual void save(AipsIO &aio) const
Save the object.
virtual ~TaQLGroupNodeRep()
TaQLGroupNodeRep(Type type, const TaQLMultiNode &nodes)
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
Type
Do not change the values of this enum, as objects might be persistent.
static TaQLGroupNodeRep * restore(AipsIO &aio)
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.
TaQLIndexNodeRep(const TaQLNode &start, const TaQLNode &end, const TaQLNode &incr)
static TaQLIndexNodeRep * restore(AipsIO &aio)
virtual ~TaQLIndexNodeRep()
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
Raw TaQL parse tree node defining an insert command.
TaQLInsertNodeRep(const TaQLMultiNode &with, const TaQLMultiNode &tables, const TaQLMultiNode &columns, const TaQLNode &values, const TaQLNode &limit)
TaQLInsertNodeRep(const TaQLMultiNode &with, const TaQLMultiNode &tables, const TaQLMultiNode &insert)
virtual void save(AipsIO &aio) const
Save the object.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual ~TaQLInsertNodeRep()
static TaQLInsertNodeRep * restore(AipsIO &aio)
virtual void show(std::ostream &os) const
Print the object in an ostream.
Raw TaQL parse tree node defining a join operation.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
static TaQLJoinNodeRep * restore(AipsIO &aio)
TaQLJoinNodeRep(const TaQLMultiNode &tables, const TaQLNode &condition)
virtual void save(AipsIO &aio) const
Save the object.
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual ~TaQLJoinNodeRep()
Raw TaQL parse tree node defining a keyword or column name.
virtual void save(AipsIO &aio) const
Save the object.
static TaQLKeyColNodeRep * restore(AipsIO &aio)
TaQLKeyColNodeRep(const String &name, const String &nameMask=String())
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual ~TaQLKeyColNodeRep()
virtual void show(std::ostream &os) const
Print the object in an ostream.
Raw TaQL parse tree node defining a limit/offset expression.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual ~TaQLLimitOffNodeRep()
virtual void save(AipsIO &aio) const
Save the object.
static TaQLLimitOffNodeRep * restore(AipsIO &aio)
virtual void show(std::ostream &os) const
Print the object in an ostream.
TaQLLimitOffNodeRep(const TaQLNode &limit, const TaQLNode &offset)
Raw TaQL parse tree node defining a list of nodes.
static TaQLMultiNodeRep * restore(AipsIO &aio)
void setSeparator(uInt incr, const String &sep)
const std::vector< TaQLNode > & getNodes() const
TaQLMultiNodeRep(const String &prefix, const String &postfix, Bool isSetOrArray=False)
void setSeparator(const String &sep)
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.
TaQLMultiNodeRep(Bool isSetOrArray=False)
void setPPFix(const String &prefix, const String &postfix)
virtual ~TaQLMultiNodeRep()
void add(const TaQLNode &node)
std::vector< TaQLNode > itsNodes
Envelope class for a node containing a list of nodes.
char nodeType() const
Get the node type of the derived class.
Envelope class to hold the result of a visit to the node tree.
Raw TaQL parse tree node defining a selection command.
virtual void showDerived(std::ostream &os) const =0
Bool getNoExecute() const
virtual void saveSuper(AipsIO &aio) const
Bool getFromExecute() const
TaQLQueryNodeRep(int nodeType)
virtual void restoreSuper(AipsIO &aio)
virtual ~TaQLQueryNodeRep()
virtual void show(std::ostream &os) const
Print the object in an ostream.
Raw TaQL parse tree node defining a range.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLRangeNodeRep(const TaQLNode &end, Bool rightClosed)
TaQLRangeNodeRep(Bool leftClosed, const TaQLNode &start)
virtual void save(AipsIO &aio) const
Save the object.
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual ~TaQLRangeNodeRep()
TaQLRangeNodeRep(Bool leftClosed, TaQLNode start, const TaQLNode &end, Bool rightClosed)
static TaQLRangeNodeRep * restore(AipsIO &aio)
Raw TaQL parse tree node defining a record field.
static TaQLRecFldNodeRep * restore(AipsIO &aio)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual ~TaQLRecFldNodeRep()
TaQLRecFldNodeRep(const String &name, const TaQLRecFldNodeRep &)
virtual void save(AipsIO &aio) const
Save the object.
virtual void show(std::ostream &os) const
Print the object in an ostream.
TaQLRecFldNodeRep(const String &name, const TaQLNode &values, const String &dtype)
TaQLRecFldNodeRep(const String &name, const String &fromName, const String &dtype)
Raw TaQL parse tree node defining a constant regex value.
TaQLRegexNodeRep(const String &value)
virtual ~TaQLRegexNodeRep()
static TaQLRegexNodeRep * restore(AipsIO &aio)
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.
TaQLRegexNodeRep(const String &value, Bool caseInsensitive, Bool negate, Bool ignoreBlanks, Int maxDistance)
Envelope class for a node containing a constant regex value.
Raw TaQL parse tree node defining an alter table rename or drop command.
virtual ~TaQLRenDropNodeRep()
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
static TaQLRenDropNodeRep * 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.
TaQLRenDropNodeRep(Int type, const TaQLMultiNode &cols)
Raw TaQL parse tree node defining a select command.
virtual ~TaQLSelectNodeRep()
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)
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 void showDerived(std::ostream &os) const
virtual void save(AipsIO &aio) const
Save the object.
static TaQLSelectNodeRep * restore(AipsIO &aio)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
Raw TaQL parse tree node defining an alter table set keyword command.
static TaQLSetKeyNodeRep * 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 ~TaQLSetKeyNodeRep()
virtual void save(AipsIO &aio) const
Save the object.
TaQLSetKeyNodeRep(const TaQLMultiNode &keyvals)
Raw TaQL parse tree node defining a show command.
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual void save(AipsIO &aio) const
Save the object.
virtual ~TaQLShowNodeRep()
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLShowNodeRep(const TaQLMultiNode &names)
static TaQLShowNodeRep * restore(AipsIO &aio)
Raw TaQL parse tree node defining a sort key.
static TaQLSortKeyNodeRep * restore(AipsIO &aio)
TaQLSortKeyNodeRep(Type type, const TaQLNode &child)
virtual void save(AipsIO &aio) const
Save the object.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
virtual void show(std::ostream &os) const
Print the object in an ostream.
Type
Do not change the values of this enum, as objects might be persistent.
virtual ~TaQLSortKeyNodeRep()
Raw TaQL parse tree node defining a sort list.
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual ~TaQLSortNodeRep()
Type
Do not change the values of this enum, as objects might be persistent.
TaQLSortNodeRep(Bool unique, Type type, const TaQLMultiNode &keys)
virtual void save(AipsIO &aio) const
Save the object.
static TaQLSortNodeRep * restore(AipsIO &aio)
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
Raw TaQL parse tree node defining a table.
virtual ~TaQLTableNodeRep()
virtual void save(AipsIO &aio) const
Save the object.
static TaQLTableNodeRep * restore(AipsIO &aio)
TaQLTableNodeRep(const TaQLNode &table, const String &alias)
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
Raw TaQL parse tree node defining a unary operator.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
Type
Do not change the values of this enum, as objects might be persistent.
virtual ~TaQLUnaryNodeRep()
virtual void show(std::ostream &os) const
Print the object in an ostream.
static TaQLUnaryNodeRep * restore(AipsIO &aio)
TaQLUnaryNodeRep(Type type, const TaQLNode &child)
virtual void save(AipsIO &aio) const
Save the object.
Raw TaQL parse tree node defining a unit.
virtual void save(AipsIO &aio) const
Save the object.
virtual ~TaQLUnitNodeRep()
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLUnitNodeRep(const String &unit, const TaQLNode &child)
static TaQLUnitNodeRep * restore(AipsIO &aio)
Raw TaQL parse tree node defining a column update expression.
TaQLUpdExprNodeRep(const String &name, const String &nameMask, const TaQLMultiNode &indices, const TaQLNode &expr)
virtual void show(std::ostream &os) const
Print the object in an ostream.
virtual ~TaQLUpdExprNodeRep()
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
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)
static TaQLUpdExprNodeRep * restore(AipsIO &aio)
TaQLMultiNode itsIndices1
TaQLUpdExprNodeRep(const String &name, const String &nameMask, const TaQLNode &expr)
TaQLMultiNode itsIndices2
Raw TaQL parse tree node defining an update command.
virtual void save(AipsIO &aio) const
Save the object.
virtual TaQLNodeResult visit(TaQLNodeVisitor &) const
Visit a node for tree traversal.
TaQLUpdateNodeRep(const TaQLMultiNode &with, const TaQLMultiNode &tables, const TaQLMultiNode &update, const TaQLMultiNode &from, const TaQLNode &where, const TaQLNode &sort, const TaQLNode &limitoff)
static TaQLUpdateNodeRep * restore(AipsIO &aio)
virtual ~TaQLUpdateNodeRep()
virtual void show(std::ostream &os) const
Print the object in an ostream.
std::complex< Double > DComplex
this file contains all the compiler specific defines
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
TableExprNode regex(const TableExprNode &node)
Functions for regular expression matching and pattern matching.
bool Bool
Define the standard types used by Casacore.
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.