A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/group__QParser.html below:

Query Parser and Query Tree

enum   CQueryParseNode::EType {
  CQueryParseNode::eNotSet = 0 , CQueryParseNode::eIdentifier , CQueryParseNode::eIntConst , CQueryParseNode::eFloatConst ,
  CQueryParseNode::eBoolConst , CQueryParseNode::eString , CQueryParseNode::eFunction , CQueryParseNode::eNot ,
  CQueryParseNode::eFieldSearch , CQueryParseNode::eLike , CQueryParseNode::eBetween , CQueryParseNode::eIn ,
  CQueryParseNode::eAnd , CQueryParseNode::eOr , CQueryParseNode::eSub , CQueryParseNode::eXor ,
  CQueryParseNode::eRange , CQueryParseNode::eEQ , CQueryParseNode::eGT , CQueryParseNode::eGE ,
  CQueryParseNode::eLT , CQueryParseNode::eLE , CQueryParseNode::eSelect , CQueryParseNode::eFrom ,
  CQueryParseNode::eWhere , CQueryParseNode::eList , CQueryParseNode::eMaxType
}   Query node type. More...
  enum   CQueryParseTree::ECase { CQueryParseTree::eCaseSensitiveUpper , CQueryParseTree::eCaseInsensitive }   Case sensitive parsing. More...
  enum   CQueryParseTree::ESyntaxCheck { CQueryParseTree::eSyntaxCheck , CQueryParseTree::eSyntaxRelax }   Level of tolerance to syntax errors and problems. More...
  enum   CQueryParseException::EErrCode { CQueryParseException::eIncorrectNodeType , CQueryParseException::eParserError , CQueryParseException::eCompileError , CQueryParseException::eUnknownFunction }   void  Flatten_ParseTree (CQueryParseTree::TNode &node)   Flatten the AND and the OR subtrees transforming them from binary subtrees to n-ary subtrees. More...
  virtual  CQueryFunctionBase::~CQueryFunctionBase ()   virtual bool  CQueryFunctionBase::EvaluateChildrenFirst () const   Do we evaluate before visiting the nodes children or after. More...
  virtual void  CQueryFunctionBase::Evaluate (CQueryParseTree::TNode &qnode)=0   Query node evaluation function (performs actual programmed by the node action) More...
  CQueryExecCQueryFunctionBase::GetExec ()   Get reference on parent execution environment. More...
  CQueryParseTreeCQueryFunctionBase::GetQueryTree ()   Get query tree (execution context) More...
  void  CQueryFunctionBase::SetExec (CQueryExec &qexec)   Set reference on parent query execution class. More...
    CQueryExec::CQueryExec ()   virtual  CQueryExec::~CQueryExec ()   void  CQueryExec::AddFunc (CQueryParseNode::EType func_type, CQueryFunctionBase *func)   Register function implementation. More...
  void  CQueryExec::AddImplicitSearchFunc (CQueryFunctionBase *func)   This is a callback for implicit search nodes Our syntax allows queries like (a=1) AND "search_term" Execution recognises "search_term" connected with logical operation represents a special case. More...
  CQueryFunctionBaseCQueryExec::GetImplicitSearchFunc ()   CQueryFunctionBaseCQueryExec::GetFunc (CQueryParseNode::EType func_type)   Return query function pointer (if registered). More...
  virtual void  CQueryExec::CallFunction (const string &name, CQueryParseTree::TNode &node)   Extend this function to look up and invoke functions that appear in the query. More...
  virtual void  CQueryExec::Evaluate (CQueryParseTree &qtree)   Run query tree evaluation. More...
  virtual void  CQueryExec::Evaluate (CQueryParseTree &qtree, CQueryParseTree::TNode &node)   virtual bool  CQueryExec::ResolveIdentifier (const std::string &, bool &)   If query has an identifier, this will resolve it in an application-specific way. More...
  virtual bool  CQueryExec::ResolveIdentifier (const std::string &, Int8 &)   virtual bool  CQueryExec::ResolveIdentifier (const std::string &, double &)   virtual bool  CQueryExec::ResolveIdentifier (const std::string &, std::string &)   virtual bool  CQueryExec::ResolveIdentifier (const TFieldID &, bool &)   virtual bool  CQueryExec::ResolveIdentifier (const TFieldID &, Int8 &)   virtual bool  CQueryExec::ResolveIdentifier (const TFieldID &, double &)   virtual bool  CQueryExec::ResolveIdentifier (const TFieldID &, std::string &)   virtual bool  CQueryExec::HasIdentifier (const std::string &)   virtual TFieldID  CQueryExec::GetIdentifier (const std::string &)   virtual CQueryParseNode::EType  CQueryExec::IdentifierType (const std::string &)   Some applications may know the type of an identifier. More...
  virtual void  CQueryExec::EvalStart ()   virtual bool  CQueryExec::EvalNext (CQueryParseTree &)   Move to (iterate) to next entry. More...
  virtual bool  CQueryExec::EvalComplete ()   int  CQueryExec::GetQueriedCount () const   int  CQueryExec::GetExceptionCount () const   CQueryParseTreeCQueryExec::GetQTree ()     CQueryExec::CQueryExec (const CQueryExec &)   CQueryExecCQueryExec::operator= (const CQueryExec &)     CQueryExecEvalFunc::CQueryExecEvalFunc (CQueryExec &exec)   ETreeTraverseCode  CQueryExecEvalFunc::operator() (CTreeNode< CQueryParseNode > &tr, int delta)     CQueryEval_BV_Value< BV >::CQueryEval_BV_Value ()   virtual void  CQueryEval_BV_Value< BV >::Reset ()   Reset user object (for reuse without reallocation) More...
  TBufferCQueryEval_BV_Value< BV >::GetBuffer ()   TBitVectorCQueryEval_BV_Value< BV >::GetBV ()   TBufferCQueryEval_BV_Value< BV >::ReleaseBuffer ()   TBitVectorCQueryEval_BV_Value< BV >::ReleaseBV ()   void  CQueryEval_BV_Value< BV >::SetBuffer (TBuffer *buf)   Attach buffer (with ownership transfer) More...
  void  CQueryEval_BV_Value< BV >::SetBV (TBitVector *bv)   Attach bitvector (with ownership transfer) More...
    CQueryEval_BV_Value< BV >::CQueryEval_BV_Value (const CQueryEval_BV_Value &)   CQueryEval_BV_ValueCQueryEval_BV_Value< BV >::operator= (const CQueryEval_BV_Value &)   TBVContainerCQueryFunction_BV_Base< BV >::GetContainer (CQueryParseTree::TNode &qnode)   Extract user object out of the current node. More...
  TBVContainerCQueryFunction_BV_Base< BV >::MakeContainer (CQueryParseTree::TNode &qnode)   Create container if it does not exist. More...
  BV *  CQueryFunction_BV_Base< BV >::ArgToRes (CQueryParseTree::TNode &qnode, CQueryParseTree::TNode *arg_node)   Unpack argument to result bitvector (use assignment for deserialization) More...
  void  CQueryFunction_BV_Base< BV >::ProcessArgVector (CQueryParseTree::TNode &qnode, BV *bv_res, CQueryFunctionBase::TArgVector &args, const bm::set_operation op_code)     CQueryFunction_BV_Logic< BV >::CQueryFunction_BV_Logic (bm::set_operation op)   virtual void  CQueryFunction_BV_Logic< BV >::Evaluate (CQueryParseTree::TNode &qnode)   Query node evaluation function (performs actual programmed by the node action) More...
    CQueryFunction_BV_Not< BV >::CQueryFunction_BV_Not ()   virtual void  CQueryFunction_BV_Not< BV >::Evaluate (CQueryParseTree::TNode &qnode)   Query node evaluation function (performs actual programmed by the node action) More...
    CQueryFunction_BV_In_Or< BV >::CQueryFunction_BV_In_Or ()   virtual void  CQueryFunction_BV_In_Or< BV >::Evaluate (CQueryParseTree::TNode &qnode)   Query node evaluation function (performs actual programmed by the node action) More...
  virtual void  IQueryParseUserObject::Reset ()=0   Reset user object (for reuse without reallocation) More...
  virtual string  IQueryParseUserObject::GetVisibleValue () const   String value for debuging. More...
    CQueryParseNode::SSrcLoc::SSrcLoc (unsigned src_line=0, unsigned src_pos=0, unsigned len=0)     CQueryParseNode::CQueryParseNode (const string &value, const string &orig_text, bool isIdent)   Construct the query node. More...
    CQueryParseNode::CQueryParseNode (Int8 val, const string &orig_text)     CQueryParseNode::CQueryParseNode (bool val, const string &orig_text)     CQueryParseNode::CQueryParseNode (double val, const string &orig_text)     CQueryParseNode::CQueryParseNode (EType op_type, const string &orig_text)   bool  CQueryParseNode::IsExplicit () const   TRUE if node was created as explicitly FALSE - node was created as a result of a default and the interpreter has a degree of freedom in execution. More...
  void  CQueryParseNode::SetExplicit (bool expl=true)   bool  CQueryParseNode::IsNot () const   Check if node is marked with NOT flag (like != ) More...
  void  CQueryParseNode::SetNot (bool n=true)   bool  CQueryParseNode::IsLogic () const   Returns TRUE if node describes logical operation (AND, OR, etc.) More...
  bool  CQueryParseNode::IsValue () const   Returns TRUE if node is value (INT, String, etc.) More...
  double  CQueryParseNode::Elapsed () const   Elapsed time in seconds. More...
  double  CQueryParseNode::GetElapsed () const   Elapsed time in seconds. More...
  void  CQueryParseNode::SetElapsed (double e)   Set node timing. More...
  string  CQueryParseNode::GetNodeTypeAsString () const   Return query node type as a string (for debugging output) More...
  static string  CQueryParseNode::GetNodeTypeAsString (EType node_type)     CQueryParseNode::CQueryParseNode ()     CQueryParseTree::CQueryParseTree (TNode *clause=0)   Contruct the query. Takes the ownership of the clause. More...
  virtual  CQueryParseTree::~CQueryParseTree ()   void  CQueryParseTree::Parse (const char *query_str, ECase case_sense=eCaseInsensitive, ESyntaxCheck syntax_check=eSyntaxCheck, bool verbose=false, const TFunctionNames &functions=TFunctionNames(0), unsigned line=0, unsigned linePos=0)   Query parser front-end function. More...
  void  CQueryParseTree::SetQueryTree (TNode *qtree)   Replace current query tree with the new one. More...
  const TNodeCQueryParseTree::GetQueryTree () const   TNodeCQueryParseTree::GetQueryTree ()   void  CQueryParseTree::ResetUserObjects ()   Reset all user objects attached to the parsing tree. More...
  void  CQueryParseTree::Print (CNcbiOstream &os) const   Print the query tree (debugging) More...
    CQueryParseTree::CQueryParseTree (const CQueryParseTree &)   CQueryParseTreeCQueryParseTree::operator= (const CQueryParseTree &)   virtual const char *  CQueryParseException::GetErrCodeString (void) const override   Get error code interpreted as text. More...
    CQueryParseException::NCBI_EXCEPTION_DEFAULT (CQueryParseException, CException)   ◆ TArgVector ◆ TBitVector ◆ TBuffer ◆ TBVContainer ◆ TFieldID ◆ TFuncReg ◆ TFunctionNames ◆ TNode ◆ TParent [1/3] ◆ TParent [2/3] ◆ TParent [3/3] ◆ ECase

