Lines Matching refs:pNode
200343 NodeWriter *pNode = &pWriter->aNodeWriter[iLayer];
200353 nPrefix = fts3PrefixCompress(pNode->key.a, pNode->key.n, zTerm, nTerm);
200359 if( pNode->key.n==0 || (pNode->block.n + nSpace)<=p->nNodeSize ){
200364 Blob *pBlk = &pNode->block;
200373 blobGrowBuffer(&pNode->key, nTerm, &rc);
200376 if( pNode->key.n ){
200385 memcpy(pNode->key.a, zTerm, nTerm);
200386 pNode->key.n = nTerm;
200392 rc = fts3WriteSegment(p, pNode->iBlock, pNode->block.a, pNode->block.n);
200394 assert( pNode->block.nAlloc>=p->nNodeSize );
200395 pNode->block.a[0] = (char)iLayer;
200396 pNode->block.n = 1 + sqlite3Fts3PutVarint(&pNode->block.a[1], iPtr+1);
200398 iNextPtr = pNode->iBlock;
200399 pNode->iBlock++;
200400 pNode->key.n = 0;
200436 Blob *pNode, /* Current node image to append to */
200450 assert( pNode->n>0 );
200451 assert_fts3_nc( (pNode->a[0]=='\0')==(aDoclist!=0) );
200465 pNode->n += sqlite3Fts3PutVarint(&pNode->a[pNode->n], nPrefix);
200467 pNode->n += sqlite3Fts3PutVarint(&pNode->a[pNode->n], nSuffix);
200468 memcpy(&pNode->a[pNode->n], &zTerm[nPrefix], nSuffix);
200469 pNode->n += nSuffix;
200472 pNode->n += sqlite3Fts3PutVarint(&pNode->a[pNode->n], nDoclist);
200473 memcpy(&pNode->a[pNode->n], aDoclist, nDoclist);
200474 pNode->n += nDoclist;
200477 assert( pNode->n<=pNode->nAlloc );
200593 NodeWriter *pNode = &pWriter->aNodeWriter[iRoot];
200594 if( pNode->block.n>0 ) break;
200595 assert( *pRc || pNode->block.nAlloc==0 );
200596 assert( *pRc || pNode->key.nAlloc==0 );
200597 sqlite3_free(pNode->block.a);
200598 sqlite3_free(pNode->key.a);
200634 NodeWriter *pNode = &pWriter->aNodeWriter[i];
200635 if( pNode->block.n>0 && rc==SQLITE_OK ){
200636 rc = fts3WriteSegment(p, pNode->iBlock, pNode->block.a, pNode->block.n);
200638 sqlite3_free(pNode->block.a);
200639 sqlite3_free(pNode->key.a);
200801 NodeWriter *pNode;
200817 pNode = &pWriter->aNodeWriter[nHeight];
200818 pNode->iBlock = pWriter->iStart + pWriter->nLeafEst*nHeight;
200819 blobGrowBuffer(&pNode->block,
200823 memcpy(pNode->block.a, aRoot, nRoot);
200824 pNode->block.n = nRoot;
200825 memset(&pNode->block.a[nRoot], 0, FTS3_NODE_PADDING);
200831 pNode = &pWriter->aNodeWriter[i];
200833 if( pNode->block.a){
200834 rc = nodeReaderInit(&reader, pNode->block.a, pNode->block.n);
200836 blobGrowBuffer(&pNode->key, reader.term.n, &rc);
200840 memcpy(pNode->key.a, reader.term.a, reader.term.n);
200842 pNode->key.n = reader.term.n;
200846 pNode = &pWriter->aNodeWriter[i-1];
200847 pNode->iBlock = reader.iChild;
200849 blobGrowBuffer(&pNode->block,
200853 memcpy(pNode->block.a, aBlock, nBlock);
200854 pNode->block.n = nBlock;
200855 memset(&pNode->block.a[nBlock], 0, FTS3_NODE_PADDING);
201071 static void fts3StartNode(Blob *pNode, int iHeight, sqlite3_int64 iChild){
201072 pNode->a[0] = (char)iHeight;
201074 assert( pNode->nAlloc>=1+sqlite3Fts3VarintLen(iChild) );
201075 pNode->n = 1 + sqlite3Fts3PutVarint(&pNode->a[1], iChild);
201077 assert( pNode->nAlloc>=1 );
201078 pNode->n = 1;
210687 #define NCELL(pNode) readInt16(&(pNode)->zData[2])
210964 static void nodeHashInsert(Rtree *pRtree, RtreeNode *pNode){
210966 assert( pNode->pNext==0 );
210967 iHash = nodeHash(pNode->iNode);
210968 pNode->pNext = pRtree->aHash[iHash];
210969 pRtree->aHash[iHash] = pNode;
210975 static void nodeHashDelete(Rtree *pRtree, RtreeNode *pNode){
210977 if( pNode->iNode!=0 ){
210978 pp = &pRtree->aHash[nodeHash(pNode->iNode)];
210979 for( ; (*pp)!=pNode; pp = &(*pp)->pNext){ assert(*pp); }
210980 *pp = pNode->pNext;
210981 pNode->pNext = 0;
210992 RtreeNode *pNode;
210993 pNode = (RtreeNode *)sqlite3_malloc64(sizeof(RtreeNode) + pRtree->iNodeSize);
210994 if( pNode ){
210995 memset(pNode, 0, sizeof(RtreeNode) + pRtree->iNodeSize);
210996 pNode->zData = (u8 *)&pNode[1];
210997 pNode->nRef = 1;
210999 pNode->pParent = pParent;
211000 pNode->isDirty = 1;
211003 return pNode;
211025 RtreeNode *pNode = 0;
211030 if( (pNode = nodeHashLookup(pRtree, iNode))!=0 ){
211031 if( pParent && ALWAYS(pParent!=pNode->pParent) ){
211035 pNode->nRef++;
211036 *ppNode = pNode;
211064 pNode = (RtreeNode *)sqlite3_malloc64(sizeof(RtreeNode)+pRtree->iNodeSize);
211065 if( !pNode ){
211068 pNode->pParent = pParent;
211069 pNode->zData = (u8 *)&pNode[1];
211070 pNode->nRef = 1;
211072 pNode->iNode = iNode;
211073 pNode->isDirty = 0;
211074 pNode->pNext = 0;
211075 rc = sqlite3_blob_read(pRtree->pNodeBlob, pNode->zData,
211086 if( rc==SQLITE_OK && pNode && iNode==1 ){
211087 pRtree->iDepth = readInt16(pNode->zData);
211098 if( pNode && rc==SQLITE_OK ){
211099 if( NCELL(pNode)>((pRtree->iNodeSize-4)/pRtree->nBytesPerCell) ){
211106 if( pNode!=0 ){
211108 nodeHashInsert(pRtree, pNode);
211113 *ppNode = pNode;
211116 if( pNode ){
211118 sqlite3_free(pNode);
211131 RtreeNode *pNode, /* The node into which the cell is to be written */
211136 u8 *p = &pNode->zData[4 + pRtree->nBytesPerCell*iCell];
211141 pNode->isDirty = 1;
211147 static void nodeDeleteCell(Rtree *pRtree, RtreeNode *pNode, int iCell){
211148 u8 *pDst = &pNode->zData[4 + pRtree->nBytesPerCell*iCell];
211150 int nByte = (NCELL(pNode) - iCell - 1) * pRtree->nBytesPerCell;
211152 writeInt16(&pNode->zData[2], NCELL(pNode)-1);
211153 pNode->isDirty = 1;
211164 RtreeNode *pNode, /* Write new cell into this node */
211171 nCell = NCELL(pNode);
211175 nodeOverwriteCell(pRtree, pNode, pCell, nCell);
211176 writeInt16(&pNode->zData[2], nCell+1);
211177 pNode->isDirty = 1;
211186 static int nodeWrite(Rtree *pRtree, RtreeNode *pNode){
211188 if( pNode->isDirty ){
211190 if( pNode->iNode ){
211191 sqlite3_bind_int64(p, 1, pNode->iNode);
211195 sqlite3_bind_blob(p, 2, pNode->zData, pRtree->iNodeSize, SQLITE_STATIC);
211197 pNode->isDirty = 0;
211200 if( pNode->iNode==0 && rc==SQLITE_OK ){
211201 pNode->iNode = sqlite3_last_insert_rowid(pRtree->db);
211202 nodeHashInsert(pRtree, pNode);
211212 static int nodeRelease(Rtree *pRtree, RtreeNode *pNode){
211214 if( pNode ){
211215 assert( pNode->nRef>0 );
211217 pNode->nRef--;
211218 if( pNode->nRef==0 ){
211220 if( pNode->iNode==1 ){
211223 if( pNode->pParent ){
211224 rc = nodeRelease(pRtree, pNode->pParent);
211227 rc = nodeWrite(pRtree, pNode);
211229 nodeHashDelete(pRtree, pNode);
211230 sqlite3_free(pNode);
211243 RtreeNode *pNode, /* The node from which to extract the ID */
211246 assert( iCell<NCELL(pNode) );
211247 return readInt64(&pNode->zData[4 + pRtree->nBytesPerCell*iCell]);
211255 RtreeNode *pNode, /* The node from which to extract a coordinate */
211260 assert( iCell<NCELL(pNode) );
211261 readCoord(&pNode->zData[12 + pRtree->nBytesPerCell*iCell + 4*iCoord], pCoord);
211270 RtreeNode *pNode, /* The node containing the cell to be read */
211277 pCell->iRowid = nodeGetRowid(pRtree, pNode, iCell);
211278 pData = pNode->zData + (12 + pRtree->nBytesPerCell*iCell);
211682 RtreeNode *pNode,
211687 int nCell = NCELL(pNode);
211690 if( nodeGetRowid(pRtree, pNode, ii)==iRowid ){
211703 static int nodeParentIndex(Rtree *pRtree, RtreeNode *pNode, int *piIndex){
211704 RtreeNode *pParent = pNode->pParent;
211706 return nodeRowidIndex(pRtree, pParent, pNode->iNode, piIndex);
211935 RtreeNode *pNode;
211947 pNode = rtreeNodeOfFirstSearchPoint(pCur, &rc);
211949 nCell = NCELL(pNode);
211951 pCellData = pNode->zData + (4+pRtree->nBytesPerCell*p->iCell);
212035 RtreeNode *pNode = rtreeNodeOfFirstSearchPoint(pCsr, &rc);
212037 if( p->iCell>=NCELL(pNode) ){
212040 *pRowid = nodeGetRowid(RTREE_OF_CURSOR(pCsr), pNode, p->iCell);
212055 RtreeNode *pNode = rtreeNodeOfFirstSearchPoint(pCsr, &rc);
212059 if( p->iCell>=NCELL(pNode) ) return SQLITE_ABORT;
212061 sqlite3_result_int64(ctx, nodeGetRowid(pRtree, pNode, p->iCell));
212063 nodeGetCoord(pRtree, pNode, p->iCell, i-1, &c);
212081 nodeGetRowid(pRtree, pNode, p->iCell));
212545 RtreeNode *pNode = 0;
212546 rc = nodeAcquire(pRtree, 1, 0, &pNode);
212554 int nCell = NCELL(pNode);
212563 nodeGetCell(pRtree, pNode, iCell, &cell);
212582 nodeGetCell(pRtree, pNode, iCell, &cell);
212597 rc = nodeAcquire(pRtree, iBest, pNode, &pChild);
212598 nodeRelease(pRtree, pNode);
212599 pNode = pChild;
212602 *ppLeaf = pNode;
212613 RtreeNode *pNode, /* Adjust ancestry of this node. */
212616 RtreeNode *p = pNode;
212841 RtreeNode *pNode,
212849 for(p=pNode; p; p=p->pParent){
212854 nodeReference(pNode);
212855 pChild->pParent = pNode;
212858 if( NEVER(pNode==0) ) return SQLITE_ERROR;
212859 return xSetMapping(pRtree, iRowid, pNode->iNode);
212864 RtreeNode *pNode,
212872 int nCell = NCELL(pNode);
212893 nodeGetCell(pRtree, pNode, i, &aCell[i]);
212895 nodeZero(pRtree, pNode);
212899 if( pNode->iNode==1 ){
212900 pRight = nodeNew(pRtree, pNode);
212901 pLeft = nodeNew(pRtree, pNode);
212903 pNode->isDirty = 1;
212904 writeInt16(pNode->zData, pRtree->iDepth);
212906 pLeft = pNode;
212939 if( pNode->iNode==1 ){
212971 if( pNode->iNode==1 ){
213045 static int removeNode(Rtree *pRtree, RtreeNode *pNode, int iHeight){
213051 assert( pNode->nRef==1 );
213054 rc = nodeParentIndex(pRtree, pNode, &iCell);
213056 pParent = pNode->pParent;
213057 pNode->pParent = 0;
213070 sqlite3_bind_int64(pRtree->pDeleteNode, 1, pNode->iNode);
213077 sqlite3_bind_int64(pRtree->pDeleteParent, 1, pNode->iNode);
213086 nodeHashDelete(pRtree, pNode);
213087 pNode->iNode = iHeight;
213088 pNode->pNext = pRtree->pDeleted;
213089 pNode->nRef++;
213090 pRtree->pDeleted = pNode;
213095 static int fixBoundingBox(Rtree *pRtree, RtreeNode *pNode){
213096 RtreeNode *pParent = pNode->pParent;
213100 int nCell = NCELL(pNode);
213102 nodeGetCell(pRtree, pNode, 0, &box);
213105 nodeGetCell(pRtree, pNode, ii, &cell);
213108 box.iRowid = pNode->iNode;
213109 rc = nodeParentIndex(pRtree, pNode, &ii);
213122 static int deleteCell(Rtree *pRtree, RtreeNode *pNode, int iCell, int iHeight){
213126 if( SQLITE_OK!=(rc = fixLeafParent(pRtree, pNode)) ){
213133 nodeDeleteCell(pRtree, pNode, iCell);
213140 pParent = pNode->pParent;
213141 assert( pParent || pNode->iNode==1 );
213143 if( NCELL(pNode)<RTREE_MINCELLS(pRtree) ){
213144 rc = removeNode(pRtree, pNode, iHeight);
213146 rc = fixBoundingBox(pRtree, pNode);
213159 RtreeNode *pNode,
213168 nodeReference(pNode);
213169 pChild->pParent = pNode;
213172 if( nodeInsertCell(pRtree, pNode, pCell) ){
213173 rc = SplitNode(pRtree, pNode, pCell, iHeight);
213175 rc = AdjustTree(pRtree, pNode, pCell);
213178 rc = rowidWrite(pRtree, pCell->iRowid, pNode->iNode);
213180 rc = parentWrite(pRtree, pCell->iRowid, pNode->iNode);
213187 static int reinsertNodeContent(Rtree *pRtree, RtreeNode *pNode){
213190 int nCell = NCELL(pNode);
213195 nodeGetCell(pRtree, pNode, ii, &cell);
213200 rc = ChooseLeaf(pRtree, &cell, (int)pNode->iNode, &pInsert);
213203 rc = rtreeInsertCell(pRtree, pInsert, &cell, (int)pNode->iNode);
214237 const u8 *pNode = (const u8*)sqlite3_column_blob(pCheck->pGetNode, 0);
214242 memcpy(pRet, pNode, nNode);
216154 RtreeNode *pNode = rtreeNodeOfFirstSearchPoint(pCsr, &rc);
216167 nodeGetRowid(pRtree, pNode, p->iCell));
236785 Fts5ExprNode *pNode; /* FTS5_STRING node this phrase is part of */
237268 Fts5ExprNode *pNode, /* Node pPhrase belongs to */
237298 rc = fts5ExprSynonymList(pTerm, pNode->iRowid, &buf, &a, &n);
237563 Fts5ExprNode *pNode /* The "NEAR" node (FTS5_STRING) */
237565 Fts5ExprNearset *pNear = pNode->pNear;
237575 if( pIter->iRowid==pNode->iRowid && pIter->nData>0 ){
237593 rc = fts5ExprPhraseIsMatch(pNode, pPhrase, &bMatch);
237621 Fts5ExprNode *pNode
237623 Fts5ExprNearset *pNear = pNode->pNear;
237626 assert( pNode->bNomatch==0 );
237630 pNode->bEof = 1;
237660 pNode->bEof = 1;
237667 pNode->bEof = 0;
237696 static void fts5ExprSetEof(Fts5ExprNode *pNode){
237698 pNode->bEof = 1;
237699 pNode->bNomatch = 0;
237700 for(i=0; i<pNode->nChild; i++){
237701 fts5ExprSetEof(pNode->apChild[i]);
237705 static void fts5ExprNodeZeroPoslist(Fts5ExprNode *pNode){
237706 if( pNode->eType==FTS5_STRING || pNode->eType==FTS5_TERM ){
237707 Fts5ExprNearset *pNear = pNode->pNear;
237715 for(i=0; i<pNode->nChild; i++){
237716 fts5ExprNodeZeroPoslist(pNode->apChild[i]);
237758 Fts5ExprNode *pNode
237760 Fts5ExprNearset *pNear = pNode->pNear;
237796 pNode->bNomatch = 0;
237797 pNode->bEof = 1;
237804 if( fts5ExprAdvanceto(pIter, bDesc, &iLast, &rc, &pNode->bEof) ){
237812 pNode->iRowid = iLast;
237813 pNode->bNomatch = ((0==fts5ExprNearTest(&rc, pExpr, pNode)) && rc==SQLITE_OK);
237814 assert( pNode->bEof==0 || pNode->bNomatch==0 );
237828 Fts5ExprNode *pNode, /* FTS5_STRING or FTS5_TERM node */
237832 Fts5ExprTerm *pTerm = &pNode->pNear->apPhrase[0]->aTerm[0];
237835 pNode->bNomatch = 0;
237868 pNode->bEof = (rc || bEof);
237872 assert( Fts5NodeIsString(pNode) );
237879 pNode->bEof = (rc || sqlite3Fts5IterEof(pIter));
237882 if( pNode->bEof==0 ){
237884 rc = fts5ExprNodeTest_STRING(pExpr, pNode);
237893 Fts5ExprNode *pNode /* The "NEAR" node (FTS5_TERM) */
237900 Fts5ExprPhrase *pPhrase = pNode->pNear->apPhrase[0];
237903 assert( pNode->eType==FTS5_TERM );
237904 assert( pNode->pNear->nPhrase==1 && pPhrase->nTerm==1 );
237911 pNode->iRowid = pIter->iRowid;
237912 pNode->bNomatch = (pPhrase->poslist.n==0);
237921 Fts5ExprNode *pNode,
237926 Fts5IndexIter *pIter = pNode->pNear->apPhrase[0]->aTerm[0].pIter;
237928 assert( pNode->bEof==0 );
237935 rc = fts5ExprNodeTest_TERM(pExpr, pNode);
237937 pNode->bEof = 1;
237938 pNode->bNomatch = 0;
237945 Fts5ExprNode *pNode /* Expression node to test */
237947 Fts5ExprNode *pNext = pNode->apChild[0];
237950 for(i=1; i<pNode->nChild; i++){
237951 Fts5ExprNode *pChild = pNode->apChild[i];
237957 pNode->iRowid = pNext->iRowid;
237958 pNode->bEof = pNext->bEof;
237959 pNode->bNomatch = pNext->bNomatch;
237964 Fts5ExprNode *pNode,
237969 i64 iLast = pNode->iRowid;
237971 for(i=0; i<pNode->nChild; i++){
237972 Fts5ExprNode *p1 = pNode->apChild[i];
237980 pNode->bNomatch = 0;
237987 fts5ExprNodeTest_OR(pExpr, pNode);
238048 Fts5ExprNode *pNode,
238052 int rc = fts5ExprNodeNext(pExpr, pNode->apChild[0], bFromValid, iFrom);
238054 rc = fts5ExprNodeTest_AND(pExpr, pNode);
238056 pNode->bNomatch = 0;
238063 Fts5ExprNode *pNode /* FTS5_NOT node to advance */
238066 Fts5ExprNode *p1 = pNode->apChild[0];
238067 Fts5ExprNode *p2 = pNode->apChild[1];
238068 assert( pNode->nChild==2 );
238080 pNode->bEof = p1->bEof;
238081 pNode->bNomatch = p1->bNomatch;
238082 pNode->iRowid = p1->iRowid;
238091 Fts5ExprNode *pNode,
238095 int rc = fts5ExprNodeNext(pExpr, pNode->apChild[0], bFromValid, iFrom);
238097 rc = fts5ExprNodeTest_NOT(pExpr, pNode);
238100 pNode->bNomatch = 0;
238112 Fts5ExprNode *pNode /* Expression node to test */
238115 if( pNode->bEof==0 ){
238116 switch( pNode->eType ){
238119 rc = fts5ExprNodeTest_STRING(pExpr, pNode);
238124 rc = fts5ExprNodeTest_TERM(pExpr, pNode);
238129 rc = fts5ExprNodeTest_AND(pExpr, pNode);
238134 fts5ExprNodeTest_OR(pExpr, pNode);
238138 default: assert( pNode->eType==FTS5_NOT ); {
238139 rc = fts5ExprNodeTest_NOT(pExpr, pNode);
238155 static int fts5ExprNodeFirst(Fts5Expr *pExpr, Fts5ExprNode *pNode){
238157 pNode->bEof = 0;
238158 pNode->bNomatch = 0;
238160 if( Fts5NodeIsString(pNode) ){
238162 rc = fts5ExprNearInitAll(pExpr, pNode);
238163 }else if( pNode->xNext==0 ){
238164 pNode->bEof = 1;
238168 for(i=0; i<pNode->nChild && rc==SQLITE_OK; i++){
238169 Fts5ExprNode *pChild = pNode->apChild[i];
238170 rc = fts5ExprNodeFirst(pExpr, pNode->apChild[i]);
238174 pNode->iRowid = pNode->apChild[0]->iRowid;
238176 switch( pNode->eType ){
238178 if( nEof>0 ) fts5ExprSetEof(pNode);
238182 if( pNode->nChild==nEof ) fts5ExprSetEof(pNode);
238186 assert( pNode->eType==FTS5_NOT );
238187 pNode->bEof = pNode->apChild[0]->bEof;
238193 rc = fts5ExprNodeTest(pExpr, pNode);
238586 Fts5Colset *pColsetOrig = pOrig->pNode->pNear->pColset;
238630 sCtx.pPhrase->pNode = pNew->pRoot;
238850 Fts5ExprNode *pNode,
238855 assert( pNode->eType==FTS5_TERM || pNode->eType==FTS5_STRING
238856 || pNode->eType==FTS5_AND || pNode->eType==FTS5_OR
238857 || pNode->eType==FTS5_NOT || pNode->eType==FTS5_EOF
238859 if( pNode->eType==FTS5_STRING || pNode->eType==FTS5_TERM ){
238860 Fts5ExprNearset *pNear = pNode->pNear;
238864 pNode->eType = FTS5_EOF;
238865 pNode->xNext = 0;
238875 assert( pNode->eType!=FTS5_EOF || pNode->nChild==0 );
238876 for(i=0; i<pNode->nChild; i++){
238877 fts5ParseSetColset(pParse, pNode->apChild[i], pColset, ppFree);
238902 static void fts5ExprAssignXNext(Fts5ExprNode *pNode){
238903 switch( pNode->eType ){
238905 Fts5ExprNearset *pNear = pNode->pNear;
238910 pNode->eType = FTS5_TERM;
238911 pNode->xNext = fts5ExprNodeNext_TERM;
238913 pNode->xNext = fts5ExprNodeNext_STRING;
238919 pNode->xNext = fts5ExprNodeNext_OR;
238924 pNode->xNext = fts5ExprNodeNext_AND;
238928 default: assert( pNode->eType==FTS5_NOT ); {
238929 pNode->xNext = fts5ExprNodeNext_NOT;
239062 pNear->apPhrase[iPhrase]->pNode = pRet;
239607 Fts5ExprNode *pNode = pPhrase->pNode;
239608 if( pNode->bEof==0 && pNode->iRowid==pExpr->pRoot->iRowid ){
239641 Fts5ExprNode *pNode = pExpr->apExprPhrase[i]->pNode;
239644 (pBuf->n==0 || pNode->iRowid!=pExpr->pRoot->iRowid || pNode->bEof)
239744 Fts5ExprNode *pNode = pExpr->apExprPhrase[i]->pNode;
239745 Fts5Colset *pColset = pNode->pNear->pColset;
239760 static void fts5ExprClearPoslists(Fts5ExprNode *pNode){
239761 if( pNode->eType==FTS5_TERM || pNode->eType==FTS5_STRING ){
239762 pNode->pNear->apPhrase[0]->poslist.n = 0;
239765 for(i=0; i<pNode->nChild; i++){
239766 fts5ExprClearPoslists(pNode->apChild[i]);
239771 static int fts5ExprCheckPoslists(Fts5ExprNode *pNode, i64 iRowid){
239772 pNode->iRowid = iRowid;
239773 pNode->bEof = 0;
239774 switch( pNode->eType ){
239777 return (pNode->pNear->apPhrase[0]->poslist.n>0);
239781 for(i=0; i<pNode->nChild; i++){
239782 if( fts5ExprCheckPoslists(pNode->apChild[i], iRowid)==0 ){
239783 fts5ExprClearPoslists(pNode);
239793 for(i=0; i<pNode->nChild; i++){
239794 if( fts5ExprCheckPoslists(pNode->apChild[i], iRowid) ){
239802 assert( pNode->eType==FTS5_NOT );
239803 if( 0==fts5ExprCheckPoslists(pNode->apChild[0], iRowid)
239804 || 0!=fts5ExprCheckPoslists(pNode->apChild[1], iRowid)
239806 fts5ExprClearPoslists(pNode);
239829 Fts5ExprNode *pNode = pPhrase->pNode;
239835 if( pNode->bEof==0
239836 && pNode->iRowid==pExpr->pRoot->iRowid
239843 pTerm, pNode->iRowid, pBuf, (u8**)ppCollist, pnCollist