Lines Matching refs:Fts3Expr

126713 typedef struct Fts3Expr Fts3Expr;
126817 Fts3Expr *pExpr; /* Parsed MATCH query string */
126917 ** If Fts3Expr.eType is FTSQUERY_PHRASE and isLoaded is true, then aDoclist
126935 struct Fts3Expr {
126938 Fts3Expr *pParent; /* pParent->pLeft==this or pParent->pRight==this */
126939 Fts3Expr *pLeft; /* Left operand */
126940 Fts3Expr *pRight; /* Right operand */
127066 SQLITE_PRIVATE int sqlite3Fts3EvalPhraseStats(Fts3Cursor *, Fts3Expr *, u32 *);
127087 char **, int, int, int, const char *, int, Fts3Expr **, char **
127089 SQLITE_PRIVATE void sqlite3Fts3ExprFree(Fts3Expr *);
127108 SQLITE_PRIVATE int sqlite3Fts3EvalPhrasePoslist(Fts3Cursor *, Fts3Expr *, int iCol, char **);
130711 Fts3Expr *pExpr, /* Allocate readers for this expression */
131349 ** expression. Also the Fts3Expr.bDeferred variable is set to true for any
131363 Fts3Expr *pExpr, /* Expression to initialize phrases in */
131400 Fts3Expr *pRoot; /* Root of NEAR/AND cluster */
131414 Fts3Expr *pRoot, /* Root of current AND/NEAR cluster */
131415 Fts3Expr *pExpr, /* Expression to consider */
131417 Fts3Expr ***ppOr, /* Write new OR root to *(*ppOr)++ */
131529 Fts3Expr *pRoot, /* Consider tokens with this root node */
131669 Fts3Expr **apOr;
131672 + sizeof(Fts3Expr *) * nOr * 2
131674 apOr = (Fts3Expr **)&aTC[nToken];
131681 Fts3Expr **ppOr = apOr;
131780 ** Fts3Expr.bEof (non-zero if EOF - there is no next row)
131781 ** Fts3Expr.iDocid (valid if bEof==0. The docid of the next row)
131813 Fts3Expr *pExpr, /* Expr. to advance to next matching row */
131824 Fts3Expr *pLeft = pExpr->pLeft;
131825 Fts3Expr *pRight = pExpr->pRight;
131860 Fts3Expr *pLeft = pExpr->pLeft;
131861 Fts3Expr *pRight = pExpr->pRight;
131888 Fts3Expr *pLeft = pExpr->pLeft;
131889 Fts3Expr *pRight = pExpr->pRight;
131927 ** (Fts3Expr->pPhrase.doclist.pList/nList) for each phrase in the expression.
131936 static int fts3EvalNearTest(Fts3Expr *pExpr, int *pRc){
131964 Fts3Expr *p;
132024 Fts3Expr *pExpr, /* Expr to test. May or may not be root. */
132057 Fts3Expr *p;
132165 Fts3Expr *pExpr = pCsr->pExpr;
132206 Fts3Expr *pExpr,
132239 ** After allocating the Fts3Expr.aMI[] array for each phrase in the
132242 ** the values in Fts3Expr.aMI[] according to the position-list currently
132243 ** found in Fts3Expr.pPhrase->doclist.pList for each of the phrase
132246 static void fts3EvalUpdateCounts(Fts3Expr *pExpr){
132282 ** populates the Fts3Expr.aMI[] array for expression pExpr. If pExpr is part
132291 Fts3Expr *pExpr /* FTSQUERY_PHRASE expression */
132298 Fts3Expr *pRoot; /* Root of NEAR expression */
132299 Fts3Expr *p; /* Iterator used for several purposes */
132316 Fts3Expr *pE = (p->eType==FTSQUERY_PHRASE?p:p->pRight);
132403 Fts3Expr *pExpr, /* Phrase expression */
132451 Fts3Expr *pExpr, /* Phrase to return doclist for */
132477 Fts3Expr *p; /* Used to iterate from pExpr to root */
132478 Fts3Expr *pNear; /* Most senior NEAR ancestor (or pExpr) */
133348 static int fts3ExprParse(ParseContext *, const char *, int, Fts3Expr **, int *);
133352 ** and other information (column names etc.) in pParse. Create an Fts3Expr
133357 ** Fts3Expr structure (if any) by passing it to sqlite3_free().
133366 Fts3Expr **ppExpr, /* OUT: expression */
133373 Fts3Expr *pRet = 0;
133391 nByte = sizeof(Fts3Expr) + sizeof(Fts3Phrase) + nToken;
133392 pRet = (Fts3Expr *)fts3MallocZero(nByte);
133453 ** input buffer and create an Fts3Expr structure of type FTSQUERY_PHRASE
133457 ** allocated Fts3Expr structure. Otherwise, either SQLITE_NOMEM (out of memory
133464 Fts3Expr **ppExpr /* OUT: expression */
133469 Fts3Expr *p = 0;
133474 const int nSpace = sizeof(Fts3Expr) + sizeof(Fts3Phrase);
133477 /* The final Fts3Expr data structure, including the Fts3Phrase,
133486 ** Buffer p: Points to the Fts3Expr structure, followed by the Fts3Phrase
133493 ** appends buffer zTemp to buffer p, and fills in the Fts3Expr and Fts3Phrase
133572 ** The output variable *ppExpr is populated with an allocated Fts3Expr
133582 Fts3Expr **ppExpr, /* OUT: expression */
133600 Fts3Expr *pRet = 0;
133650 pRet = (Fts3Expr *)fts3MallocZero(sizeof(Fts3Expr));
133727 ** The argument is an Fts3Expr structure for a binary operator (any type
133745 static int opPrecedence(Fts3Expr *p){
133767 Fts3Expr **ppHead, /* Pointer to the root node of a tree */
133768 Fts3Expr *pPrev, /* Node most recently inserted into the tree */
133769 Fts3Expr *pNew /* New binary node to insert into expression tree */
133771 Fts3Expr *pSplit = pPrev;
133800 Fts3Expr **ppExpr, /* OUT: Parsed query structure */
133803 Fts3Expr *pRet = 0;
133804 Fts3Expr *pPrev = 0;
133805 Fts3Expr *pNotBranch = 0; /* Only used in legacy parse mode */
133812 Fts3Expr *p = 0;
133825 Fts3Expr *pNot = fts3MallocZero(sizeof(Fts3Expr));
133857 Fts3Expr *pAnd;
133859 pAnd = fts3MallocZero(sizeof(Fts3Expr));
133920 Fts3Expr *pIter = pNotBranch;
133946 static int fts3ExprCheckDepth(Fts3Expr *p, int nMaxDepth){
133972 static int fts3ExprBalance(Fts3Expr **pp, int nMaxDepth){
133974 Fts3Expr *pRoot = *pp; /* Initial root node */
133975 Fts3Expr *pFree = 0; /* List of free nodes. Linked by pParent. */
133983 Fts3Expr **apLeaf;
133984 apLeaf = (Fts3Expr **)sqlite3_malloc(sizeof(Fts3Expr *) * nMaxDepth);
133988 memset(apLeaf, 0, sizeof(Fts3Expr *) * nMaxDepth);
133993 Fts3Expr *p;
134004 Fts3Expr *pParent = p->pParent; /* Current parent of p */
134086 Fts3Expr *pDel;
134128 Fts3Expr **ppExpr /* OUT: Parsed query structure */
134162 ** query expression and create a tree of Fts3Expr structures representing the
134191 Fts3Expr **ppExpr, /* OUT: Parsed query structure */
134227 static void fts3FreeExprNode(Fts3Expr *p){
134241 SQLITE_PRIVATE void sqlite3Fts3ExprFree(Fts3Expr *pDel){
134242 Fts3Expr *p;
134248 Fts3Expr *pParent = p->pParent;
134309 static char *exprToString(Fts3Expr *pExpr, char *zBuf){
134379 Fts3Expr *pExpr;
142400 ** Fts3Expr.aDoclist[]/nDoclist.
142500 Fts3Expr *pExpr, /* Expression to iterate phrases of */
142502 int (*x)(Fts3Expr*,int,void*), /* Callback function to invoke for phrases */
142532 Fts3Expr *pExpr, /* Expression to iterate phrases of */
142533 int (*x)(Fts3Expr*,int,void*), /* Callback function to invoke for phrases */
142542 ** for each phrase into Fts3Expr.aDoclist[]/nDoclist. See also
142545 static int fts3ExprLoadDoclistsCb(Fts3Expr *pExpr, int iPhrase, void *ctx){
142582 static int fts3ExprPhraseCountCb(Fts3Expr *pExpr, int iPhrase, void *ctx){
142588 static int fts3ExprPhraseCount(Fts3Expr *pExpr){
142720 static int fts3SnippetFindPositions(Fts3Expr *pExpr, int iPhrase, void *ctx){
143129 Fts3Expr *pExpr, /* Phrase expression node */
143145 Fts3Expr *pExpr, /* Phrase expression node */
143245 Fts3Expr *pExpr; /* Pointer to phrase expression */
143258 Fts3Expr *pExpr, /* Phrase expression node */
143457 Fts3Expr *pExpr;
143674 static int fts3ExprTermOffsetInit(Fts3Expr *pExpr, int iPhrase, void *ctx){