Case sensitive parsing.

Enumerator eCaseSensitiveUpper 

Operators must come in upper case (AND)

eCaseInsensitive 

Case insensitive parsing (AnD)

Definition at line 280 of file query_parse.hpp.

◆ EErrCode Enumerator eIncorrectNodeType  eParserError  eCompileError  eUnknownFunction 

Definition at line 366 of file query_parse.hpp.

◆ ESyntaxCheck

Level of tolerance to syntax errors and problems.

Enumerator eSyntaxCheck 

Best possible check for errors.

eSyntaxRelax 

Relaxed parsing rules.

Definition at line 287 of file query_parse.hpp.

◆ EType

Query node type.

Enumerator eNotSet 

Produced by the (private) default constructor.

eIdentifier 

Identifier like db.field (Org, Fld12, etc.)

eIntConst 

Integer const.

eFloatConst 

Floating point const.

eBoolConst 

Boolean (TRUE or FALSE)

eString 

String ("free text")

eFunction 

Function.

eNot  eFieldSearch  eLike  eBetween  eIn  eAnd  eOr  eSub  eXor  eRange  eEQ  eGT  eGE  eLT  eLE  eSelect  eFrom  eWhere  eList  eMaxType 

Definition at line 84 of file query_parse.hpp.

◆ AddFunc() ◆ AddImplicitSearchFunc()

