Lines Matching refs:pOp

58445   VdbeOp *pOp;
58456 pOp = &p->aOp[i];
58457 pOp->opcode = (u8)op;
58458 pOp->p5 = 0;
58459 pOp->p1 = p1;
58460 pOp->p2 = p2;
58461 pOp->p3 = p3;
58462 pOp->p4.p = 0;
58463 pOp->p4type = P4_NOTUSED;
58465 pOp->zComment = 0;
58469 pOp->cycles = 0;
58470 pOp->cnt = 0;
58590 ** Op *pOp;
58595 ** while( (pOp = opIterNext(&sIter)) ){
58596 ** // Do something with pOp
58675 Op *pOp;
58680 while( (pOp = opIterNext(&sIter))!=0 ){
58681 int opcode = pOp->opcode;
58684 || (opcode==OP_FkCounter && pOp->p1==0 && pOp->p2==1)
58687 && (pOp->p1==SQLITE_CONSTRAINT && pOp->p2==OE_Abort))
58720 Op *pOp;
58723 for(pOp=p->aOp, i=p->nOp-1; i>=0; i--, pOp++){
58724 u8 opcode = pOp->opcode;
58726 pOp->opflags = sqlite3OpcodeProperty[opcode];
58728 if( pOp->p5>nMaxArgs ) nMaxArgs = pOp->p5;
58729 }else if( (opcode==OP_Transaction && pOp->p2!=0) || opcode==OP_Vacuum ){
58733 if( pOp->p2>nMaxArgs ) nMaxArgs = pOp->p2;
58737 assert( pOp[-1].opcode==OP_Integer );
58738 n = pOp[-1].p1;
58742 pOp->p4.xAdvance = sqlite3BtreeNext;
58743 pOp->p4type = P4_ADVANCE;
58745 pOp->p4.xAdvance = sqlite3BtreePrevious;
58746 pOp->p4type = P4_ADVANCE;
58749 if( (pOp->opflags & OPFLG_JUMP)!=0 && pOp->p2<0 ){
58750 assert( -1-pOp->p2<p->nLabel );
58751 pOp->p2 = aLabel[-1-pOp->p2];
58956 Op *pOp;
58957 for(pOp=aOp; pOp<&aOp[nOp]; pOp++){
58958 freeP4(db, pOp->p4type, pOp->p4.p);
58960 sqlite3DbFree(db, pOp->zComment);
58982 VdbeOp *pOp = &p->aOp[addr];
58984 freeP4(db, pOp->p4type, pOp->p4.p);
58985 memset(pOp, 0, sizeof(pOp[0]));
58986 pOp->opcode = OP_Noop;
59016 Op *pOp;
59032 pOp = &p->aOp[addr];
59033 freeP4(db, pOp->p4type, pOp->p4.p);
59034 pOp->p4.p = 0;
59038 pOp->p4.i = SQLITE_PTR_TO_INT(zP4);
59039 pOp->p4type = P4_INT32;
59041 pOp->p4.p = 0;
59042 pOp->p4type = P4_NOTUSED;
59050 pOp->p4.pKeyInfo = pKeyInfo;
59059 pOp->p4type = P4_KEYINFO;
59062 pOp->p4type = P4_NOTUSED;
59065 pOp->p4.p = (void*)zP4;
59066 pOp->p4type = P4_KEYINFO;
59068 pOp->p4.p = (void*)zP4;
59069 pOp->p4type = P4_VTAB;
59073 pOp->p4.p = (void*)zP4;
59074 pOp->p4type = (signed char)n;
59077 pOp->p4.z = sqlite3DbStrNDup(p->db, zP4, n);
59078 pOp->p4type = P4_DYNAMIC;
59164 static char *displayP4(Op *pOp, char *zTemp, int nTemp){
59167 switch( pOp->p4type ){
59171 KeyInfo *pKeyInfo = pOp->p4.pKeyInfo;
59199 CollSeq *pColl = pOp->p4.pColl;
59204 FuncDef *pDef = pOp->p4.pFunc;
59209 sqlite3_snprintf(nTemp, zTemp, "%lld", *pOp->p4.pI64);
59213 sqlite3_snprintf(nTemp, zTemp, "%d", pOp->p4.i);
59217 sqlite3_snprintf(nTemp, zTemp, "%.16g", *pOp->p4.pReal);
59221 Mem *pMem = pOp->p4.pMem;
59237 sqlite3_vtab *pVtab = pOp->p4.pVtab->pVtab;
59255 zP4 = pOp->p4.z;
59349 SQLITE_PRIVATE void sqlite3VdbePrintOp(FILE *pOut, int pc, Op *pOp){
59354 zP4 = displayP4(pOp, zPtr, sizeof(zPtr));
59356 sqlite3OpcodeName(pOp->opcode), pOp->p1, pOp->p2, pOp->p3, zP4, pOp->p5,
59358 pOp->zComment ? pOp->zComment : ""
59507 Op *pOp;
59511 pOp = &p->aOp[i];
59520 pOp = &apSub[j]->aOp[i];
59529 pMem->z = (char*)sqlite3OpcodeName(pOp->opcode); /* Opcode */
59541 if( pOp->p4type==P4_SUBPROGRAM ){
59545 if( apSub[j]==pOp->p4.pProgram ) break;
59549 apSub[nSub++] = pOp->p4.pProgram;
59557 pMem->u.i = pOp->p1; /* P1 */
59562 pMem->u.i = pOp->p2; /* P2 */
59567 pMem->u.i = pOp->p3; /* P3 */
59576 z = displayP4(pOp, pMem->z, 32);
59594 sqlite3_snprintf(3, pMem->z, "%.2x", pOp->p5); /* P5 */
59600 if( pOp->zComment ){
59602 pMem->z = pOp->zComment;
59628 VdbeOp *pOp;
59630 pOp = &p->aOp[0];
59631 if( pOp->opcode==OP_Trace && pOp->p4.z!=0 ){
59632 const char *z = pOp->p4.z;
59645 VdbeOp *pOp;
59648 pOp = &p->aOp[0];
59649 if( pOp->opcode==OP_Trace && pOp->p4.z!=0 ){
59652 sqlite3_snprintf(sizeof(z), z, "%s", pOp->p4.z);
63653 Op *pOp; /* Current operation */
64131 pOp = &aOp[pc];
64141 sqlite3VdbePrintOp(p->trace, pc, pOp);
64184 assert( pOp->opflags==sqlite3OpcodeProperty[pOp->opcode] );
64185 if( pOp->opflags & OPFLG_OUT2_PRERELEASE ){
64186 assert( pOp->p2>0 );
64187 assert( pOp->p2<=p->nMem );
64188 pOut = &aMem[pOp->p2];
64196 if( (pOp->opflags & OPFLG_IN1)!=0 ){
64197 assert( pOp->p1>0 );
64198 assert( pOp->p1<=p->nMem );
64199 assert( memIsValid(&aMem[pOp->p1]) );
64200 REGISTER_TRACE(pOp->p1, &aMem[pOp->p1]);
64202 if( (pOp->opflags & OPFLG_IN2)!=0 ){
64203 assert( pOp->p2>0 );
64204 assert( pOp->p2<=p->nMem );
64205 assert( memIsValid(&aMem[pOp->p2]) );
64206 REGISTER_TRACE(pOp->p2, &aMem[pOp->p2]);
64208 if( (pOp->opflags & OPFLG_IN3)!=0 ){
64209 assert( pOp->p3>0 );
64210 assert( pOp->p3<=p->nMem );
64211 assert( memIsValid(&aMem[pOp->p3]) );
64212 REGISTER_TRACE(pOp->p3, &aMem[pOp->p3]);
64214 if( (pOp->opflags & OPFLG_OUT2)!=0 ){
64215 assert( pOp->p2>0 );
64216 assert( pOp->p2<=p->nMem );
64217 memAboutToChange(p, &aMem[pOp->p2]);
64219 if( (pOp->opflags & OPFLG_OUT3)!=0 ){
64220 assert( pOp->p3>0 );
64221 assert( pOp->p3<=p->nMem );
64222 memAboutToChange(p, &aMem[pOp->p3]);
64226 switch( pOp->opcode ){
64272 pc = pOp->p2 - 1;
64282 pIn1 = &aMem[pOp->p1];
64287 REGISTER_TRACE(pOp->p1, pIn1);
64288 pc = pOp->p2 - 1;
64297 pIn1 = &aMem[pOp->p1];
64311 pIn1 = &aMem[pOp->p1];
64316 REGISTER_TRACE(pOp->p1, pIn1);
64328 pIn3 = &aMem[pOp->p3];
64353 if( pOp->p1==SQLITE_OK && p->pFrame ){
64361 if( pOp->p2==OE_Ignore ){
64374 p->rc = pOp->p1;
64375 p->errorAction = (u8)pOp->p2;
64377 if( pOp->p4.z ){
64379 sqlite3SetString(&p->zErrMsg, db, "%s", pOp->p4.z);
64381 sqlite3_log(pOp->p1, "abort at %d in [%s]: %s", pc, p->zSql, pOp->p4.z);
64384 sqlite3_log(pOp->p1, "constraint failed at %d in [%s]", pc, p->zSql);
64403 pOut->u.i = pOp->p1;
64413 assert( pOp->p4.pI64!=0 );
64414 pOut->u.i = *pOp->p4.pI64;
64426 assert( !sqlite3IsNaN(*pOp->p4.pReal) );
64427 pOut->r = *pOp->p4.pReal;
64438 assert( pOp->p4.z!=0 );
64439 pOp->opcode = OP_String;
64440 pOp->p1 = sqlite3Strlen30(pOp->p4.z);
64444 rc = sqlite3VdbeMemSetStr(pOut, pOp->p4.z, -1, SQLITE_UTF8, SQLITE_STATIC);
64452 if( pOp->p4type==P4_DYNAMIC ){
64453 sqlite3DbFree(db, pOp->p4.z);
64455 pOp->p4type = P4_DYNAMIC;
64456 pOp->p4.z = pOut->z;
64457 pOp->p1 = pOut->n;
64460 if( pOp->p1>db->aLimit[SQLITE_LIMIT_LENGTH] ){
64471 assert( pOp->p4.z!=0 );
64473 pOut->z = pOp->p4.z;
64474 pOut->n = pOp->p1;
64496 assert( pOp->p1 <= SQLITE_MAX_LENGTH );
64497 sqlite3VdbeMemSetStr(pOut, pOp->p4.z, pOp->p1, 0, 0);
64515 assert( pOp->p1>0 && pOp->p1<=p->nVar );
64516 assert( pOp->p4.z==0 || pOp->p4.z==p->azVar[pOp->p1-1] );
64517 u.ab.pVar = &p->aVar[pOp->p1 - 1];
64541 u.ac.n = pOp->p3;
64542 u.ac.p1 = pOp->p1;
64543 u.ac.p2 = pOp->p2;
64558 if( pOut->pScopyFrom>=&aMem[u.ac.p1] && pOut->pScopyFrom<&aMem[u.ac.p1+pOp->p3] ){
64559 pOut->pScopyFrom += u.ac.p1 - pOp->p2;
64578 pIn1 = &aMem[pOp->p1];
64579 pOut = &aMem[pOp->p2];
64583 REGISTER_TRACE(pOp->p2, pOut);
64600 pIn1 = &aMem[pOp->p1];
64601 pOut = &aMem[pOp->p2];
64607 REGISTER_TRACE(pOp->p2, pOut);
64624 assert( p->nResColumn==pOp->p2 );
64625 assert( pOp->p1>0 );
64626 assert( pOp->p1+pOp->p2<=p->nMem+1 );
64665 u.ad.pMem = p->pResultSet = &aMem[pOp->p1];
64666 for(u.ad.i=0; u.ad.i<pOp->p2; u.ad.i++){
64673 REGISTER_TRACE(pOp->p1+u.ad.i, &u.ad.pMem[u.ad.i]);
64701 pIn1 = &aMem[pOp->p1];
64702 pIn2 = &aMem[pOp->p2];
64703 pOut = &aMem[pOp->p3];
64779 pIn1 = &aMem[pOp->p1];
64781 pIn2 = &aMem[pOp->p2];
64783 pOut = &aMem[pOp->p3];
64789 switch( pOp->opcode ){
64812 switch( pOp->opcode ){
64864 assert( pOp->p4type==P4_COLLSEQ );
64893 u.ag.n = pOp->p5;
64896 assert( pOp->p3>0 && pOp->p3<=p->nMem );
64897 pOut = &aMem[pOp->p3];
64900 assert( u.ag.n==0 || (pOp->p2>0 && pOp->p2+u.ag.n<=p->nMem+1) );
64901 assert( pOp->p3<pOp->p2 || pOp->p3>=pOp->p2+u.ag.n );
64902 u.ag.pArg = &aMem[pOp->p2];
64908 REGISTER_TRACE(pOp->p2+u.ag.i, u.ag.pArg);
64911 assert( pOp->p4type==P4_FUNCDEF || pOp->p4type==P4_VDBEFUNC );
64912 if( pOp->p4type==P4_FUNCDEF ){
64913 u.ag.ctx.pFunc = pOp->p4.pFunc;
64916 u.ag.ctx.pVdbeFunc = (VdbeFunc*)pOp->p4.pVdbeFunc;
64934 assert( pOp>aOp );
64935 assert( pOp[-1].p4type==P4_COLLSEQ );
64936 assert( pOp[-1].opcode==OP_CollSeq );
64937 u.ag.ctx.pColl = pOp[-1].p4.pColl;
64947 sqlite3VdbeDeleteAuxData(u.ag.ctx.pVdbeFunc, pOp->p1);
64948 pOp->p4.pVdbeFunc = u.ag.ctx.pVdbeFunc;
64949 pOp->p4type = P4_VDBEFUNC;
64983 REGISTER_TRACE(pOp->p3, pOut);
65025 pIn1 = &aMem[pOp->p1];
65026 pIn2 = &aMem[pOp->p2];
65027 pOut = &aMem[pOp->p3];
65034 u.ah.op = pOp->opcode;
65076 pIn1 = &aMem[pOp->p1];
65079 pIn1->u.i += pOp->p2;
65091 pIn1 = &aMem[pOp->p1];
65094 if( pOp->p2==0 ){
65098 pc = pOp->p2 - 1;
65117 pIn1 = &aMem[pOp->p1];
65136 pIn1 = &aMem[pOp->p1];
65159 pIn1 = &aMem[pOp->p1];
65183 pIn1 = &aMem[pOp->p1];
65199 pIn1 = &aMem[pOp->p1];
65217 pIn1 = &aMem[pOp->p1];
65311 pIn1 = &aMem[pOp->p1];
65312 pIn3 = &aMem[pOp->p3];
65317 if( pOp->p5 & SQLITE_NULLEQ ){
65322 assert( pOp->opcode==OP_Eq || pOp->opcode==OP_Ne );
65329 if( pOp->p5 & SQLITE_STOREP2 ){
65330 pOut = &aMem[pOp->p2];
65332 REGISTER_TRACE(pOp->p2, pOut);
65333 }else if( pOp->p5 & SQLITE_JUMPIFNULL ){
65334 pc = pOp->p2-1;
65340 u.ai.affinity = pOp->p5 & SQLITE_AFF_MASK;
65347 assert( pOp->p4type==P4_COLLSEQ || pOp->p4.pColl==0 );
65350 u.ai.res = sqlite3MemCompare(pIn3, pIn1, pOp->p4.pColl);
65352 switch( pOp->opcode ){
65361 if( pOp->p5 & SQLITE_STOREP2 ){
65362 pOut = &aMem[pOp->p2];
65366 REGISTER_TRACE(pOp->p2, pOut);
65368 pc = pOp->p2-1;
65387 assert( pOp->p4type==P4_INTARRAY );
65388 assert( pOp->p4.ai );
65389 aPermute = pOp->p4.ai;
65419 u.aj.n = pOp->p3;
65420 u.aj.pKeyInfo = pOp->p4.pKeyInfo;
65423 u.aj.p1 = pOp->p1;
65424 u.aj.p2 = pOp->p2;
65463 pc = pOp->p1 - 1;
65465 pc = pOp->p2 - 1;
65467 pc = pOp->p3 - 1;
65497 pIn1 = &aMem[pOp->p1];
65503 pIn2 = &aMem[pOp->p2];
65509 if( pOp->opcode==OP_And ){
65516 pOut = &aMem[pOp->p3];
65533 pIn1 = &aMem[pOp->p1];
65534 pOut = &aMem[pOp->p2];
65550 pIn1 = &aMem[pOp->p1];
65551 pOut = &aMem[pOp->p2];
65588 pIn1 = &aMem[pOp->p1];
65590 u.al.c = pOp->p3;
65597 if( pOp->opcode==OP_IfNot ) u.al.c = !u.al.c;
65600 pc = pOp->p2-1;
65601 }else if( pOp->opcode==OP_Once ){
65606 REGISTER_TRACE(pOp->p1, pIn1);
65616 pIn1 = &aMem[pOp->p1];
65618 pc = pOp->p2 - 1;
65628 pIn1 = &aMem[pOp->p1];
65630 pc = pOp->p2 - 1;
65682 u.am.p1 = pOp->p1;
65683 u.am.p2 = pOp->p2;
65687 assert( pOp->p3>0 && pOp->p3<=p->nMem );
65688 u.am.pDest = &aMem[pOp->p3];
65739 u.am.pC->cacheStatus = (pOp->p5&OPFLAG_CLEARCACHE) ? CACHE_STALE : p->cacheCtr;
65918 if( pOp->p4type==P4_MEM ){
65919 sqlite3VdbeMemShallowCopy(u.am.pDest, pOp->p4.pMem, MEM_Static);
65944 REGISTER_TRACE(pOp->p3, u.am.pDest);
65962 u.an.zAffinity = pOp->p4.z;
65964 assert( u.an.zAffinity[pOp->p2]==0 );
65965 pIn1 = &aMem[pOp->p1];
66028 u.ao.nField = pOp->p1;
66029 u.ao.zAffinity = pOp->p4.z;
66030 assert( u.ao.nField>0 && pOp->p2>0 && pOp->p2+u.ao.nField<=p->nMem+1 );
66032 u.ao.nField = pOp->p2;
66037 assert( pOp->p3<pOp->p1 || pOp->p3>=pOp->p1+pOp->p2 );
66038 pOut = &aMem[pOp->p3];
66076 ** the new record. The output register (pOp->p3) is not allowed to
66096 assert( pOp->p3>0 && pOp->p3<=p->nMem );
66105 REGISTER_TRACE(pOp->p3, pOut);
66122 u.ap.pCrsr = p->apCsr[pOp->p1]->pCursor;
66151 u.aq.p1 = pOp->p1;
66152 u.aq.zName = pOp->p4.z;
66317 u.ar.desiredAutoCommit = pOp->p1;
66318 u.ar.iRollback = pOp->p2;
66410 assert( pOp->p1>=0 && pOp->p1<db->nDb );
66411 assert( (p->btreeMask & (((yDbMask)1)<<pOp->p1))!=0 );
66412 u.as.pBt = db->aDb[pOp->p1].pBt;
66415 rc = sqlite3BtreeBeginTrans(u.as.pBt, pOp->p2);
66425 if( pOp->p2 && p->usesStmtJournal
66468 u.at.iDb = pOp->p1;
66469 u.at.iCookie = pOp->p3;
66470 assert( pOp->p3<SQLITE_N_BTREE_META );
66494 assert( pOp->p2<SQLITE_N_BTREE_META );
66495 assert( pOp->p1>=0 && pOp->p1<db->nDb );
66496 assert( (p->btreeMask & (((yDbMask)1)<<pOp->p1))!=0 );
66497 u.au.pDb = &db->aDb[pOp->p1];
66499 assert( sqlite3SchemaMutexHeld(db, pOp->p1, 0) );
66500 pIn3 = &aMem[pOp->p3];
66503 rc = sqlite3BtreeUpdateMeta(u.au.pDb->pBt, pOp->p2, (int)pIn3->u.i);
66504 if( pOp->p2==BTREE_SCHEMA_VERSION ){
66508 }else if( pOp->p2==BTREE_FILE_FORMAT ){
66512 if( pOp->p1==1 ){
66546 assert( pOp->p1>=0 && pOp->p1<db->nDb );
66547 assert( (p->btreeMask & (((yDbMask)1)<<pOp->p1))!=0 );
66548 assert( sqlite3SchemaMutexHeld(db, pOp->p1, 0) );
66549 u.av.pBt = db->aDb[pOp->p1].pBt;
66552 u.av.iGen = db->aDb[pOp->p1].pSchema->iGeneration;
66556 if( u.av.iMeta!=pOp->p2 || u.av.iGen!=pOp->p3 ){
66572 if( db->aDb[pOp->p1].pSchema->schema_cookie!=u.av.iMeta ){
66573 sqlite3ResetInternalSchema(db, pOp->p1);
66651 u.aw.p2 = pOp->p2;
66652 u.aw.iDb = pOp->p3;
66658 if( pOp->opcode==OP_OpenWrite ){
66667 if( pOp->p5 ){
66684 if( pOp->p4type==P4_KEYINFO ){
66685 u.aw.pKeyInfo = pOp->p4.pKeyInfo;
66688 }else if( pOp->p4type==P4_INT32 ){
66689 u.aw.nField = pOp->p4.i;
66691 assert( pOp->p1>=0 );
66692 u.aw.pCur = allocateCursor(p, pOp->p1, u.aw.nField, u.aw.iDb, 1);
66707 u.aw.pCur->isTable = pOp->p4type!=P4_KEYINFO;
66754 assert( pOp->p1>=0 );
66755 u.ax.pCx = allocateCursor(p, pOp->p1, pOp->p2, -1, 1);
66759 BTREE_OMIT_JOURNAL | BTREE_SINGLE | pOp->p5, vfsFlags);
66769 if( pOp->p4.pKeyInfo ){
66771 assert( pOp->p4type==P4_KEYINFO );
66772 rc = sqlite3BtreeCreateTable(u.ax.pCx->pBt, &pgno, BTREE_BLOBKEY | pOp->p5);
66776 (KeyInfo*)pOp->p4.z, u.ax.pCx->pCursor);
66777 u.ax.pCx->pKeyInfo = pOp->p4.pKeyInfo;
66786 u.ax.pCx->isOrdered = (pOp->p5!=BTREE_UNORDERED);
66802 u.ay.pCx = allocateCursor(p, pOp->p1, pOp->p2, -1, 1);
66804 u.ay.pCx->pKeyInfo = pOp->p4.pKeyInfo;
66809 pOp->opcode = OP_OpenEphemeral;
66835 assert( pOp->p1>=0 );
66836 u.az.pCx = allocateCursor(p, pOp->p1, pOp->p3, -1, 0);
66839 u.az.pCx->pseudoTableReg = pOp->p2;
66851 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
66852 sqlite3VdbeFreeCursor(p, p->apCsr[pOp->p1]);
66853 p->apCsr[pOp->p1] = 0;
66922 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
66923 assert( pOp->p2!=0 );
66924 u.ba.pC = p->apCsr[pOp->p1];
66932 u.ba.oc = pOp->opcode;
66938 pIn3 = &aMem[pOp->p3];
66949 pc = pOp->p2 - 1;
66972 pc = pOp->p2 - 1;
66993 u.ba.nField = pOp->p4.i;
66994 assert( pOp->p4type==P4_INT32 );
67012 u.ba.r.aMem = &aMem[pOp->p3];
67049 assert( pOp->p2>0 );
67051 pc = pOp->p2 - 1;
67058 pc = pOp->p2 - 1;
67077 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67078 u.bb.pC = p->apCsr[pOp->p1];
67083 pIn2 = &aMem[pOp->p2];
67133 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67134 assert( pOp->p4type==P4_INT32 );
67135 u.bc.pC = p->apCsr[pOp->p1];
67137 pIn3 = &aMem[pOp->p3];
67141 if( pOp->p4.i>0 ){
67143 u.bc.r.nField = (u16)pOp->p4.i;
67161 if( pOp->p4.i==0 ){
67171 if( pOp->opcode==OP_Found ){
67172 if( u.bc.alreadyExists ) pc = pOp->p2 - 1;
67174 if( !u.bc.alreadyExists ) pc = pOp->p2 - 1;
67216 pIn3 = &aMem[pOp->p3];
67217 u.bd.aMx = &aMem[pOp->p4.i];
67219 assert( pOp->p4type==P4_INT32 );
67220 assert( pOp->p4.i>0 && pOp->p4.i<=p->nMem );
67221 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67224 u.bd.pCx = p->apCsr[pOp->p1];
67234 pc = pOp->p2 - 1;
67260 pc = pOp->p2 - 1;
67290 pIn3 = &aMem[pOp->p3];
67292 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67293 u.be.pC = p->apCsr[pOp->p1];
67308 pc = pOp->p2 - 1;
67316 pc = pOp->p2 - 1;
67331 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67332 assert( p->apCsr[pOp->p1]!=0 );
67333 pOut->u.i = p->apCsr[pOp->p1]->seqCount++;
67364 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67365 u.bf.pC = p->apCsr[pOp->p1];
67417 if( pOp->p3 ){
67419 assert( pOp->p3>0 );
67423 assert( pOp->p3<=u.bf.pFrame->nMem );
67424 u.bf.pMem = &u.bf.pFrame->aMem[pOp->p3];
67427 assert( pOp->p3<=p->nMem );
67428 u.bf.pMem = &aMem[pOp->p3];
67433 REGISTER_TRACE(pOp->p3, u.bf.pMem);
67454 assert( pOp->p3==0 ); /* We cannot be in random rowid mode if this is
67547 u.bg.pData = &aMem[pOp->p2];
67548 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67550 u.bg.pC = p->apCsr[pOp->p1];
67555 REGISTER_TRACE(pOp->p2, u.bg.pData);
67557 if( pOp->opcode==OP_Insert ){
67558 u.bg.pKey = &aMem[pOp->p3];
67561 REGISTER_TRACE(pOp->p3, u.bg.pKey);
67564 assert( pOp->opcode==OP_InsertInt );
67565 u.bg.iKey = pOp->p3;
67568 if( pOp->p5 & OPFLAG_NCHANGE ) p->nChange++;
67569 if( pOp->p5 & OPFLAG_LASTROWID ) db->lastRowid = lastRowid = u.bg.iKey;
67576 u.bg.seekResult = ((pOp->p5 & OPFLAG_USESEEKRESULT) ? u.bg.pC->seekResult : 0);
67585 pOp->p5 & OPFLAG_APPEND, u.bg.seekResult
67592 if( rc==SQLITE_OK && db->xUpdateCallback && pOp->p4.z ){
67594 u.bg.zTbl = pOp->p4.z;
67595 u.bg.op = ((pOp->p5 & OPFLAG_ISUPDATE) ? SQLITE_UPDATE : SQLITE_INSERT);
67630 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67631 u.bh.pC = p->apCsr[pOp->p1];
67638 if( db->xUpdateCallback && pOp->p4.z ){
67660 if( rc==SQLITE_OK && db->xUpdateCallback && pOp->p4.z ){
67662 const char *zTbl = pOp->p4.z;
67666 if( pOp->p2 & OPFLAG_NCHANGE ) p->nChange++;
67695 u.bi.pC = p->apCsr[pOp->p1];
67697 pIn3 = &aMem[pOp->p3];
67700 pc = pOp->p2-1;
67714 pOut = &aMem[pOp->p2];
67715 u.bj.pC = p->apCsr[pOp->p1];
67719 pOp->opcode = OP_RowKey;
67754 pOut = &aMem[pOp->p2];
67758 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67759 u.bk.pC = p->apCsr[pOp->p1];
67761 assert( u.bk.pC->isTable || pOp->opcode!=OP_RowData );
67762 assert( u.bk.pC->isIndex || pOp->opcode==OP_RowData );
67827 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67828 u.bl.pC = p->apCsr[pOp->p1];
67870 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67871 u.bm.pC = p->apCsr[pOp->p1];
67897 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67898 u.bn.pC = p->apCsr[pOp->p1];
67910 if( pOp->p2>0 && u.bn.res ){
67911 pc = pOp->p2 - 1;
67931 pOp->opcode = OP_Sort;
67956 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67957 u.bo.pC = p->apCsr[pOp->p1];
67959 assert( u.bo.pC->isSorter==(pOp->opcode==OP_SorterSort) );
67973 assert( pOp->p2>0 && pOp->p2<p->nOp );
67975 pc = pOp->p2 - 1;
68014 pOp->opcode = OP_Next;
68024 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
68025 assert( pOp->p5<=ArraySize(p->aCounter) );
68026 u.bp.pC = p->apCsr[pOp->p1];
68030 assert( u.bp.pC->isSorter==(pOp->opcode==OP_SorterNext) );
68032 assert( pOp->opcode==OP_SorterNext );
68038 assert( pOp->opcode!=OP_Next || pOp->p4.xAdvance==sqlite3BtreeNext );
68039 assert( pOp->opcode!=OP_Prev || pOp->p4.xAdvance==sqlite3BtreePrevious );
68040 rc = pOp->p4.xAdvance(u.bp.pC->pCursor, &u.bp.res);
68045 pc = pOp->p2 - 1;
68046 if( pOp->p5 ) p->aCounter[pOp->p5-1]++;
68069 pOp->opcode = OP_IdxInsert;
68079 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
68080 u.bq.pC = p->apCsr[pOp->p1];
68082 assert( u.bq.pC->isSorter==(pOp->opcode==OP_SorterInsert) );
68083 pIn2 = &aMem[pOp->p2];
68095 rc = sqlite3BtreeInsert(u.bq.pCrsr, u.bq.zKey, u.bq.nKey, "", 0, 0, pOp->p3,
68096 ((pOp->p5 & OPFLAG_USESEEKRESULT) ? u.bq.pC->seekResult : 0)
68120 assert( pOp->p3>0 );
68121 assert( pOp->p2>0 && pOp->p2+pOp->p3<=p->nMem+1 );
68122 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
68123 u.br.pC = p->apCsr[pOp->p1];
68128 u.br.r.nField = (u16)pOp->p3;
68130 u.br.r.aMem = &aMem[pOp->p2];
68159 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
68160 u.bs.pC = p->apCsr[pOp->p1];
68215 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
68216 u.bt.pC = p->apCsr[pOp->p1];
68221 assert( pOp->p5==0 || pOp->p5==1 );
68222 assert( pOp->p4type==P4_INT32 );
68224 u.bt.r.nField = (u16)pOp->p4.i;
68225 if( pOp->p5 ){
68230 u.bt.r.aMem = &aMem[pOp->p3];
68235 if( pOp->opcode==OP_IdxLT ){
68238 assert( pOp->opcode==OP_IdxGE );
68242 pc = pOp->p2 - 1 ;
68290 u.bu.iDb = pOp->p3;
68293 rc = sqlite3BtreeDropTable(db->aDb[u.bu.iDb].pBt, pOp->p1, &u.bu.iMoved);
68298 sqlite3RootPageMoved(db, u.bu.iDb, u.bu.iMoved, pOp->p1);
68332 assert( (p->btreeMask & (((yDbMask)1)<<pOp->p2))!=0 );
68334 db->aDb[pOp->p2].pBt, pOp->p1, (pOp->p3 ? &u.bv.nChange : 0)
68336 if( pOp->p3 ){
68338 if( pOp->p3>0 ){
68339 assert( memIsValid(&aMem[pOp->p3]) );
68340 memAboutToChange(p, &aMem[pOp->p3]);
68341 aMem[pOp->p3].u.i += u.bv.nChange;
68378 assert( pOp->p1>=0 && pOp->p1<db->nDb );
68379 assert( (p->btreeMask & (((yDbMask)1)<<pOp->p1))!=0 );
68380 u.bw.pDb = &db->aDb[pOp->p1];
68382 if( pOp->opcode==OP_CreateTable ){
68419 u.bx.iDb = pOp->p1;
68425 u.bx.initData.iDb = pOp->p1;
68429 db->aDb[u.bx.iDb].zName, u.bx.zMaster, pOp->p4.z);
68457 assert( pOp->p1>=0 && pOp->p1<db->nDb );
68458 rc = sqlite3AnalysisLoad(db, pOp->p1);
68471 sqlite3UnlinkAndDeleteTable(db, pOp->p1, pOp->p4.z);
68483 sqlite3UnlinkAndDeleteIndex(db, pOp->p1, pOp->p4.z);
68495 sqlite3UnlinkAndDeleteTrigger(db, pOp->p1, pOp->p4.z);
68531 u.by.nRoot = pOp->p2;
68535 assert( pOp->p3>0 && pOp->p3<=p->nMem );
68536 u.by.pnErr = &aMem[pOp->p3];
68539 pIn1 = &aMem[pOp->p1];
68544 assert( pOp->p5<db->nDb );
68545 assert( (p->btreeMask & (((yDbMask)1)<<pOp->p5))!=0 );
68546 u.by.z = sqlite3BtreeIntegrityCheck(db->aDb[pOp->p5].pBt, u.by.aRoot, u.by.nRoot,
68572 pIn1 = &aMem[pOp->p1];
68573 pIn2 = &aMem[pOp->p2];
68594 pIn1 = &aMem[pOp->p1];
68600 pc = pOp->p2 - 1;
68603 sqlite3VdbeMemSetInt64(&aMem[pOp->p3], u.bz.val);
68637 pIn1 = &aMem[pOp->p1];
68638 pIn3 = &aMem[pOp->p3];
68639 u.ca.iSet = pOp->p4.i;
68650 assert( pOp->p4type==P4_INT32 );
68657 pc = pOp->p2 - 1;
68695 u.cb.pProgram = pOp->p4.pProgram;
68696 u.cb.pRt = &aMem[pOp->p3];
68711 if( pOp->p5 ){
68804 u.cc.pIn = &u.cc.pFrame->aMem[pOp->p1 + u.cc.pFrame->aOp[u.cc.pFrame->pc].p1];
68820 if( pOp->p1 ){
68821 db->nDeferredCons += pOp->p2;
68823 p->nFkConstraint += pOp->p2;
68840 if( pOp->p1 ){
68841 if( db->nDeferredCons==0 ) pc = pOp->p2-1;
68843 if( p->nFkConstraint==0 ) pc = pOp->p2-1;
68867 u.cd.pIn1 = &u.cd.pFrame->aMem[pOp->p1];
68869 u.cd.pIn1 = &aMem[pOp->p1];
68873 pIn2 = &aMem[pOp->p2];
68890 pIn1 = &aMem[pOp->p1];
68893 pc = pOp->p2 - 1;
68906 pIn1 = &aMem[pOp->p1];
68909 pc = pOp->p2 - 1;
68923 pIn1 = &aMem[pOp->p1];
68925 pIn1->u.i += pOp->p3;
68927 pc = pOp->p2 - 1;
68952 u.ce.n = pOp->p5;
68954 u.ce.pRec = &aMem[pOp->p2];
68963 u.ce.ctx.pFunc = pOp->p4.pFunc;
68964 assert( pOp->p3>0 && pOp->p3<=p->nMem );
68965 u.ce.ctx.pMem = u.ce.pMem = &aMem[pOp->p3];
68975 assert( pOp>p->aOp );
68976 assert( pOp[-1].p4type==P4_COLLSEQ );
68977 assert( pOp[-1].opcode==OP_CollSeq );
68978 u.ce.ctx.pColl = pOp[-1].p4.pColl;
69007 assert( pOp->p1>0 && pOp->p1<=p->nMem );
69008 u.cf.pMem = &aMem[pOp->p1];
69010 rc = sqlite3VdbeMemFinalize(u.cf.pMem, pOp->p4.pFunc);
69043 assert( pOp->p2==SQLITE_CHECKPOINT_PASSIVE
69044 || pOp->p2==SQLITE_CHECKPOINT_FULL
69045 || pOp->p2==SQLITE_CHECKPOINT_RESTART
69047 rc = sqlite3Checkpoint(db, pOp->p1, pOp->p2, &u.cg.aRes[1], &u.cg.aRes[2]);
69052 for(u.cg.i=0, u.cg.pMem = &aMem[pOp->p3]; u.cg.i<3; u.cg.i++, u.cg.pMem++){
69080 u.ch.eNew = pOp->p3;
69089 assert( pOp->p1>=0 && pOp->p1<db->nDb );
69091 u.ch.pBt = db->aDb[pOp->p1].pBt;
69154 pOut = &aMem[pOp->p2];
69189 assert( pOp->p1>=0 && pOp->p1<db->nDb );
69190 assert( (p->btreeMask & (((yDbMask)1)<<pOp->p1))!=0 );
69191 u.ci.pBt = db->aDb[pOp->p1].pBt;
69194 pc = pOp->p2 - 1;
69211 if( !pOp->p1 ){
69235 u8 isWriteLock = (u8)pOp->p3;
69237 int p1 = pOp->p1;
69241 rc = sqlite3BtreeLockTable(db->aDb[p1].pBt, pOp->p2, isWriteLock);
69243 const char *z = pOp->p4.z;
69265 u.cj.pVTab = pOp->p4.pVtab;
69279 rc = sqlite3VtabCallCreate(db, pOp->p1, pOp->p4.z, &p->zErrMsg);
69292 rc = sqlite3VtabCallDestroy(db, pOp->p1, pOp->p4.z);
69315 u.ck.pVtab = pOp->p4.pVtab->pVtab;
69325 u.ck.pCur = allocateCursor(p, pOp->p1, 0, -1, 0);
69372 u.cl.pQuery = &aMem[pOp->p3];
69374 u.cl.pCur = p->apCsr[pOp->p1];
69376 REGISTER_TRACE(pOp->p3, u.cl.pQuery);
69397 rc = u.cl.pModule->xFilter(u.cl.pVtabCursor, u.cl.iQuery, pOp->p4.z, u.cl.nArg, u.cl.apArg);
69405 pc = pOp->p2 - 1;
69429 VdbeCursor *pCur = p->apCsr[pOp->p1];
69431 assert( pOp->p3>0 && pOp->p3<=p->nMem );
69432 u.cm.pDest = &aMem[pOp->p3];
69451 rc = u.cm.pModule->xColumn(pCur->pVtabCursor, &u.cm.sContext, pOp->p2);
69463 REGISTER_TRACE(pOp->p3, u.cm.pDest);
69489 u.cn.pCur = p->apCsr[pOp->p1];
69514 pc = pOp->p2 - 1;
69533 u.co.pVtab = pOp->p4.pVtab->pVtab;
69534 u.co.pName = &aMem[pOp->p1];
69537 REGISTER_TRACE(pOp->p1, u.co.pName);
69582 assert( pOp->p2==1 || pOp->p5==OE_Fail || pOp->p5==OE_Rollback
69583 || pOp->p5==OE_Abort || pOp->p5==OE_Ignore || pOp->p5==OE_Replace
69585 u.cp.pVtab = pOp->p4.pVtab->pVtab;
69587 u.cp.nArg = pOp->p2;
69588 assert( pOp->p4type==P4_VTAB );
69592 u.cp.pX = &aMem[pOp->p3];
69600 db->vtabOnConflict = pOp->p5;
69604 if( rc==SQLITE_OK && pOp->p1 ){
69608 if( rc==SQLITE_CONSTRAINT && pOp->p4.pVtab->bConstraint ){
69609 if( pOp->p5==OE_Ignore ){
69612 p->errorAction = ((pOp->p5==OE_Replace) ? OE_Abort : pOp->p5);
69628 pOut->u.i = sqlite3BtreeLastPage(db->aDb[pOp->p1].pBt);
69647 pBt = db->aDb[pOp->p1].pBt;
69649 if( pOp->p3 ){
69651 if( newMax < (unsigned)pOp->p3 ) newMax = (unsigned)pOp->p3;
69671 if( db->xTrace && (u.cq.zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql))!=0 ){
69678 && (u.cq.zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql))!=0
69700 assert( pOp->opcode==OP_Noop || pOp->opcode==OP_Explain );
69715 pOp->cycles += elapsed;
69716 pOp->cnt++;
69735 if( pOp->opflags & (OPFLG_OUT2_PRERELEASE|OPFLG_OUT2) ){
69736 registerTrace(p->trace, pOp->p2, &aMem[pOp->p2]);
69738 if( pOp->opflags & OPFLG_OUT3 ){
69739 registerTrace(p->trace, pOp->p3, &aMem[pOp->p3]);
87025 VdbeOp *pOp = sqlite3VdbeGetOp(v, i);
87026 assert( pOp!=0 );
87027 if( pOp->opcode==OP_OpenRead && pOp->p3==iDb ){
87029 int tnum = pOp->p2;
87040 if( pOp->opcode==OP_VOpen && pOp->p4.pVtab==pVTab ){
87041 assert( pOp->p4.pVtab!=0 );
87042 assert( pOp->p4type==P4_VTAB );
87772 VdbeOp *pOp;
87774 pOp = sqlite3VdbeGetOp(v, -1);
87775 if( ALWAYS(pOp) && pOp->opcode==OP_Null && !IsVirtual(pTab) ){
87777 pOp->opcode = OP_NewRowid;
87778 pOp->p1 = baseCur;
87779 pOp->p2 = regRowid;
87780 pOp->p3 = regAutoinc;
96351 VdbeOp *pOp; /* No longer required OpenEphemeral instr. */
96354 pOp = sqlite3VdbeGetOp(v, addrDistinctIndex);
96371 pOp->opcode = OP_Integer;
96372 pOp->p1 = 1;
96373 pOp->p2 = iFlag;
96390 pOp->opcode = OP_Noop;
105505 VdbeOp *pOp;
105509 pOp = sqlite3VdbeGetOp(v, pWInfo->iTop);
105511 for(k=pWInfo->iTop; k<last; k++, pOp++){
105512 if( pOp->p1!=pLevel->iTabCur ) continue;
105513 if( pOp->opcode==OP_Column ){
105515 if( pOp->p2==pIdx->aiColumn[j] ){
105516 pOp->p2 = j;
105517 pOp->p1 = pLevel->iIdxCur;
105523 }else if( pOp->opcode==OP_Rowid ){
105524 pOp->p1 = pLevel->iIdxCur;
105525 pOp->opcode = OP_IdxRowid;
115227 struct Fts4Option *pOp = &aFts4Opt[iOpt];
115228 if( nKey==pOp->nOpt && !sqlite3_strnicmp(z, pOp->zOpt, pOp->nOpt) ){