3#ifndef RDBMODEL_ASSERTION_H
4#define RDBMODEL_ASSERTION_H
5#include "rdbModel/Management/Visitor.h"
6#include "rdbModel/Rdb.h"
7#include "rdbModel/Tables/Column.h"
86 bool keepChildren =
false );
127 bool verifyCompare(
Row& old,
Row& toBe,
Table*
t )
const;
130 bool compareTs(
const std::string* vals,
OPTYPE type )
const;
133 bool compareInt(
const std::string* vals,
OPTYPE type )
const;
136 bool compareFloat(
const std::string* vals,
OPTYPE type )
const;
139 bool compareString(
const std::string* vals,
OPTYPE type )
const;
152 std::string m_compareArgs[2];
156 std::string m_tableName;
161 std::vector<Operator*> m_operands;
178 : m_op( op ), m_myTable( myTable ), m_keepOp( keepOp ) {
200 bool getToBe()
const {
return m_op->getToBe(); }
204 bool getOld()
const {
return m_op->getOld(); }
206 const std::string&
getName()
const {
return m_name; }
207 void setName(
const std::string& name ) { m_name = name; }
229 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)