This is a callback for implicit search nodes Our syntax allows queries like (a=1) AND "search_term" Execution recognises "search_term" connected with logical operation represents a special case.

This method defines a reactor (function implementation).

Definition at line 105 of file query_exec.cpp.

References CQueryExec::m_ImplicitSearchFunc.

◆ ArgToRes() ◆ AttachUserObject() ◆ CallFunction() ◆ CQueryEval_BV_Value() [1/2] ◆ CQueryEval_BV_Value() [2/2] ◆ CQueryExec() [1/2] CQueryExec::CQueryExec ( ) ◆ CQueryExec() [2/2] ◆ CQueryExecEvalFunc() ◆ CQueryFunction_BV_In_Or() ◆ CQueryFunction_BV_Logic() ◆ CQueryFunction_BV_Not() ◆ CQueryParseNode() [1/6] CQueryParseNode::CQueryParseNode ( ) private

Definition at line 43 of file query_parse.cpp.

◆ CQueryParseNode() [2/6] ◆ CQueryParseNode() [3/6]

Construct the query node.

Parameters
value Node value orig_text Value as it appears in the original program isIdent true whe the string is identifier (no quoting)

Definition at line 51 of file query_parse.cpp.

◆ CQueryParseNode() [4/6] CQueryParseNode::CQueryParseNode ( double  val, const stringorig_text  ) explicit ◆ CQueryParseNode() [5/6] ◆ CQueryParseNode() [6/6] ◆ CQueryParseTree() [1/2] ◆ CQueryParseTree() [2/2] CQueryParseTree::CQueryParseTree ( TNodeclause = 0 ) explicit

