51 : m_EvalRow((unsigned
int)-1)
90 unsigned int col = (
unsigned int)
id;
92 if (col != (
unsigned int)-1) {
105 else if (ival == 0) {
117 else if (dval == 0.0) {
143 unsigned int col = (
unsigned int)
id;
145 if (col != (
unsigned int)-1) {
178 unsigned int col = (
unsigned int)
id;
180 if (col != (
unsigned int)-1) {
213 unsigned int col = (
unsigned int)
id;
215 if (col != (
unsigned int)-1) {
263 return (
unsigned int)-1;
317 bool selected =
false;
325 top_node->
GetValue().GetUserObject());
class CQueryExecException
bool GetValue() const
Set boolean result value (result of (sub)expression).
Query tree and associated utility methods.
virtual bool EvalComplete()
virtual bool HasIdentifier(const std::string &identifier)
Search for 'identifier' in dictionary and return true if it exists.
virtual TFieldID GetIdentifier(const std::string &identifier)
Get column number for identifier or return TFieldID(-1)
unsigned int m_EvalRow
current table row for evaluation purposes
CIRef< ITableData > m_TableData
pointer to data including data dictionary (columm names)
std::vector< size_t > m_Selected
currently selected rows from table
virtual bool ResolveIdentifier(const std::string &identifier, bool &value)
If query has an identifier, this will resolve it in an application-specific way.
virtual CQueryParseNode::EType IdentifierType(const std::string &identifier)
Return one of eIntConst, eBoolConst, eFloatConst, eString, or eNotSet.
unsigned int x_GetColumnIdx(const std::string &col_name)
return index of col_name or (unsigned int)-1 if it is not found
virtual void EvalStart()
Move to the first row for eval, return false if table empty.
virtual bool EvalNext(CQueryParseTree &qtree)
Move to the next row for eval, return false if table size < m_EvalRow+1.
CTableQueryExec(ITableData &td)
definition of a Culling tree
Include a standard set of the NCBI C++ Toolkit most basic headers.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
const string & GetMsg(void) const
Get message string.
void Info(CExceptionArgs_Base &args)
void Reset(void)
Reset reference object.
int64_t Int8
8-byte (64-bit) signed integer
const TNode * GetQueryTree() const
virtual void Evaluate(CQueryParseTree &qtree)
Run query tree evaluation.
@ eNotSet
Produced by the (private) default constructor.
@ eFloatConst
Floating point const.
@ eIntConst
Integer const.
@ eString
String ("free text")
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static bool StringToBool(const CTempString str)
Convert string to bool.
static string DoubleToString(double value, int precision=-1, TNumToStringFlags flags=0)
Convert double to string.
static int CompareNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive compare of a substring with another string.
static Int8 StringToInt8(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to Int8.
static string LongToString(long value, TNumToStringFlags flags=0, int base=10)
Convert Int to string.
static double StringToDouble(const CTempStringEx str, TStringToNumFlags flags=0)
Convert string to double.
const TValue & GetValue(void) const
Return node's value.
unsigned int
A callback function used to compare two keys in a database.
<!DOCTYPE HTML >< html > n< header > n< title > PubSeq Gateway Help Page</title > n< style > n td
const GenericPointer< typename T::ValueType > T2 value
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.