Lines Matching refs:pC
2617 VdbeCursor *pC; in sqlite3VdbeExec() local
2624 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
2625 assert( pC!=0 ); in sqlite3VdbeExec()
2627 if( pOp->p3<pC->nHdrParsed ){ in sqlite3VdbeExec()
2628 serialType = pC->aType[pOp->p3]; in sqlite3VdbeExec()
2721 VdbeCursor *pC; in sqlite3VdbeExec() local
2723 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
2724 if( ALWAYS(pC) && pC->nullRow ){ in sqlite3VdbeExec()
2748 VdbeCursor *pC; /* The VDBE cursor */ in sqlite3VdbeExec() local
2750 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
2752 if( pC==0 || pC->eCurType!=CURTYPE_BTREE ){ in sqlite3VdbeExec()
2755 if( pC->deferredMoveto ){ in sqlite3VdbeExec()
2756 rc = sqlite3VdbeFinishMoveto(pC); in sqlite3VdbeExec()
2759 if( sqlite3BtreeEof(pC->uc.pCursor) ){ in sqlite3VdbeExec()
2762 sqlite3VdbeMemSetInt64(pOut, sqlite3BtreeOffset(pC->uc.pCursor)); in sqlite3VdbeExec()
2793 VdbeCursor *pC; /* The VDBE cursor */ in sqlite3VdbeExec() local
2809 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
2813 assert( pC!=0 ); in sqlite3VdbeExec()
2814 assert( p2<(u32)pC->nField in sqlite3VdbeExec()
2815 || (pC->eCurType==CURTYPE_PSEUDO && pC->seekResult==0) ); in sqlite3VdbeExec()
2816 aOffset = pC->aOffset; in sqlite3VdbeExec()
2817 assert( aOffset==pC->aType+pC->nField ); in sqlite3VdbeExec()
2818 assert( pC->eCurType!=CURTYPE_VTAB ); in sqlite3VdbeExec()
2819 assert( pC->eCurType!=CURTYPE_PSEUDO || pC->nullRow ); in sqlite3VdbeExec()
2820 assert( pC->eCurType!=CURTYPE_SORTER ); in sqlite3VdbeExec()
2822 if( pC->cacheStatus!=p->cacheCtr ){ /*OPTIMIZATION-IF-FALSE*/ in sqlite3VdbeExec()
2823 if( pC->nullRow ){ in sqlite3VdbeExec()
2824 if( pC->eCurType==CURTYPE_PSEUDO && pC->seekResult>0 ){ in sqlite3VdbeExec()
2827 pReg = &aMem[pC->seekResult]; in sqlite3VdbeExec()
2830 pC->payloadSize = pC->szRow = pReg->n; in sqlite3VdbeExec()
2831 pC->aRow = (u8*)pReg->z; in sqlite3VdbeExec()
2839 pCrsr = pC->uc.pCursor; in sqlite3VdbeExec()
2840 if( pC->deferredMoveto ){ in sqlite3VdbeExec()
2842 assert( !pC->isEphemeral ); in sqlite3VdbeExec()
2843 if( pC->ub.aAltMap && (iMap = pC->ub.aAltMap[1+p2])>0 ){ in sqlite3VdbeExec()
2844 pC = pC->pAltCursor; in sqlite3VdbeExec()
2848 rc = sqlite3VdbeFinishMoveto(pC); in sqlite3VdbeExec()
2851 rc = sqlite3VdbeHandleMovedCursor(pC); in sqlite3VdbeExec()
2855 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
2858 pC->payloadSize = sqlite3BtreePayloadSize(pCrsr); in sqlite3VdbeExec()
2859 pC->aRow = sqlite3BtreePayloadFetch(pCrsr, &pC->szRow); in sqlite3VdbeExec()
2860 assert( pC->szRow<=pC->payloadSize ); in sqlite3VdbeExec()
2861 assert( pC->szRow<=65536 ); /* Maximum page size is 64KiB */ in sqlite3VdbeExec()
2863 pC->cacheStatus = p->cacheCtr; in sqlite3VdbeExec()
2864 if( (aOffset[0] = pC->aRow[0])<0x80 ){ in sqlite3VdbeExec()
2865 pC->iHdrOffset = 1; in sqlite3VdbeExec()
2867 pC->iHdrOffset = sqlite3GetVarint32(pC->aRow, aOffset); in sqlite3VdbeExec()
2869 pC->nHdrParsed = 0; in sqlite3VdbeExec()
2871 if( pC->szRow<aOffset[0] ){ /*OPTIMIZATION-IF-FALSE*/ in sqlite3VdbeExec()
2876 pC->aRow = 0; in sqlite3VdbeExec()
2877 pC->szRow = 0; in sqlite3VdbeExec()
2888 if( aOffset[0] > 98307 || aOffset[0] > pC->payloadSize ){ in sqlite3VdbeExec()
2905 zData = pC->aRow; in sqlite3VdbeExec()
2906 assert( pC->nHdrParsed<=p2 ); /* Conditional skipped */ in sqlite3VdbeExec()
2910 }else if( sqlite3BtreeCursorHasMoved(pC->uc.pCursor) ){ in sqlite3VdbeExec()
2911 rc = sqlite3VdbeHandleMovedCursor(pC); in sqlite3VdbeExec()
2919 if( pC->nHdrParsed<=p2 ){ in sqlite3VdbeExec()
2923 if( pC->iHdrOffset<aOffset[0] ){ in sqlite3VdbeExec()
2925 if( pC->aRow==0 ){ in sqlite3VdbeExec()
2927 rc = sqlite3VdbeMemFromBtreeZeroOffset(pC->uc.pCursor,aOffset[0],&sMem); in sqlite3VdbeExec()
2931 zData = pC->aRow; in sqlite3VdbeExec()
2936 i = pC->nHdrParsed; in sqlite3VdbeExec()
2938 zHdr = zData + pC->iHdrOffset; in sqlite3VdbeExec()
2942 if( (pC->aType[i] = t = zHdr[0])<0x80 ){ in sqlite3VdbeExec()
2947 pC->aType[i] = t; in sqlite3VdbeExec()
2958 if( (zHdr>=zEndHdr && (zHdr>zEndHdr || offset64!=pC->payloadSize)) in sqlite3VdbeExec()
2959 || (offset64 > pC->payloadSize) in sqlite3VdbeExec()
2965 if( pC->aRow==0 ) sqlite3VdbeMemRelease(&sMem); in sqlite3VdbeExec()
2970 pC->nHdrParsed = i; in sqlite3VdbeExec()
2971 pC->iHdrOffset = (u32)(zHdr - zData); in sqlite3VdbeExec()
2972 if( pC->aRow==0 ) sqlite3VdbeMemRelease(&sMem); in sqlite3VdbeExec()
2981 if( pC->nHdrParsed<=p2 ){ in sqlite3VdbeExec()
2992 t = pC->aType[p2]; in sqlite3VdbeExec()
2999 assert( p2<pC->nHdrParsed ); in sqlite3VdbeExec()
3007 assert( t==pC->aType[p2] ); in sqlite3VdbeExec()
3008 if( pC->szRow>=aOffset[p2+1] ){ in sqlite3VdbeExec()
3011 zData = pC->aRow + aOffset[p2]; in sqlite3VdbeExec()
3057 rc = sqlite3VdbeMemFromBtree(pC->uc.pCursor, aOffset[p2], len, pDest); in sqlite3VdbeExec()
4429 VdbeCursor *pC; in sqlite3VdbeExec() local
4431 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
4432 assert( isSorter(pC) ); in sqlite3VdbeExec()
4433 if( (pC->seqCount++)==0 ){ in sqlite3VdbeExec()
4498 VdbeCursor *pC; in sqlite3VdbeExec() local
4499 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
4500 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
4501 pC->maskUsed = *(u64*)pOp->p4.pI64; in sqlite3VdbeExec()
4602 VdbeCursor *pC; /* The cursor to seek */ in sqlite3VdbeExec() local
4610 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
4611 assert( pC!=0 ); in sqlite3VdbeExec()
4612 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
4616 assert( pC->isOrdered ); in sqlite3VdbeExec()
4617 assert( pC->uc.pCursor!=0 ); in sqlite3VdbeExec()
4620 pC->nullRow = 0; in sqlite3VdbeExec()
4622 pC->seekOp = pOp->opcode; in sqlite3VdbeExec()
4625 pC->deferredMoveto = 0; in sqlite3VdbeExec()
4626 pC->cacheStatus = CACHE_STALE; in sqlite3VdbeExec()
4627 if( pC->isTable ){ in sqlite3VdbeExec()
4630 assert( sqlite3BtreeCursorHasHint(pC->uc.pCursor, BTREE_SEEK_EQ)==0 in sqlite3VdbeExec()
4654 rc = sqlite3BtreeLast(pC->uc.pCursor, &res); in sqlite3VdbeExec()
4684 rc = sqlite3BtreeTableMoveto(pC->uc.pCursor, (u64)iKey, 0, &res); in sqlite3VdbeExec()
4685 pC->movetoTarget = iKey; /* Used by OP_Delete */ in sqlite3VdbeExec()
4695 if( sqlite3BtreeCursorHasHint(pC->uc.pCursor, BTREE_SEEK_EQ) ){ in sqlite3VdbeExec()
4710 r.pKeyInfo = pC->pKeyInfo; in sqlite3VdbeExec()
4737 rc = sqlite3BtreeIndexMoveto(pC->uc.pCursor, &r, &res); in sqlite3VdbeExec()
4752 rc = sqlite3BtreeNext(pC->uc.pCursor, 0); in sqlite3VdbeExec()
4768 rc = sqlite3BtreePrevious(pC->uc.pCursor, 0); in sqlite3VdbeExec()
4781 res = sqlite3BtreeEof(pC->uc.pCursor); in sqlite3VdbeExec()
4866 VdbeCursor *pC; in sqlite3VdbeExec() local
4894 pC = p->apCsr[pOp[1].p1]; in sqlite3VdbeExec()
4895 assert( pC!=0 ); in sqlite3VdbeExec()
4896 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
4897 assert( !pC->isTable ); in sqlite3VdbeExec()
4898 if( !sqlite3BtreeCursorIsValidNN(pC->uc.pCursor) ){ in sqlite3VdbeExec()
4908 r.pKeyInfo = pC->pKeyInfo; in sqlite3VdbeExec()
4923 rc = sqlite3VdbeIdxKeyCompare(db, pC, &r, &res); in sqlite3VdbeExec()
4958 rc = sqlite3BtreeNext(pC->uc.pCursor, 0); in sqlite3VdbeExec()
4988 VdbeCursor *pC; in sqlite3VdbeExec() local
4990 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
4991 assert( pC!=0 ); in sqlite3VdbeExec()
4993 if( pC->seekHit<pOp->p2 ){ in sqlite3VdbeExec()
4996 printf("seekHit changes from %d to %d\n", pC->seekHit, pOp->p2); in sqlite3VdbeExec()
4999 pC->seekHit = pOp->p2; in sqlite3VdbeExec()
5000 }else if( pC->seekHit>pOp->p3 ){ in sqlite3VdbeExec()
5003 printf("seekHit changes from %d to %d\n", pC->seekHit, pOp->p3); in sqlite3VdbeExec()
5006 pC->seekHit = pOp->p3; in sqlite3VdbeExec()
5120 VdbeCursor *pC; in sqlite3VdbeExec() local
5122 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
5123 assert( pC!=0 ); in sqlite3VdbeExec()
5126 printf("seekHit is %d\n", pC->seekHit); in sqlite3VdbeExec()
5129 if( pC->seekHit>=pOp->p4.i ) break; in sqlite3VdbeExec()
5138 VdbeCursor *pC; in sqlite3VdbeExec() local
5148 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
5149 assert( pC!=0 ); in sqlite3VdbeExec()
5151 pC->seekOp = pOp->opcode; in sqlite3VdbeExec()
5154 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
5155 assert( pC->uc.pCursor!=0 ); in sqlite3VdbeExec()
5156 assert( pC->isTable==0 ); in sqlite3VdbeExec()
5160 r.pKeyInfo = pC->pKeyInfo; in sqlite3VdbeExec()
5169 rc = sqlite3BtreeIndexMoveto(pC->uc.pCursor, &r, &pC->seekResult); in sqlite3VdbeExec()
5177 pIdxKey = sqlite3VdbeAllocUnpackedRecord(pC->pKeyInfo); in sqlite3VdbeExec()
5179 sqlite3VdbeRecordUnpack(pC->pKeyInfo, r.aMem->n, r.aMem->z, pIdxKey); in sqlite3VdbeExec()
5181 rc = sqlite3BtreeIndexMoveto(pC->uc.pCursor, pIdxKey, &pC->seekResult); in sqlite3VdbeExec()
5187 alreadyExists = (pC->seekResult==0); in sqlite3VdbeExec()
5188 pC->nullRow = 1-alreadyExists; in sqlite3VdbeExec()
5189 pC->deferredMoveto = 0; in sqlite3VdbeExec()
5190 pC->cacheStatus = CACHE_STALE; in sqlite3VdbeExec()
5212 pC->seekHit = pOp->p4.i; in sqlite3VdbeExec()
5266 VdbeCursor *pC; in sqlite3VdbeExec() local
5296 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
5297 assert( pC!=0 ); in sqlite3VdbeExec()
5299 if( pOp->opcode==OP_SeekRowid ) pC->seekOp = OP_SeekRowid; in sqlite3VdbeExec()
5301 assert( pC->isTable ); in sqlite3VdbeExec()
5302 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
5303 pCrsr = pC->uc.pCursor; in sqlite3VdbeExec()
5308 pC->movetoTarget = iKey; /* Used by OP_Delete */ in sqlite3VdbeExec()
5309 pC->nullRow = 0; in sqlite3VdbeExec()
5310 pC->cacheStatus = CACHE_STALE; in sqlite3VdbeExec()
5311 pC->deferredMoveto = 0; in sqlite3VdbeExec()
5313 pC->seekResult = res; in sqlite3VdbeExec()
5361 VdbeCursor *pC; /* Cursor of table to get the new rowid */ in sqlite3VdbeExec() local
5373 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
5374 assert( pC!=0 ); in sqlite3VdbeExec()
5375 assert( pC->isTable ); in sqlite3VdbeExec()
5376 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
5377 assert( pC->uc.pCursor!=0 ); in sqlite3VdbeExec()
5392 assert( pC->isTable ); in sqlite3VdbeExec()
5404 if( !pC->useRandomRowid ){ in sqlite3VdbeExec()
5405 rc = sqlite3BtreeLast(pC->uc.pCursor, &res); in sqlite3VdbeExec()
5412 assert( sqlite3BtreeCursorIsValid(pC->uc.pCursor) ); in sqlite3VdbeExec()
5413 v = sqlite3BtreeIntegerKey(pC->uc.pCursor); in sqlite3VdbeExec()
5415 pC->useRandomRowid = 1; in sqlite3VdbeExec()
5442 if( pMem->u.i==MAX_ROWID || pC->useRandomRowid ){ in sqlite3VdbeExec()
5452 if( pC->useRandomRowid ){ in sqlite3VdbeExec()
5463 }while( ((rc = sqlite3BtreeTableMoveto(pC->uc.pCursor, (u64)v, in sqlite3VdbeExec()
5474 pC->deferredMoveto = 0; in sqlite3VdbeExec()
5475 pC->cacheStatus = CACHE_STALE; in sqlite3VdbeExec()
5521 VdbeCursor *pC; /* Cursor to table into which insert is written */ in sqlite3VdbeExec() local
5530 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
5531 assert( pC!=0 ); in sqlite3VdbeExec()
5532 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
5533 assert( pC->deferredMoveto==0 ); in sqlite3VdbeExec()
5534 assert( pC->uc.pCursor!=0 ); in sqlite3VdbeExec()
5535 assert( (pOp->p5 & OPFLAG_ISNOOP) || pC->isTable ); in sqlite3VdbeExec()
5538 sqlite3VdbeIncrWriteCounter(p, pC); in sqlite3VdbeExec()
5547 assert( pC->iDb>=0 ); in sqlite3VdbeExec()
5548 zDb = db->aDb[pC->iDb].zDbSName; in sqlite3VdbeExec()
5560 sqlite3VdbePreUpdateHook(p,pC,SQLITE_INSERT,zDb,pTab,x.nKey,pOp->p2,-1); in sqlite3VdbeExec()
5575 seekResult = ((pOp->p5 & OPFLAG_USESEEKRESULT) ? pC->seekResult : 0); in sqlite3VdbeExec()
5582 rc = sqlite3BtreeInsert(pC->uc.pCursor, &x, in sqlite3VdbeExec()
5586 pC->deferredMoveto = 0; in sqlite3VdbeExec()
5587 pC->cacheStatus = CACHE_STALE; in sqlite3VdbeExec()
5664 VdbeCursor *pC; in sqlite3VdbeExec() local
5671 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
5672 assert( pC!=0 ); in sqlite3VdbeExec()
5673 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
5674 assert( pC->uc.pCursor!=0 ); in sqlite3VdbeExec()
5675 assert( pC->deferredMoveto==0 ); in sqlite3VdbeExec()
5676 sqlite3VdbeIncrWriteCounter(p, pC); in sqlite3VdbeExec()
5682 && sqlite3BtreeCursorIsValidNN(pC->uc.pCursor) in sqlite3VdbeExec()
5687 i64 iKey = sqlite3BtreeIntegerKey(pC->uc.pCursor); in sqlite3VdbeExec()
5688 assert( CORRUPT_DB || pC->movetoTarget==iKey ); in sqlite3VdbeExec()
5698 assert( pC->iDb>=0 ); in sqlite3VdbeExec()
5700 zDb = db->aDb[pC->iDb].zDbSName; in sqlite3VdbeExec()
5702 if( (pOp->p5 & OPFLAG_SAVEPOSITION)!=0 && pC->isTable ){ in sqlite3VdbeExec()
5703 pC->movetoTarget = sqlite3BtreeIntegerKey(pC->uc.pCursor); in sqlite3VdbeExec()
5718 sqlite3VdbePreUpdateHook(p, pC, in sqlite3VdbeExec()
5720 zDb, pTab, pC->movetoTarget, in sqlite3VdbeExec()
5734 if( pC->isEphemeral==0 in sqlite3VdbeExec()
5736 && (pC->wrFlag & OPFLAG_FORDELETE)==0 in sqlite3VdbeExec()
5746 rc = sqlite3BtreeDelete(pC->uc.pCursor, pOp->p5); in sqlite3VdbeExec()
5747 pC->cacheStatus = CACHE_STALE; in sqlite3VdbeExec()
5748 pC->seekResult = 0; in sqlite3VdbeExec()
5756 pC->movetoTarget); in sqlite3VdbeExec()
5757 assert( pC->iDb>=0 ); in sqlite3VdbeExec()
5792 VdbeCursor *pC; in sqlite3VdbeExec() local
5796 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
5797 assert( isSorter(pC) ); in sqlite3VdbeExec()
5802 rc = sqlite3VdbeSorterCompare(pC, pIn3, nKeyCol, &res); in sqlite3VdbeExec()
5822 VdbeCursor *pC; in sqlite3VdbeExec() local
5825 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
5826 assert( isSorter(pC) ); in sqlite3VdbeExec()
5827 rc = sqlite3VdbeSorterRowkey(pC, pOut); in sqlite3VdbeExec()
5864 VdbeCursor *pC; in sqlite3VdbeExec() local
5871 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
5872 assert( pC!=0 ); in sqlite3VdbeExec()
5873 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
5874 assert( isSorter(pC)==0 ); in sqlite3VdbeExec()
5875 assert( pC->nullRow==0 ); in sqlite3VdbeExec()
5876 assert( pC->uc.pCursor!=0 ); in sqlite3VdbeExec()
5877 pCrsr = pC->uc.pCursor; in sqlite3VdbeExec()
5887 assert( pC->deferredMoveto==0 ); in sqlite3VdbeExec()
5914 VdbeCursor *pC; in sqlite3VdbeExec() local
5921 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
5922 assert( pC!=0 ); in sqlite3VdbeExec()
5923 assert( pC->eCurType!=CURTYPE_PSEUDO || pC->nullRow ); in sqlite3VdbeExec()
5924 if( pC->nullRow ){ in sqlite3VdbeExec()
5927 }else if( pC->deferredMoveto ){ in sqlite3VdbeExec()
5928 v = pC->movetoTarget; in sqlite3VdbeExec()
5930 }else if( pC->eCurType==CURTYPE_VTAB ){ in sqlite3VdbeExec()
5931 assert( pC->uc.pVCur!=0 ); in sqlite3VdbeExec()
5932 pVtab = pC->uc.pVCur->pVtab; in sqlite3VdbeExec()
5935 rc = pModule->xRowid(pC->uc.pVCur, &v); in sqlite3VdbeExec()
5940 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
5941 assert( pC->uc.pCursor!=0 ); in sqlite3VdbeExec()
5942 rc = sqlite3VdbeCursorRestore(pC); in sqlite3VdbeExec()
5944 if( pC->nullRow ){ in sqlite3VdbeExec()
5948 v = sqlite3BtreeIntegerKey(pC->uc.pCursor); in sqlite3VdbeExec()
5964 VdbeCursor *pC; in sqlite3VdbeExec() local
5967 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
5968 if( pC==0 ){ in sqlite3VdbeExec()
5971 pC = allocateCursor(p, pOp->p1, 1, CURTYPE_PSEUDO); in sqlite3VdbeExec()
5972 if( pC==0 ) goto no_mem; in sqlite3VdbeExec()
5973 pC->seekResult = 0; in sqlite3VdbeExec()
5974 pC->isTable = 1; in sqlite3VdbeExec()
5975 pC->noReuse = 1; in sqlite3VdbeExec()
5976 pC->uc.pCursor = sqlite3BtreeFakeValidCursor(); in sqlite3VdbeExec()
5978 pC->nullRow = 1; in sqlite3VdbeExec()
5979 pC->cacheStatus = CACHE_STALE; in sqlite3VdbeExec()
5980 if( pC->eCurType==CURTYPE_BTREE ){ in sqlite3VdbeExec()
5981 assert( pC->uc.pCursor!=0 ); in sqlite3VdbeExec()
5982 sqlite3BtreeClearCursor(pC->uc.pCursor); in sqlite3VdbeExec()
5985 if( pC->seekOp==0 ) pC->seekOp = OP_NullRow; in sqlite3VdbeExec()
6014 VdbeCursor *pC; in sqlite3VdbeExec() local
6019 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
6020 assert( pC!=0 ); in sqlite3VdbeExec()
6021 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
6022 pCrsr = pC->uc.pCursor; in sqlite3VdbeExec()
6026 pC->seekOp = pOp->opcode; in sqlite3VdbeExec()
6030 pC->seekResult = -1; in sqlite3VdbeExec()
6036 pC->nullRow = (u8)res; in sqlite3VdbeExec()
6037 pC->deferredMoveto = 0; in sqlite3VdbeExec()
6038 pC->cacheStatus = CACHE_STALE; in sqlite3VdbeExec()
6053 VdbeCursor *pC; in sqlite3VdbeExec() local
6059 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
6060 assert( pC!=0 ); in sqlite3VdbeExec()
6061 pCrsr = pC->uc.pCursor; in sqlite3VdbeExec()
6119 VdbeCursor *pC; in sqlite3VdbeExec() local
6125 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
6126 assert( pC!=0 ); in sqlite3VdbeExec()
6127 assert( isSorter(pC)==(pOp->opcode==OP_SorterSort) ); in sqlite3VdbeExec()
6130 pC->seekOp = OP_Rewind; in sqlite3VdbeExec()
6132 if( isSorter(pC) ){ in sqlite3VdbeExec()
6133 rc = sqlite3VdbeSorterRewind(pC, &res); in sqlite3VdbeExec()
6135 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
6136 pCrsr = pC->uc.pCursor; in sqlite3VdbeExec()
6139 pC->deferredMoveto = 0; in sqlite3VdbeExec()
6140 pC->cacheStatus = CACHE_STALE; in sqlite3VdbeExec()
6143 pC->nullRow = (u8)res; in sqlite3VdbeExec()
6205 VdbeCursor *pC; in sqlite3VdbeExec() local
6207 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
6208 assert( isSorter(pC) ); in sqlite3VdbeExec()
6209 rc = sqlite3VdbeSorterNext(db, pC); in sqlite3VdbeExec()
6217 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
6218 assert( pC!=0 ); in sqlite3VdbeExec()
6219 assert( pC->deferredMoveto==0 ); in sqlite3VdbeExec()
6220 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
6221 assert( pC->seekOp==OP_SeekLT || pC->seekOp==OP_SeekLE in sqlite3VdbeExec()
6222 || pC->seekOp==OP_Last || pC->seekOp==OP_IfNoHope in sqlite3VdbeExec()
6223 || pC->seekOp==OP_NullRow); in sqlite3VdbeExec()
6224 rc = sqlite3BtreePrevious(pC->uc.pCursor, pOp->p3); in sqlite3VdbeExec()
6232 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
6233 assert( pC!=0 ); in sqlite3VdbeExec()
6234 assert( pC->deferredMoveto==0 ); in sqlite3VdbeExec()
6235 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
6236 assert( pC->seekOp==OP_SeekGT || pC->seekOp==OP_SeekGE in sqlite3VdbeExec()
6237 || pC->seekOp==OP_Rewind || pC->seekOp==OP_Found in sqlite3VdbeExec()
6238 || pC->seekOp==OP_NullRow|| pC->seekOp==OP_SeekRowid in sqlite3VdbeExec()
6239 || pC->seekOp==OP_IfNoHope); in sqlite3VdbeExec()
6240 rc = sqlite3BtreeNext(pC->uc.pCursor, pOp->p3); in sqlite3VdbeExec()
6243 pC->cacheStatus = CACHE_STALE; in sqlite3VdbeExec()
6246 pC->nullRow = 0; in sqlite3VdbeExec()
6255 pC->nullRow = 1; in sqlite3VdbeExec()
6288 VdbeCursor *pC; in sqlite3VdbeExec() local
6292 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
6293 sqlite3VdbeIncrWriteCounter(p, pC); in sqlite3VdbeExec()
6294 assert( pC!=0 ); in sqlite3VdbeExec()
6295 assert( !isSorter(pC) ); in sqlite3VdbeExec()
6299 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
6300 assert( pC->isTable==0 ); in sqlite3VdbeExec()
6307 rc = sqlite3BtreeInsert(pC->uc.pCursor, &x, in sqlite3VdbeExec()
6309 ((pOp->p5 & OPFLAG_USESEEKRESULT) ? pC->seekResult : 0) in sqlite3VdbeExec()
6311 assert( pC->deferredMoveto==0 ); in sqlite3VdbeExec()
6312 pC->cacheStatus = CACHE_STALE; in sqlite3VdbeExec()
6325 VdbeCursor *pC; in sqlite3VdbeExec() local
6328 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
6329 sqlite3VdbeIncrWriteCounter(p, pC); in sqlite3VdbeExec()
6330 assert( pC!=0 ); in sqlite3VdbeExec()
6331 assert( isSorter(pC) ); in sqlite3VdbeExec()
6334 assert( pC->isTable==0 ); in sqlite3VdbeExec()
6337 rc = sqlite3VdbeSorterWrite(pC, pIn2); in sqlite3VdbeExec()
6358 VdbeCursor *pC; in sqlite3VdbeExec() local
6366 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
6367 assert( pC!=0 ); in sqlite3VdbeExec()
6368 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
6369 sqlite3VdbeIncrWriteCounter(p, pC); in sqlite3VdbeExec()
6370 pCrsr = pC->uc.pCursor; in sqlite3VdbeExec()
6372 r.pKeyInfo = pC->pKeyInfo; in sqlite3VdbeExec()
6385 assert( pC->deferredMoveto==0 ); in sqlite3VdbeExec()
6386 pC->cacheStatus = CACHE_STALE; in sqlite3VdbeExec()
6387 pC->seekResult = 0; in sqlite3VdbeExec()
6421 VdbeCursor *pC; /* The P1 index cursor */ in sqlite3VdbeExec() local
6426 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
6427 assert( pC!=0 ); in sqlite3VdbeExec()
6428 assert( pC->eCurType==CURTYPE_BTREE || IsNullCursor(pC) ); in sqlite3VdbeExec()
6429 assert( pC->uc.pCursor!=0 ); in sqlite3VdbeExec()
6430 assert( pC->isTable==0 || IsNullCursor(pC) ); in sqlite3VdbeExec()
6431 assert( pC->deferredMoveto==0 ); in sqlite3VdbeExec()
6432 assert( !pC->nullRow || pOp->opcode==OP_IdxRowid ); in sqlite3VdbeExec()
6436 rc = sqlite3VdbeCursorRestore(pC); in sqlite3VdbeExec()
6443 if( !pC->nullRow ){ in sqlite3VdbeExec()
6445 rc = sqlite3VdbeIdxRowid(db, pC->uc.pCursor, &rowid); in sqlite3VdbeExec()
6463 assert( !pC->isEphemeral ); in sqlite3VdbeExec()
6464 pTabCur->pAltCursor = pC; in sqlite3VdbeExec()
6483 VdbeCursor *pC; /* The P1 index cursor */ in sqlite3VdbeExec() local
6486 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
6487 if( pC->deferredMoveto ){ in sqlite3VdbeExec()
6488 rc = sqlite3VdbeFinishMoveto(pC); in sqlite3VdbeExec()
6542 VdbeCursor *pC; in sqlite3VdbeExec() local
6547 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
6548 assert( pC!=0 ); in sqlite3VdbeExec()
6549 assert( pC->isOrdered ); in sqlite3VdbeExec()
6550 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
6551 assert( pC->uc.pCursor!=0); in sqlite3VdbeExec()
6552 assert( pC->deferredMoveto==0 ); in sqlite3VdbeExec()
6554 r.pKeyInfo = pC->pKeyInfo; in sqlite3VdbeExec()
6580 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
6581 pCur = pC->uc.pCursor; in sqlite3VdbeExec()
6718 VdbeCursor *pC; in sqlite3VdbeExec() local
6721 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
6722 assert( pC!=0 ); in sqlite3VdbeExec()
6723 if( isSorter(pC) ){ in sqlite3VdbeExec()
6724 sqlite3VdbeSorterReset(db, pC->uc.pSorter); in sqlite3VdbeExec()
6726 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
6727 assert( pC->isEphemeral ); in sqlite3VdbeExec()
6728 rc = sqlite3BtreeClearTableOfCursor(pC->uc.pCursor); in sqlite3VdbeExec()
7828 VdbeCursor *pC; in sqlite3VdbeExec() local
7830 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
7831 assert( pC!=0 ); in sqlite3VdbeExec()
7832 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
7833 sqlite3BtreeCursorPin(pC->uc.pCursor); in sqlite3VdbeExec()
7843 VdbeCursor *pC; in sqlite3VdbeExec() local
7845 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
7846 assert( pC!=0 ); in sqlite3VdbeExec()
7847 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
7848 sqlite3BtreeCursorUnpin(pC->uc.pCursor); in sqlite3VdbeExec()
8008 VdbeCursor *pC; /* The cursor containing the RHS values */ in sqlite3VdbeExec() local
8011 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
8014 pRhs->pCsr = pC->uc.pCursor; in sqlite3VdbeExec()
8635 VdbeCursor *pC; in sqlite3VdbeExec() local
8639 pC = p->apCsr[pOp->p1]; in sqlite3VdbeExec()
8640 if( pC ){ in sqlite3VdbeExec()
8641 assert( pC->eCurType==CURTYPE_BTREE ); in sqlite3VdbeExec()
8642 sqlite3BtreeCursorHint(pC->uc.pCursor, BTREE_HINT_RANGE, in sqlite3VdbeExec()