2#ifndef RDBMODEL_ASSERTION_H
3#define RDBMODEL_ASSERTION_H
6#include "rdbModel/Rdb.h"
7#include "rdbModel/Management/Visitor.h"
8#include "rdbModel/Tables/Column.h"
79 const std::string& rightArg,
87 bool keepChildren =
false);
113 const std::vector<Operator* >&
getChildren()
const;
130 bool verifyCompare(
Row& old,
Row& toBe,
Table*
t)
const;
133 bool compareTs(
const std::string* vals,
OPTYPE type)
const;
136 bool compareInt(
const std::string* vals,
OPTYPE type)
const;
139 bool compareFloat(
const std::string* vals,
OPTYPE type)
const;
142 bool compareString(
const std::string* vals,
OPTYPE type)
const;
155 std::string m_compareArgs[2];
159 std::string m_tableName;
164 std::vector<Operator* > m_operands;
181 m_op(op), m_myTable(myTable), m_keepOp(keepOp)
182 { m_compiled.clear(); m_name.clear();};
207 const std::string&
getName()
const {
return m_name;}
208 void setName(
const std::string& name) {m_name = name;}
230 std::string m_compiled;
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
bool appendChild(Operator *child)
Add another child to a conjunction-style operator.
const std::vector< Operator * > & getChildren() const
Throw exception if Operator is a comparison operator.
bool getToBe() const
True if operator or sub-operator refers to future row.
const std::string & getTableName() const
Throw exception if Operaotr is not EXISTS.
const std::string * getCompareArgs() const
Throw exception if Operator is not a comparison operator.
bool getOld() const
True if operator or sub-operator refers to existing row.
bool validCompareOp(Table *table) const
const FIELDTYPE * getCompareArgTypes() const
Get types of comparison args.
bool verify(Row &old, Row &toBe, Table *t) const
Evaluate operator on argument Rows.
Visitor::VisitorState accept(Visitor *v)
bool verify(Row &old, Row &toBe) const
Operator * getOperator() const
void setName(const std::string &name)
const std::string & getName() const
const std::string & getPrecompiled() const
Assertion(Operator *op=0, Table *myTable=0, bool keepOp=false)