59 case eBoolResult:
return "boolean expression result";
60 case eBool:
return "boolean const";
61 case eInt:
return "int const";
62 case eFloat:
return "float const";
63 case eString:
return "non-convertible string";
64 case eSeqID:
return "possible seq-id identifier";
65 case eStringBool:
return "bool converted from a string";
66 case eStringInt:
return "integer converted form a string";
67 case eStringFloat:
return "float converted from a string";
68 case eFieldSeqID:
return "possible seq-id field value";
73 case eUndefined:
return "undefined field value";
90 string(
"Bool Value: ") + (
GetValue() ?
"True" :
"False");
125 "Query error. Unable to promote boolean to type: " +
200 "Query error. Unable to promote string " +
210 "Query error. Unable to promote string " +
class CQueryExecException
Int8 m_Int
Int data, if data was an integer or converted into one.
QueryValueType::EBaseType m_DataType
Data type, including source of the data (const, string field, or tree)
bool HasPromoteType(size_t arg_idx, QueryValueType::EBaseType t1, QueryValueType::EBaseType t2)
Return true if there is a promote entry defined for the specified argument pair at 'idx' only if the ...
bool AssignToRef(const CQueryNodeValue &source)
CRef< CQueryNodeValue > m_Ref
Reference to similar object.
virtual void SetString(const string &data)
Set/get underlying data type.
void PromoteTo(QueryValueType::EBaseType pt)
Convert current value to the type 'pt'. Does not update m_DataType.
bool m_Bool
Bool data, if data base a constant boolean or converted into one.
string m_String
String data, if data came from a string or data field in the tree.
virtual void SetDouble(double data)
virtual string GetVisibleValue() const
String value for debuging.
virtual void SetBool(bool data)
double m_Double
Floating point data, if data was a double or converted into one.
vector< CPromoteRule > m_PromoteRules
The promote rules defined for the current operator.
bool GetValue() const
Set boolean result value (result of (sub)expression).
void SetRef(CRef< CQueryNodeValue > node)
QueryValueType::EBaseType GetPromoteType(size_t arg_idx)
Get the promotion type for a specific argument pair, or eUndefined if no rule is available.
virtual void SetInt(Int8 data)
Include a standard set of the NCBI C++ Toolkit most basic headers.
static const char * str(char *buf, int n)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
int64_t Int8
8-byte (64-bit) signed integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static string Int8ToString(Int8 value, TNumToStringFlags flags=0, int base=10)
Convert Int8 to string.
static string DoubleToString(double value, int precision=-1, TNumToStringFlags flags=0)
Convert double to string.
unsigned int
A callback function used to compare two keys in a database.
EBaseType
Set of all possible types for nodes.
string GetTypeAsString(EBaseType et)
const CharType(& source)[N]
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.