Contruct the query. Takes the ownership of the clause.

Definition at line 212 of file query_parse.cpp.

◆ CreateFuncNode() ◆ CreateNode() [1/5] ◆ CreateNode() [2/5] ◆ CreateNode() [3/5] ◆ CreateNode() [4/5] ◆ CreateNode() [5/5] ◆ Elapsed() double CQueryParseNode::Elapsed ( void  ) const inline ◆ EvalComplete() virtual bool CQueryExec::EvalComplete ( ) inlinevirtual ◆ EvalNext() ◆ EvalStart() virtual void CQueryExec::EvalStart ( ) inlinevirtual ◆ Evaluate() [1/6] ◆ Evaluate() [2/6] ◆ Evaluate() [3/6] ◆ Evaluate() [4/6] ◆ Evaluate() [5/6]

Query node evaluation function (performs actual programmed by the node action)

Implements CQueryFunctionBase.

Definition at line 282 of file query_exec_bv.hpp.

References _ASSERT, bm::operation_deserializer< BV >::deserialize(), CQueryParseNode::eEQ, CTreeNode< TValue, TKeyGetterP >::eNoDelete, CQueryFunctionBase::Evaluate(), CQueryEval_BV_Value< BV >::GetBuffer(), CQueryEval_BV_Value< BV >::GetBV(), CQueryFunction_BV_Base< BV >::GetContainer(), CQueryExec::GetFunc(), CQueryFunctionBase::GetQueryTree(), CTreeNode< TValue, TKeyGetterP >::GetValue(), i, CQueryFunctionBase::m_QExec, CQueryFunctionBase::MakeArgVector(), CQueryFunction_BV_Base< BV >::MakeContainer(), NCBI_THROW, bm::set_OR, and CQueryEval_BV_Value< BV >::SetBV().

