Lines Matching refs:pOp

57688   VdbeOp *pOp;
57699 pOp = &p->aOp[i];
57700 pOp->opcode = (u8)op;
57701 pOp->p5 = 0;
57702 pOp->p1 = p1;
57703 pOp->p2 = p2;
57704 pOp->p3 = p3;
57705 pOp->p4.p = 0;
57706 pOp->p4type = P4_NOTUSED;
57708 pOp->zComment = 0;
57712 pOp->cycles = 0;
57713 pOp->cnt = 0;
57918 Op *pOp;
57923 while( (pOp = opIterNext(&sIter))!=0 ){
57924 int opcode = pOp->opcode;
57927 || (opcode==OP_FkCounter && pOp->p1==0 && pOp->p2==1)
57930 && (pOp->p1==SQLITE_CONSTRAINT && pOp->p2==OE_Abort))
57963 Op *pOp;
57966 for(pOp=p->aOp, i=p->nOp-1; i>=0; i--, pOp++){
57967 u8 opcode = pOp->opcode;
57969 pOp->opflags = sqlite3OpcodeProperty[opcode];
57971 if( pOp->p5>nMaxArgs ) nMaxArgs = pOp->p5;
57972 }else if( (opcode==OP_Transaction && pOp->p2!=0) || opcode==OP_Vacuum ){
57976 if( pOp->p2>nMaxArgs ) nMaxArgs = pOp->p2;
57980 assert( pOp[-1].opcode==OP_Integer );
57981 n = pOp[-1].p1;
57986 if( (pOp->opflags & OPFLG_JUMP)!=0 && pOp->p2<0 ){
57987 assert( -1-pOp->p2<p->nLabel );
57988 pOp->p2 = aLabel[-1-pOp->p2];
58196 Op *pOp;
58197 for(pOp=aOp; pOp<&aOp[nOp]; pOp++){
58198 freeP4(db, pOp->p4type, pOp->p4.p);
58200 sqlite3DbFree(db, pOp->zComment);
58222 VdbeOp *pOp = &p->aOp[addr];
58225 freeP4(db, pOp->p4type, pOp->p4.p);
58226 memset(pOp, 0, sizeof(pOp[0]));
58227 pOp->opcode = OP_Noop;
58228 pOp++;
58259 Op *pOp;
58275 pOp = &p->aOp[addr];
58276 freeP4(db, pOp->p4type, pOp->p4.p);
58277 pOp->p4.p = 0;
58281 pOp->p4.i = SQLITE_PTR_TO_INT(zP4);
58282 pOp->p4type = P4_INT32;
58284 pOp->p4.p = 0;
58285 pOp->p4type = P4_NOTUSED;
58293 pOp->p4.pKeyInfo = pKeyInfo;
58302 pOp->p4type = P4_KEYINFO;
58305 pOp->p4type = P4_NOTUSED;
58308 pOp->p4.p = (void*)zP4;
58309 pOp->p4type = P4_KEYINFO;
58311 pOp->p4.p = (void*)zP4;
58312 pOp->p4type = P4_VTAB;
58316 pOp->p4.p = (void*)zP4;
58317 pOp->p4type = (signed char)n;
58320 pOp->p4.z = sqlite3DbStrNDup(p->db, zP4, n);
58321 pOp->p4type = P4_DYNAMIC;
58407 static char *displayP4(Op *pOp, char *zTemp, int nTemp){
58410 switch( pOp->p4type ){
58414 KeyInfo *pKeyInfo = pOp->p4.pKeyInfo;
58442 CollSeq *pColl = pOp->p4.pColl;
58447 FuncDef *pDef = pOp->p4.pFunc;
58452 sqlite3_snprintf(nTemp, zTemp, "%lld", *pOp->p4.pI64);
58456 sqlite3_snprintf(nTemp, zTemp, "%d", pOp->p4.i);
58460 sqlite3_snprintf(nTemp, zTemp, "%.16g", *pOp->p4.pReal);
58464 Mem *pMem = pOp->p4.pMem;
58480 sqlite3_vtab *pVtab = pOp->p4.pVtab->pVtab;
58494 zP4 = pOp->p4.z;
58588 SQLITE_PRIVATE void sqlite3VdbePrintOp(FILE *pOut, int pc, Op *pOp){
58593 zP4 = displayP4(pOp, zPtr, sizeof(zPtr));
58595 sqlite3OpcodeName(pOp->opcode), pOp->p1, pOp->p2, pOp->p3, zP4, pOp->p5,
58597 pOp->zComment ? pOp->zComment : ""
58746 Op *pOp;
58750 pOp = &p->aOp[i];
58759 pOp = &apSub[j]->aOp[i];
58768 pMem->z = (char*)sqlite3OpcodeName(pOp->opcode); /* Opcode */
58780 if( pOp->p4type==P4_SUBPROGRAM ){
58784 if( apSub[j]==pOp->p4.pProgram ) break;
58788 apSub[nSub++] = pOp->p4.pProgram;
58796 pMem->u.i = pOp->p1; /* P1 */
58801 pMem->u.i = pOp->p2; /* P2 */
58806 pMem->u.i = pOp->p3; /* P3 */
58815 z = displayP4(pOp, pMem->z, 32);
58833 sqlite3_snprintf(3, pMem->z, "%.2x", pOp->p5); /* P5 */
58839 if( pOp->zComment ){
58841 pMem->z = pOp->zComment;
58867 VdbeOp *pOp;
58869 pOp = &p->aOp[0];
58870 if( pOp->opcode==OP_Trace && pOp->p4.z!=0 ){
58871 const char *z = pOp->p4.z;
58884 VdbeOp *pOp;
58887 pOp = &p->aOp[0];
58888 if( pOp->opcode==OP_Trace && pOp->p4.z!=0 ){
58891 sqlite3_snprintf(sizeof(z), z, "%s", pOp->p4.z);
62896 Op *pOp; /* Current operation */
63363 pOp = &aOp[pc];
63373 sqlite3VdbePrintOp(p->trace, pc, pOp);
63416 assert( pOp->opflags==sqlite3OpcodeProperty[pOp->opcode] );
63417 if( pOp->opflags & OPFLG_OUT2_PRERELEASE ){
63418 assert( pOp->p2>0 );
63419 assert( pOp->p2<=p->nMem );
63420 pOut = &aMem[pOp->p2];
63428 if( (pOp->opflags & OPFLG_IN1)!=0 ){
63429 assert( pOp->p1>0 );
63430 assert( pOp->p1<=p->nMem );
63431 assert( memIsValid(&aMem[pOp->p1]) );
63432 REGISTER_TRACE(pOp->p1, &aMem[pOp->p1]);
63434 if( (pOp->opflags & OPFLG_IN2)!=0 ){
63435 assert( pOp->p2>0 );
63436 assert( pOp->p2<=p->nMem );
63437 assert( memIsValid(&aMem[pOp->p2]) );
63438 REGISTER_TRACE(pOp->p2, &aMem[pOp->p2]);
63440 if( (pOp->opflags & OPFLG_IN3)!=0 ){
63441 assert( pOp->p3>0 );
63442 assert( pOp->p3<=p->nMem );
63443 assert( memIsValid(&aMem[pOp->p3]) );
63444 REGISTER_TRACE(pOp->p3, &aMem[pOp->p3]);
63446 if( (pOp->opflags & OPFLG_OUT2)!=0 ){
63447 assert( pOp->p2>0 );
63448 assert( pOp->p2<=p->nMem );
63449 memAboutToChange(p, &aMem[pOp->p2]);
63451 if( (pOp->opflags & OPFLG_OUT3)!=0 ){
63452 assert( pOp->p3>0 );
63453 assert( pOp->p3<=p->nMem );
63454 memAboutToChange(p, &aMem[pOp->p3]);
63458 switch( pOp->opcode ){
63504 pc = pOp->p2 - 1;
63514 pIn1 = &aMem[pOp->p1];
63519 REGISTER_TRACE(pOp->p1, pIn1);
63520 pc = pOp->p2 - 1;
63529 pIn1 = &aMem[pOp->p1];
63543 pIn1 = &aMem[pOp->p1];
63548 REGISTER_TRACE(pOp->p1, pIn1);
63560 pIn3 = &aMem[pOp->p3];
63585 if( pOp->p1==SQLITE_OK && p->pFrame ){
63593 if( pOp->p2==OE_Ignore ){
63606 p->rc = pOp->p1;
63607 p->errorAction = (u8)pOp->p2;
63609 if( pOp->p4.z ){
63611 sqlite3SetString(&p->zErrMsg, db, "%s", pOp->p4.z);
63613 sqlite3_log(pOp->p1, "abort at %d in [%s]: %s", pc, p->zSql, pOp->p4.z);
63616 sqlite3_log(pOp->p1, "constraint failed at %d in [%s]", pc, p->zSql);
63635 pOut->u.i = pOp->p1;
63645 assert( pOp->p4.pI64!=0 );
63646 pOut->u.i = *pOp->p4.pI64;
63658 assert( !sqlite3IsNaN(*pOp->p4.pReal) );
63659 pOut->r = *pOp->p4.pReal;
63670 assert( pOp->p4.z!=0 );
63671 pOp->opcode = OP_String;
63672 pOp->p1 = sqlite3Strlen30(pOp->p4.z);
63676 rc = sqlite3VdbeMemSetStr(pOut, pOp->p4.z, -1, SQLITE_UTF8, SQLITE_STATIC);
63684 if( pOp->p4type==P4_DYNAMIC ){
63685 sqlite3DbFree(db, pOp->p4.z);
63687 pOp->p4type = P4_DYNAMIC;
63688 pOp->p4.z = pOut->z;
63689 pOp->p1 = pOut->n;
63692 if( pOp->p1>db->aLimit[SQLITE_LIMIT_LENGTH] ){
63703 assert( pOp->p4.z!=0 );
63705 pOut->z = pOp->p4.z;
63706 pOut->n = pOp->p1;
63728 assert( pOp->p1 <= SQLITE_MAX_LENGTH );
63729 sqlite3VdbeMemSetStr(pOut, pOp->p4.z, pOp->p1, 0, 0);
63747 assert( pOp->p1>0 && pOp->p1<=p->nVar );
63748 assert( pOp->p4.z==0 || pOp->p4.z==p->azVar[pOp->p1-1] );
63749 u.ab.pVar = &p->aVar[pOp->p1 - 1];
63773 u.ac.n = pOp->p3;
63774 u.ac.p1 = pOp->p1;
63775 u.ac.p2 = pOp->p2;
63805 pIn1 = &aMem[pOp->p1];
63806 pOut = &aMem[pOp->p2];
63810 REGISTER_TRACE(pOp->p2, pOut);
63827 pIn1 = &aMem[pOp->p1];
63828 pOut = &aMem[pOp->p2];
63834 REGISTER_TRACE(pOp->p2, pOut);
63851 assert( p->nResColumn==pOp->p2 );
63852 assert( pOp->p1>0 );
63853 assert( pOp->p1+pOp->p2<=p->nMem+1 );
63892 u.ad.pMem = p->pResultSet = &aMem[pOp->p1];
63893 for(u.ad.i=0; u.ad.i<pOp->p2; u.ad.i++){
63900 REGISTER_TRACE(pOp->p1+u.ad.i, &u.ad.pMem[u.ad.i]);
63928 pIn1 = &aMem[pOp->p1];
63929 pIn2 = &aMem[pOp->p2];
63930 pOut = &aMem[pOp->p3];
64006 pIn1 = &aMem[pOp->p1];
64008 pIn2 = &aMem[pOp->p2];
64010 pOut = &aMem[pOp->p3];
64016 switch( pOp->opcode ){
64039 switch( pOp->opcode ){
64091 assert( pOp->p4type==P4_COLLSEQ );
64120 u.ag.n = pOp->p5;
64123 assert( pOp->p3>0 && pOp->p3<=p->nMem );
64124 pOut = &aMem[pOp->p3];
64127 assert( u.ag.n==0 || (pOp->p2>0 && pOp->p2+u.ag.n<=p->nMem+1) );
64128 assert( pOp->p3<pOp->p2 || pOp->p3>=pOp->p2+u.ag.n );
64129 u.ag.pArg = &aMem[pOp->p2];
64135 REGISTER_TRACE(pOp->p2+u.ag.i, u.ag.pArg);
64138 assert( pOp->p4type==P4_FUNCDEF || pOp->p4type==P4_VDBEFUNC );
64139 if( pOp->p4type==P4_FUNCDEF ){
64140 u.ag.ctx.pFunc = pOp->p4.pFunc;
64143 u.ag.ctx.pVdbeFunc = (VdbeFunc*)pOp->p4.pVdbeFunc;
64161 assert( pOp>aOp );
64162 assert( pOp[-1].p4type==P4_COLLSEQ );
64163 assert( pOp[-1].opcode==OP_CollSeq );
64164 u.ag.ctx.pColl = pOp[-1].p4.pColl;
64174 sqlite3VdbeDeleteAuxData(u.ag.ctx.pVdbeFunc, pOp->p1);
64175 pOp->p4.pVdbeFunc = u.ag.ctx.pVdbeFunc;
64176 pOp->p4type = P4_VDBEFUNC;
64210 REGISTER_TRACE(pOp->p3, pOut);
64252 pIn1 = &aMem[pOp->p1];
64253 pIn2 = &aMem[pOp->p2];
64254 pOut = &aMem[pOp->p3];
64261 u.ah.op = pOp->opcode;
64303 pIn1 = &aMem[pOp->p1];
64306 pIn1->u.i += pOp->p2;
64318 pIn1 = &aMem[pOp->p1];
64321 if( pOp->p2==0 ){
64325 pc = pOp->p2 - 1;
64344 pIn1 = &aMem[pOp->p1];
64363 pIn1 = &aMem[pOp->p1];
64386 pIn1 = &aMem[pOp->p1];
64410 pIn1 = &aMem[pOp->p1];
64426 pIn1 = &aMem[pOp->p1];
64444 pIn1 = &aMem[pOp->p1];
64538 pIn1 = &aMem[pOp->p1];
64539 pIn3 = &aMem[pOp->p3];
64544 if( pOp->p5 & SQLITE_NULLEQ ){
64549 assert( pOp->opcode==OP_Eq || pOp->opcode==OP_Ne );
64556 if( pOp->p5 & SQLITE_STOREP2 ){
64557 pOut = &aMem[pOp->p2];
64559 REGISTER_TRACE(pOp->p2, pOut);
64560 }else if( pOp->p5 & SQLITE_JUMPIFNULL ){
64561 pc = pOp->p2-1;
64567 u.ai.affinity = pOp->p5 & SQLITE_AFF_MASK;
64574 assert( pOp->p4type==P4_COLLSEQ || pOp->p4.pColl==0 );
64577 u.ai.res = sqlite3MemCompare(pIn3, pIn1, pOp->p4.pColl);
64579 switch( pOp->opcode ){
64588 if( pOp->p5 & SQLITE_STOREP2 ){
64589 pOut = &aMem[pOp->p2];
64593 REGISTER_TRACE(pOp->p2, pOut);
64595 pc = pOp->p2-1;
64614 assert( pOp->p4type==P4_INTARRAY );
64615 assert( pOp->p4.ai );
64616 aPermute = pOp->p4.ai;
64646 u.aj.n = pOp->p3;
64647 u.aj.pKeyInfo = pOp->p4.pKeyInfo;
64650 u.aj.p1 = pOp->p1;
64651 u.aj.p2 = pOp->p2;
64690 pc = pOp->p1 - 1;
64692 pc = pOp->p2 - 1;
64694 pc = pOp->p3 - 1;
64724 pIn1 = &aMem[pOp->p1];
64730 pIn2 = &aMem[pOp->p2];
64736 if( pOp->opcode==OP_And ){
64743 pOut = &aMem[pOp->p3];
64760 pIn1 = &aMem[pOp->p1];
64761 pOut = &aMem[pOp->p2];
64777 pIn1 = &aMem[pOp->p1];
64778 pOut = &aMem[pOp->p2];
64804 pIn1 = &aMem[pOp->p1];
64806 u.al.c = pOp->p3;
64813 if( pOp->opcode==OP_IfNot ) u.al.c = !u.al.c;
64816 pc = pOp->p2-1;
64826 pIn1 = &aMem[pOp->p1];
64828 pc = pOp->p2 - 1;
64838 pIn1 = &aMem[pOp->p1];
64840 pc = pOp->p2 - 1;
64891 u.am.p1 = pOp->p1;
64892 u.am.p2 = pOp->p2;
64896 assert( pOp->p3>0 && pOp->p3<=p->nMem );
64897 u.am.pDest = &aMem[pOp->p3];
64949 u.am.pC->cacheStatus = (pOp->p5&OPFLAG_CLEARCACHE) ? CACHE_STALE : p->cacheCtr;
65121 if( pOp->p4type==P4_MEM ){
65122 sqlite3VdbeMemShallowCopy(u.am.pDest, pOp->p4.pMem, MEM_Static);
65147 REGISTER_TRACE(pOp->p3, u.am.pDest);
65165 u.an.zAffinity = pOp->p4.z;
65167 assert( u.an.zAffinity[pOp->p2]==0 );
65168 pIn1 = &aMem[pOp->p1];
65231 u.ao.nField = pOp->p1;
65232 u.ao.zAffinity = pOp->p4.z;
65233 assert( u.ao.nField>0 && pOp->p2>0 && pOp->p2+u.ao.nField<=p->nMem+1 );
65235 u.ao.nField = pOp->p2;
65240 assert( pOp->p3<pOp->p1 || pOp->p3>=pOp->p1+pOp->p2 );
65241 pOut = &aMem[pOp->p3];
65299 assert( pOp->p3>0 && pOp->p3<=p->nMem );
65308 REGISTER_TRACE(pOp->p3, pOut);
65325 u.ap.pCrsr = p->apCsr[pOp->p1]->pCursor;
65354 u.aq.p1 = pOp->p1;
65355 u.aq.zName = pOp->p4.z;
65520 u.ar.desiredAutoCommit = pOp->p1;
65521 u.ar.iRollback = pOp->p2;
65613 assert( pOp->p1>=0 && pOp->p1<db->nDb );
65614 assert( (p->btreeMask & (((yDbMask)1)<<pOp->p1))!=0 );
65615 u.as.pBt = db->aDb[pOp->p1].pBt;
65618 rc = sqlite3BtreeBeginTrans(u.as.pBt, pOp->p2);
65628 if( pOp->p2 && p->usesStmtJournal
65671 u.at.iDb = pOp->p1;
65672 u.at.iCookie = pOp->p3;
65673 assert( pOp->p3<SQLITE_N_BTREE_META );
65697 assert( pOp->p2<SQLITE_N_BTREE_META );
65698 assert( pOp->p1>=0 && pOp->p1<db->nDb );
65699 assert( (p->btreeMask & (((yDbMask)1)<<pOp->p1))!=0 );
65700 u.au.pDb = &db->aDb[pOp->p1];
65702 assert( sqlite3SchemaMutexHeld(db, pOp->p1, 0) );
65703 pIn3 = &aMem[pOp->p3];
65706 rc = sqlite3BtreeUpdateMeta(u.au.pDb->pBt, pOp->p2, (int)pIn3->u.i);
65707 if( pOp->p2==BTREE_SCHEMA_VERSION ){
65711 }else if( pOp->p2==BTREE_FILE_FORMAT ){
65715 if( pOp->p1==1 ){
65749 assert( pOp->p1>=0 && pOp->p1<db->nDb );
65750 assert( (p->btreeMask & (((yDbMask)1)<<pOp->p1))!=0 );
65751 assert( sqlite3SchemaMutexHeld(db, pOp->p1, 0) );
65752 u.av.pBt = db->aDb[pOp->p1].pBt;
65755 u.av.iGen = db->aDb[pOp->p1].pSchema->iGeneration;
65759 if( u.av.iMeta!=pOp->p2 || u.av.iGen!=pOp->p3 ){
65775 if( db->aDb[pOp->p1].pSchema->schema_cookie!=u.av.iMeta ){
65776 sqlite3ResetInternalSchema(db, pOp->p1);
65854 u.aw.p2 = pOp->p2;
65855 u.aw.iDb = pOp->p3;
65861 if( pOp->opcode==OP_OpenWrite ){
65870 if( pOp->p5 ){
65887 if( pOp->p4type==P4_KEYINFO ){
65888 u.aw.pKeyInfo = pOp->p4.pKeyInfo;
65891 }else if( pOp->p4type==P4_INT32 ){
65892 u.aw.nField = pOp->p4.i;
65894 assert( pOp->p1>=0 );
65895 u.aw.pCur = allocateCursor(p, pOp->p1, u.aw.nField, u.aw.iDb, 1);
65916 u.aw.pCur->isTable = pOp->p4type!=P4_KEYINFO;
65958 assert( pOp->p1>=0 );
65959 u.ax.pCx = allocateCursor(p, pOp->p1, pOp->p2, -1, 1);
65963 BTREE_OMIT_JOURNAL | BTREE_SINGLE | pOp->p5, vfsFlags);
65973 if( pOp->p4.pKeyInfo ){
65975 assert( pOp->p4type==P4_KEYINFO );
65980 (KeyInfo*)pOp->p4.z, u.ax.pCx->pCursor);
65981 u.ax.pCx->pKeyInfo = pOp->p4.pKeyInfo;
65990 u.ax.pCx->isOrdered = (pOp->p5!=BTREE_UNORDERED);
66015 assert( pOp->p1>=0 );
66016 u.ay.pCx = allocateCursor(p, pOp->p1, pOp->p3, -1, 0);
66019 u.ay.pCx->pseudoTableReg = pOp->p2;
66031 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
66032 sqlite3VdbeFreeCursor(p, p->apCsr[pOp->p1]);
66033 p->apCsr[pOp->p1] = 0;
66102 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
66103 assert( pOp->p2!=0 );
66104 u.az.pC = p->apCsr[pOp->p1];
66112 u.az.oc = pOp->opcode;
66118 pIn3 = &aMem[pOp->p3];
66129 pc = pOp->p2 - 1;
66152 pc = pOp->p2 - 1;
66173 u.az.nField = pOp->p4.i;
66174 assert( pOp->p4type==P4_INT32 );
66192 u.az.r.aMem = &aMem[pOp->p3];
66229 assert( pOp->p2>0 );
66231 pc = pOp->p2 - 1;
66238 pc = pOp->p2 - 1;
66257 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
66258 u.ba.pC = p->apCsr[pOp->p1];
66263 pIn2 = &aMem[pOp->p2];
66312 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
66313 assert( pOp->p4type==P4_INT32 );
66314 u.bb.pC = p->apCsr[pOp->p1];
66316 pIn3 = &aMem[pOp->p3];
66320 if( pOp->p4.i>0 ){
66322 u.bb.r.nField = (u16)pOp->p4.i;
66340 if( pOp->p4.i==0 ){
66350 if( pOp->opcode==OP_Found ){
66351 if( u.bb.alreadyExists ) pc = pOp->p2 - 1;
66353 if( !u.bb.alreadyExists ) pc = pOp->p2 - 1;
66395 pIn3 = &aMem[pOp->p3];
66396 u.bc.aMx = &aMem[pOp->p4.i];
66398 assert( pOp->p4type==P4_INT32 );
66399 assert( pOp->p4.i>0 && pOp->p4.i<=p->nMem );
66400 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
66403 u.bc.pCx = p->apCsr[pOp->p1];
66413 pc = pOp->p2 - 1;
66439 pc = pOp->p2 - 1;
66469 pIn3 = &aMem[pOp->p3];
66471 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
66472 u.bd.pC = p->apCsr[pOp->p1];
66487 pc = pOp->p2 - 1;
66495 pc = pOp->p2 - 1;
66510 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
66511 assert( p->apCsr[pOp->p1]!=0 );
66512 pOut->u.i = p->apCsr[pOp->p1]->seqCount++;
66543 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
66544 u.be.pC = p->apCsr[pOp->p1];
66596 if( pOp->p3 ){
66598 assert( pOp->p3>0 );
66602 assert( pOp->p3<=u.be.pFrame->nMem );
66603 u.be.pMem = &u.be.pFrame->aMem[pOp->p3];
66606 assert( pOp->p3<=p->nMem );
66607 u.be.pMem = &aMem[pOp->p3];
66612 REGISTER_TRACE(pOp->p3, u.be.pMem);
66633 assert( pOp->p3==0 ); /* We cannot be in random rowid mode if this is
66726 u.bf.pData = &aMem[pOp->p2];
66727 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
66729 u.bf.pC = p->apCsr[pOp->p1];
66734 REGISTER_TRACE(pOp->p2, u.bf.pData);
66736 if( pOp->opcode==OP_Insert ){
66737 u.bf.pKey = &aMem[pOp->p3];
66740 REGISTER_TRACE(pOp->p3, u.bf.pKey);
66743 assert( pOp->opcode==OP_InsertInt );
66744 u.bf.iKey = pOp->p3;
66747 if( pOp->p5 & OPFLAG_NCHANGE ) p->nChange++;
66748 if( pOp->p5 & OPFLAG_LASTROWID ) db->lastRowid = lastRowid = u.bf.iKey;
66755 u.bf.seekResult = ((pOp->p5 & OPFLAG_USESEEKRESULT) ? u.bf.pC->seekResult : 0);
66764 pOp->p5 & OPFLAG_APPEND, u.bf.seekResult
66771 if( rc==SQLITE_OK && db->xUpdateCallback && pOp->p4.z ){
66773 u.bf.zTbl = pOp->p4.z;
66774 u.bf.op = ((pOp->p5 & OPFLAG_ISUPDATE) ? SQLITE_UPDATE : SQLITE_INSERT);
66809 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
66810 u.bg.pC = p->apCsr[pOp->p1];
66817 if( db->xUpdateCallback && pOp->p4.z ){
66839 if( rc==SQLITE_OK && db->xUpdateCallback && pOp->p4.z ){
66841 const char *zTbl = pOp->p4.z;
66845 if( pOp->p2 & OPFLAG_NCHANGE ) p->nChange++;
66890 pOut = &aMem[pOp->p2];
66894 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
66895 u.bh.pC = p->apCsr[pOp->p1];
66896 assert( u.bh.pC->isTable || pOp->opcode==OP_RowKey );
66897 assert( u.bh.pC->isIndex || pOp->opcode==OP_RowData );
66961 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
66962 u.bi.pC = p->apCsr[pOp->p1];
67004 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67005 u.bj.pC = p->apCsr[pOp->p1];
67030 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67031 u.bk.pC = p->apCsr[pOp->p1];
67043 if( pOp->p2>0 && u.bk.res ){
67044 pc = pOp->p2 - 1;
67085 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67086 u.bl.pC = p->apCsr[pOp->p1];
67097 assert( pOp->p2>0 && pOp->p2<p->nOp );
67099 pc = pOp->p2 - 1;
67139 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67140 assert( pOp->p5<=ArraySize(p->aCounter) );
67141 u.bm.pC = p->apCsr[pOp->p1];
67152 rc = pOp->opcode==OP_Next ? sqlite3BtreeNext(u.bm.pCrsr, &u.bm.res) :
67157 pc = pOp->p2 - 1;
67158 if( pOp->p5 ) p->aCounter[pOp->p5-1]++;
67187 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67188 u.bn.pC = p->apCsr[pOp->p1];
67190 pIn2 = &aMem[pOp->p2];
67199 rc = sqlite3BtreeInsert(u.bn.pCrsr, u.bn.zKey, u.bn.nKey, "", 0, 0, pOp->p3,
67200 ((pOp->p5 & OPFLAG_USESEEKRESULT) ? u.bn.pC->seekResult : 0)
67223 assert( pOp->p3>0 );
67224 assert( pOp->p2>0 && pOp->p2+pOp->p3<=p->nMem+1 );
67225 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67226 u.bo.pC = p->apCsr[pOp->p1];
67231 u.bo.r.nField = (u16)pOp->p3;
67233 u.bo.r.aMem = &aMem[pOp->p2];
67262 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67263 u.bp.pC = p->apCsr[pOp->p1];
67318 assert( pOp->p1>=0 && pOp->p1<p->nCursor );
67319 u.bq.pC = p->apCsr[pOp->p1];
67324 assert( pOp->p5==0 || pOp->p5==1 );
67325 assert( pOp->p4type==P4_INT32 );
67327 u.bq.r.nField = (u16)pOp->p4.i;
67328 if( pOp->p5 ){
67333 u.bq.r.aMem = &aMem[pOp->p3];
67338 if( pOp->opcode==OP_IdxLT ){
67341 assert( pOp->opcode==OP_IdxGE );
67345 pc = pOp->p2 - 1 ;
67393 u.br.iDb = pOp->p3;
67396 rc = sqlite3BtreeDropTable(db->aDb[u.br.iDb].pBt, pOp->p1, &u.br.iMoved);
67401 sqlite3RootPageMoved(db, u.br.iDb, u.br.iMoved, pOp->p1);
67435 assert( (p->btreeMask & (((yDbMask)1)<<pOp->p2))!=0 );
67437 db->aDb[pOp->p2].pBt, pOp->p1, (pOp->p3 ? &u.bs.nChange : 0)
67439 if( pOp->p3 ){
67441 if( pOp->p3>0 ){
67442 assert( memIsValid(&aMem[pOp->p3]) );
67443 memAboutToChange(p, &aMem[pOp->p3]);
67444 aMem[pOp->p3].u.i += u.bs.nChange;
67481 assert( pOp->p1>=0 && pOp->p1<db->nDb );
67482 assert( (p->btreeMask & (((yDbMask)1)<<pOp->p1))!=0 );
67483 u.bt.pDb = &db->aDb[pOp->p1];
67485 if( pOp->opcode==OP_CreateTable ){
67522 u.bu.iDb = pOp->p1;
67528 u.bu.initData.iDb = pOp->p1;
67532 db->aDb[u.bu.iDb].zName, u.bu.zMaster, pOp->p4.z);
67560 assert( pOp->p1>=0 && pOp->p1<db->nDb );
67561 rc = sqlite3AnalysisLoad(db, pOp->p1);
67574 sqlite3UnlinkAndDeleteTable(db, pOp->p1, pOp->p4.z);
67586 sqlite3UnlinkAndDeleteIndex(db, pOp->p1, pOp->p4.z);
67598 sqlite3UnlinkAndDeleteTrigger(db, pOp->p1, pOp->p4.z);
67634 u.bv.nRoot = pOp->p2;
67638 assert( pOp->p3>0 && pOp->p3<=p->nMem );
67639 u.bv.pnErr = &aMem[pOp->p3];
67642 pIn1 = &aMem[pOp->p1];
67647 assert( pOp->p5<db->nDb );
67648 assert( (p->btreeMask & (((yDbMask)1)<<pOp->p5))!=0 );
67649 u.bv.z = sqlite3BtreeIntegrityCheck(db->aDb[pOp->p5].pBt, u.bv.aRoot, u.bv.nRoot,
67675 pIn1 = &aMem[pOp->p1];
67676 pIn2 = &aMem[pOp->p2];
67697 pIn1 = &aMem[pOp->p1];
67703 pc = pOp->p2 - 1;
67706 sqlite3VdbeMemSetInt64(&aMem[pOp->p3], u.bw.val);
67740 pIn1 = &aMem[pOp->p1];
67741 pIn3 = &aMem[pOp->p3];
67742 u.bx.iSet = pOp->p4.i;
67753 assert( pOp->p4type==P4_INT32 );
67760 pc = pOp->p2 - 1;
67798 u.by.pProgram = pOp->p4.pProgram;
67799 u.by.pRt = &aMem[pOp->p3];
67814 if( pOp->p5 ){
67907 u.bz.pIn = &u.bz.pFrame->aMem[pOp->p1 + u.bz.pFrame->aOp[u.bz.pFrame->pc].p1];
67923 if( pOp->p1 ){
67924 db->nDeferredCons += pOp->p2;
67926 p->nFkConstraint += pOp->p2;
67943 if( pOp->p1 ){
67944 if( db->nDeferredCons==0 ) pc = pOp->p2-1;
67946 if( p->nFkConstraint==0 ) pc = pOp->p2-1;
67970 u.ca.pIn1 = &u.ca.pFrame->aMem[pOp->p1];
67972 u.ca.pIn1 = &aMem[pOp->p1];
67976 pIn2 = &aMem[pOp->p2];
67993 pIn1 = &aMem[pOp->p1];
67996 pc = pOp->p2 - 1;
68009 pIn1 = &aMem[pOp->p1];
68012 pc = pOp->p2 - 1;
68026 pIn1 = &aMem[pOp->p1];
68028 pIn1->u.i += pOp->p3;
68030 pc = pOp->p2 - 1;
68055 u.cb.n = pOp->p5;
68057 u.cb.pRec = &aMem[pOp->p2];
68066 u.cb.ctx.pFunc = pOp->p4.pFunc;
68067 assert( pOp->p3>0 && pOp->p3<=p->nMem );
68068 u.cb.ctx.pMem = u.cb.pMem = &aMem[pOp->p3];
68078 assert( pOp>p->aOp );
68079 assert( pOp[-1].p4type==P4_COLLSEQ );
68080 assert( pOp[-1].opcode==OP_CollSeq );
68081 u.cb.ctx.pColl = pOp[-1].p4.pColl;
68110 assert( pOp->p1>0 && pOp->p1<=p->nMem );
68111 u.cc.pMem = &aMem[pOp->p1];
68113 rc = sqlite3VdbeMemFinalize(u.cc.pMem, pOp->p4.pFunc);
68146 assert( pOp->p2==SQLITE_CHECKPOINT_PASSIVE
68147 || pOp->p2==SQLITE_CHECKPOINT_FULL
68148 || pOp->p2==SQLITE_CHECKPOINT_RESTART
68150 rc = sqlite3Checkpoint(db, pOp->p1, pOp->p2, &u.cd.aRes[1], &u.cd.aRes[2]);
68155 for(u.cd.i=0, u.cd.pMem = &aMem[pOp->p3]; u.cd.i<3; u.cd.i++, u.cd.pMem++){
68183 u.ce.eNew = pOp->p3;
68192 assert( pOp->p1>=0 && pOp->p1<db->nDb );
68194 u.ce.pBt = db->aDb[pOp->p1].pBt;
68257 pOut = &aMem[pOp->p2];
68292 assert( pOp->p1>=0 && pOp->p1<db->nDb );
68293 assert( (p->btreeMask & (((yDbMask)1)<<pOp->p1))!=0 );
68294 u.cf.pBt = db->aDb[pOp->p1].pBt;
68297 pc = pOp->p2 - 1;
68314 if( !pOp->p1 ){
68338 u8 isWriteLock = (u8)pOp->p3;
68340 int p1 = pOp->p1;
68344 rc = sqlite3BtreeLockTable(db->aDb[p1].pBt, pOp->p2, isWriteLock);
68346 const char *z = pOp->p4.z;
68368 u.cg.pVTab = pOp->p4.pVtab;
68382 rc = sqlite3VtabCallCreate(db, pOp->p1, pOp->p4.z, &p->zErrMsg);
68395 rc = sqlite3VtabCallDestroy(db, pOp->p1, pOp->p4.z);
68418 u.ch.pVtab = pOp->p4.pVtab->pVtab;
68428 u.ch.pCur = allocateCursor(p, pOp->p1, 0, -1, 0);
68475 u.ci.pQuery = &aMem[pOp->p3];
68477 u.ci.pCur = p->apCsr[pOp->p1];
68479 REGISTER_TRACE(pOp->p3, u.ci.pQuery);
68500 rc = u.ci.pModule->xFilter(u.ci.pVtabCursor, u.ci.iQuery, pOp->p4.z, u.ci.nArg, u.ci.apArg);
68508 pc = pOp->p2 - 1;
68532 VdbeCursor *pCur = p->apCsr[pOp->p1];
68534 assert( pOp->p3>0 && pOp->p3<=p->nMem );
68535 u.cj.pDest = &aMem[pOp->p3];
68554 rc = u.cj.pModule->xColumn(pCur->pVtabCursor, &u.cj.sContext, pOp->p2);
68566 REGISTER_TRACE(pOp->p3, u.cj.pDest);
68592 u.ck.pCur = p->apCsr[pOp->p1];
68617 pc = pOp->p2 - 1;
68636 u.cl.pVtab = pOp->p4.pVtab->pVtab;
68637 u.cl.pName = &aMem[pOp->p1];
68640 REGISTER_TRACE(pOp->p1, u.cl.pName);
68685 assert( pOp->p2==1 || pOp->p5==OE_Fail || pOp->p5==OE_Rollback
68686 || pOp->p5==OE_Abort || pOp->p5==OE_Ignore || pOp->p5==OE_Replace
68688 u.cm.pVtab = pOp->p4.pVtab->pVtab;
68690 u.cm.nArg = pOp->p2;
68691 assert( pOp->p4type==P4_VTAB );
68695 u.cm.pX = &aMem[pOp->p3];
68703 db->vtabOnConflict = pOp->p5;
68707 if( rc==SQLITE_OK && pOp->p1 ){
68711 if( rc==SQLITE_CONSTRAINT && pOp->p4.pVtab->bConstraint ){
68712 if( pOp->p5==OE_Ignore ){
68715 p->errorAction = ((pOp->p5==OE_Replace) ? OE_Abort : pOp->p5);
68731 pOut->u.i = sqlite3BtreeLastPage(db->aDb[pOp->p1].pBt);
68750 pBt = db->aDb[pOp->p1].pBt;
68752 if( pOp->p3 ){
68754 if( newMax < (unsigned)pOp->p3 ) newMax = (unsigned)pOp->p3;
68774 if( db->xTrace && (u.cn.zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql))!=0 ){
68781 && (u.cn.zTrace = (pOp->p4.z ? pOp->p4.z : p->zSql))!=0
68803 assert( pOp->opcode==OP_Noop || pOp->opcode==OP_Explain );
68818 pOp->cycles += elapsed;
68819 pOp->cnt++;
68838 if( pOp->opflags & (OPFLG_OUT2_PRERELEASE|OPFLG_OUT2) ){
68839 registerTrace(p->trace, pOp->p2, &aMem[pOp->p2]);
68841 if( pOp->opflags & OPFLG_OUT3 ){
68842 registerTrace(p->trace, pOp->p3, &aMem[pOp->p3]);
85161 VdbeOp *pOp = sqlite3VdbeGetOp(v, i);
85162 assert( pOp!=0 );
85163 if( pOp->opcode==OP_OpenRead && pOp->p3==iDb ){
85165 int tnum = pOp->p2;
85176 if( pOp->opcode==OP_VOpen && pOp->p4.pVtab==pVTab ){
85177 assert( pOp->p4.pVtab!=0 );
85178 assert( pOp->p4type==P4_VTAB );
85908 VdbeOp *pOp;
85910 pOp = sqlite3VdbeGetOp(v, -1);
85911 if( ALWAYS(pOp) && pOp->opcode==OP_Null && !IsVirtual(pTab) ){
85913 pOp->opcode = OP_NewRowid;
85914 pOp->p1 = baseCur;
85915 pOp->p2 = regRowid;
85916 pOp->p3 = regAutoinc;
103286 VdbeOp *pOp;
103290 pOp = sqlite3VdbeGetOp(v, pWInfo->iTop);
103292 for(k=pWInfo->iTop; k<last; k++, pOp++){
103293 if( pOp->p1!=pLevel->iTabCur ) continue;
103294 if( pOp->opcode==OP_Column ){
103296 if( pOp->p2==pIdx->aiColumn[j] ){
103297 pOp->p2 = j;
103298 pOp->p1 = pLevel->iIdxCur;
103304 }else if( pOp->opcode==OP_Rowid ){
103305 pOp->p1 = pLevel->iIdxCur;
103306 pOp->opcode = OP_IdxRowid;
112962 struct Fts4Option *pOp = &aFts4Opt[iOpt];
112963 if( nKey==pOp->nOpt && !sqlite3_strnicmp(z, pOp->zOpt, pOp->nOpt) ){