◆ Evaluate() [6/6]

Query node evaluation function (performs actual programmed by the node action)

Implemented in CQueryFunction_BV_In_Or< BV >, CQueryFunction_BV_Not< BV >, CQueryFunction_BV_Logic< BV >, CQueryFuncPromoteBetween, CQueryFuncPromoteGtLt, CQueryFuncLike, CQueryFuncPromoteIn, CQueryFuncPromoteEq, CQueryFuncPromoteLogic, CQueryFuncPromoteAndOr, CQueryFuncPromoteIdentifier, CQueryFuncPromoteValue, CQueryFuncFunction, CQueryFuncRTVar, CMQueryFunctionOps, CMQueryFunctionOps_Between, CMQueryFunctionOps_In, CMQueryFunctionOps_Like, CMQueryFunctionOps_Comparison, CMQueryFunctionOps_BooleanNot, CMQueryFunctionOps_BooleanBinary, CSGQueryFunctionCompare, CSGQueryFunctionLogic, CSGQueryFunctionValue, CQueryFuncAssignment, CMQueryFunctionDummy, CMQueryFunctionFunction, CMQueryFunctionAssignment, CMQueryFunctionRTVar, and CMQueryFunctionValue.

Referenced by CQueryFunction_BV_In_Or< BV >::Evaluate(), and CQueryExecEvalFunc::operator()().

◆ EvaluateChildrenFirst() virtual bool CQueryFunctionBase::EvaluateChildrenFirst ( ) const inlinevirtual

Do we evaluate before visiting the nodes children or after.

Visiting after can allow us to avoid evaluating some sub-expressions

Returns
true if children should all be evaluated before parent for this type of node, otherwise false

Reimplemented in CQueryFuncPromoteAndOr.

Definition at line 81 of file query_exec.hpp.

Referenced by CQueryExecEvalFunc::operator()().

◆ Flatten_ParseTree()

Flatten the AND and the OR subtrees transforming them from binary subtrees to n-ary subtrees.

Parameters
node - the root node of the parsed tree

Definition at line 38 of file parse_utils.cpp.

References CTreeNode< TValue, TKeyGetterP >::AddNode(), CTreeNode< TValue, TKeyGetterP >::DetachNode(), CQueryParseNode::eAnd, CQueryParseNode::eOr, CTreeNode< TValue, TKeyGetterP >::RemoveNode(), CTreeNode< TValue, TKeyGetterP >::SubNodeBegin(), and CTreeNode< TValue, TKeyGetterP >::SubNodeEnd().

Referenced by CQueryParsePanel::x_ExecuteQuery(), and CMacroParser::x_QParseWhere().

◆ GetArg0() ◆ GetBool() bool CQueryParseNode::GetBool ( void  ) const ◆ GetBuffer() ◆ GetBV() ◆ GetContainer() ◆ GetDouble() double CQueryParseNode::GetDouble ( void  ) const ◆ GetElapsed() double CQueryParseNode::GetElapsed ( ) const inline ◆ GetErrCodeString() virtual const char* CQueryParseException::GetErrCodeString ( void  ) const inlineoverridevirtual ◆ GetExceptionCount() int CQueryExec::GetExceptionCount ( ) const inline ◆ GetExec() ◆ GetFunc() ◆ GetIdent() const string & CQueryParseNode::GetIdent ( void  ) const ◆ GetIdentIdx() int CQueryParseNode::GetIdentIdx ( ) const ◆ GetIdentifier() ◆ GetImplicitSearchFunc() ◆ GetInt() Int8 CQueryParseNode::GetInt ( void  ) const ◆ GetLoc() ◆ GetNodeTypeAsString() [1/2] std::string CQueryParseNode::GetNodeTypeAsString ( ) const ◆ GetNodeTypeAsString() [2/2] string CQueryParseNode::GetNodeTypeAsString ( EType  node_type ) static

Definition at line 163 of file query_parse.cpp.

References CQueryParseNode::eAnd, CQueryParseNode::eBetween, CQueryParseNode::eBoolConst, CQueryParseNode::eEQ, CQueryParseNode::eFieldSearch, CQueryParseNode::eFloatConst, CQueryParseNode::eFrom, CQueryParseNode::eFunction, CQueryParseNode::eGE, CQueryParseNode::eGT, CQueryParseNode::eIdentifier, CQueryParseNode::eIn, CQueryParseNode::eIntConst, CQueryParseNode::eLE, CQueryParseNode::eLike, CQueryParseNode::eList, CQueryParseNode::eLT, CQueryParseNode::eNot, CQueryParseNode::eNotSet, CQueryParseNode::eOr, CQueryParseNode::eRange, CQueryParseNode::eSelect, CQueryParseNode::eString, CQueryParseNode::eSub, CQueryParseNode::eWhere, and CQueryParseNode::eXor.

◆ GetOrig() ◆ GetOriginalText() const string& CQueryParseNode::GetOriginalText ( ) const inline ◆ GetQTree() ◆ GetQueriedCount() int CQueryExec::GetQueriedCount ( ) const inline ◆ GetQueryTree() [1/3] ◆ GetQueryTree() [2/3] TNode* CQueryParseTree::GetQueryTree ( ) inline ◆ GetQueryTree() [3/3] const TNode* CQueryParseTree::GetQueryTree ( ) const inline

Definition at line 321 of file query_parse.hpp.

References CQueryParseTree::m_Tree.

Referenced by CTableQueryExec::EvalNext(), CTreeQueryExec::EvalNext(), CQueryExec::Evaluate(), CMacroExec::EvaluateTree(), CFeatureFilter::Init(), CDoQueryTreeGetArgs::operator()(), CFeatureFilter::Pass(), CQueryParseTree::Print(), CQueryParseTree::ResetUserObjects(), CQueryParsePanel::x_ExecuteQuery(), CMacroExec::x_GetTopUserNodeValue(), CMacroExec::x_Init(), CQueryParsePanel::x_IsValidQuery(), CMacroParser::x_ParseDo(), and CQueryParsePanel::x_StartQueryJob().

◆ GetStrValue()

Definition at line 102 of file query_parse.cpp.

References CQueryParseNode::eFloatConst, CQueryParseNode::eFunction, CQueryParseNode::eIdentifier, CQueryParseNode::eIntConst, CQueryParseNode::eList, CQueryParseNode::eString, CQueryParseNode::m_OrigText, CQueryParseNode::m_Type, CQueryParseNode::m_Value, and NCBI_THROW.

Referenced by CQueryTreeListFunctions::operator()(), CDoQueryTreeGetArgs::operator()(), CQueryHighlightFunction::operator()(), CQueryTreePrintFunc::operator()(), and CQueryFuncPromoteBase::PreProcess().

◆ GetType() EType CQueryParseNode::GetType ( void  ) const inline ◆ GetUserObject() [1/2] ◆ GetUserObject() [2/2] ◆ GetVisibleValue() virtual string IQueryParseUserObject::GetVisibleValue ( ) const inlinevirtual ◆ HasIdentifier() ◆ IdentifierType() ◆ IsExplicit() bool CQueryParseNode::IsExplicit ( void  ) const inline ◆ IsLogic() bool CQueryParseNode::IsLogic ( ) const inline ◆ IsNot() bool CQueryParseNode::IsNot ( ) const inline ◆ IsValue() bool CQueryParseNode::IsValue ( void  ) const inline ◆ MakeArgVector()

Created vector of arguments (translate sub-nodes to vector)

Parameters
qnode Query node (all sub-nodes are treated as parameters args Output vector

Definition at line 44 of file query_exec.cpp.

References i, CTreeNode< TValue, TKeyGetterP >::SubNodeBegin(), and CTreeNode< TValue, TKeyGetterP >::SubNodeEnd().

Referenced by CQueryFuncAssignment::Evaluate(), CSGQueryFunctionLogic::Evaluate(), CSGQueryFunctionCompare::Evaluate(), CQueryFuncFunction::Evaluate(), CQueryFuncPromoteAndOr::Evaluate(), CQueryFuncPromoteLogic::Evaluate(), CQueryFuncPromoteEq::Evaluate(), CQueryFuncPromoteIn::Evaluate(), CQueryFuncLike::Evaluate(), CQueryFuncPromoteGtLt::Evaluate(), CQueryFuncPromoteBetween::Evaluate(), CQueryFunction_BV_Logic< BV >::Evaluate(), CQueryFunction_BV_Not< BV >::Evaluate(), CQueryFunction_BV_In_Or< BV >::Evaluate(), CQueryFuncPromoteBase::PreProcess(), and CMQueryFunctionOps::x_InitReferences().

◆ MakeContainer() ◆ NCBI_EXCEPTION_DEFAULT() ◆ operator()()

Definition at line 256 of file query_exec.hpp.

References delta(), CStopWatch::Elapsed(), CStopWatch::eStart, eTreeTraverse, eTreeTraverseStepOver, CQueryFunctionBase::Evaluate(), CQueryFunctionBase::EvaluateChildrenFirst(), CQueryExec::GetFunc(), CQueryExec::GetImplicitSearchFunc(), CQueryParseNode::GetOrig(), CTreeNode< TValue, TKeyGetterP >::GetParent(), CQueryParseNode::GetType(), CTreeNode< TValue, TKeyGetterP >::GetValue(), CTreeNode< TValue, TKeyGetterP >::IsLeaf(), CQueryParseNode::IsValue(), CQueryExecEvalFunc::m_Exec, NCBI_THROW, NULL, CQueryParseNode::SetElapsed(), and sw.

◆ operator=() [1/3] ◆ operator=() [2/3] ◆ operator=() [3/3] ◆ Parse()

Query parser front-end function.

Parameters
query_str Query string subject of parsing case_sense Case sensitivity (AND, AnD, etc.) syntax_check Sensitivity to syntax errors verbose Debug print switch functions List of names recognised as functions

Definition at line 368 of file parser.cpp.

References env, CResourcePool_Base< Value, Lock, CF >::ForgetAll(), CNcbiEnvironment::Get(), CNcbiApplicationAPI::GetEnvironment(), CResourcePool_Base< Value, Lock, CF >::GetFreeList(), CNcbiApplicationAPI::InstanceGuard(), ncbi_q_parse(), NCBI_THROW, CQueryParseTree::SetQueryTree(), and yydebug.

Referenced by CFeatureFilter::Init(), CQueryParsePanel::x_ExecuteQuery(), and CQueryParsePanel::x_IsValidQuery().

◆ Print() ◆ ProcessArgVector() ◆ ReleaseBuffer() ◆ ReleaseBV() ◆ Reset() [1/2] ◆ Reset() [2/2] virtual void IQueryParseUserObject::Reset ( ) pure virtual ◆ ResetUserObject() void CQueryParseNode::ResetUserObject ( ) ◆ ResetUserObjects() void CQueryParseTree::ResetUserObjects ( ) ◆ ResolveIdentifier() [1/8] ◆ ResolveIdentifier() [2/8] ◆ ResolveIdentifier() [3/8] ◆ ResolveIdentifier() [4/8] ◆ ResolveIdentifier() [5/8] ◆ ResolveIdentifier() [6/8] ◆ ResolveIdentifier() [7/8] ◆ ResolveIdentifier() [8/8] ◆ SetBuffer() ◆ SetBV() ◆ SetElapsed() void CQueryParseNode::SetElapsed ( double  e ) inline ◆ SetExec() void CQueryFunctionBase::SetExec ( CQueryExecqexec ) inlineprivate ◆ SetExplicit() void CQueryParseNode::SetExplicit ( bool  expl = true ) inline ◆ SetLoc() [1/2] ◆ SetLoc() [2/2] void CQueryParseNode::SetLoc ( unsigned  line, unsigned  pos  ) inline ◆ SetNot() void CQueryParseNode::SetNot ( bool  n = true ) inline ◆ SetQueryTree() void CQueryParseTree::SetQueryTree ( TNodeqtree ) ◆ SetUserObject() ◆ SSrcLoc() CQueryParseNode::SSrcLoc::SSrcLoc ( unsigned  src_line = 0, unsigned  src_pos = 0, unsigned  len = 0  ) inline

Definition at line 129 of file query_parse.hpp.

◆ ~CQueryExec() CQueryExec::~CQueryExec ( ) virtual ◆ ~CQueryFunctionBase() CQueryFunctionBase::~CQueryFunctionBase ( ) virtual

Definition at line 40 of file query_exec.cpp.

◆ ~CQueryParseTree() CQueryParseTree::~CQueryParseTree ( ) virtual

Definition at line 217 of file query_parse.cpp.

◆  ◆ length unsigned CQueryParseNode::SSrcLoc::length ◆ line unsigned CQueryParseNode::SSrcLoc::line ◆  [1/2] ◆ m_BoolConst [2/2] bool CQueryParseNode::m_BoolConst ◆ m_BV ◆ m_BV_Buffer ◆ m_DoubleConst [1/2] double CQueryParseNode::m_DoubleConst ◆  [2/2] ◆ m_Elapsed double CQueryParseNode::m_Elapsed private ◆ m_ExceptionCount int CQueryExec::m_ExceptionCount protected ◆ m_Exec ◆ m_Explicit bool CQueryParseNode::m_Explicit private ◆ m_FuncReg ◆ m_ImplicitSearchFunc ◆  [1/2] ◆ m_IntConst [2/2] Int8 CQueryParseNode::m_IntConst ◆ m_Location SSrcLoc CQueryParseNode::m_Location private ◆ m_Not bool CQueryParseNode::m_Not private ◆ m_OpCode ◆ m_OrigText string CQueryParseNode::m_OrigText private ◆ m_QExec

Definition at line 119 of file query_exec.hpp.

Referenced by CSGQueryFunctionValue::Evaluate(), CQueryFuncRTVar::Evaluate(), CQueryFuncFunction::Evaluate(), CQueryFuncPromoteIdentifier::Evaluate(), CQueryFuncPromoteAndOr::Evaluate(), CQueryFuncPromoteLogic::Evaluate(), CQueryFunction_BV_In_Or< BV >::Evaluate(), CMQueryFunctionBase::GetContext(), CQueryFunctionBase::GetExec(), CQueryFuncPromoteBase::PreProcess(), CQueryFuncPromoteBase::ResolveFieldValue(), and CQueryFunctionBase::SetExec().

◆ m_QTree ◆ m_QueriedCount int CQueryExec::m_QueriedCount protected ◆ m_Tree unique_ptr<TNode> CQueryParseTree::m_Tree private ◆ m_Type EType CQueryParseNode::m_Type private ◆ m_UsrObj ◆ m_Value string CQueryParseNode::m_Value private ◆ pos unsigned CQueryParseNode::SSrcLoc::pos ◆ CQueryExec ◆ CQueryFunctionBase ◆ CTreeNode< CQueryParseNode >

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4