Lines Matching refs:pOp
213 static void test_addop_breakpoint(int pc, Op *pOp){ in test_addop_breakpoint() argument
243 VdbeOp *pOp; in sqlite3VdbeAddOp3() local
253 pOp = &p->aOp[i]; in sqlite3VdbeAddOp3()
254 assert( pOp!=0 ); in sqlite3VdbeAddOp3()
255 pOp->opcode = (u8)op; in sqlite3VdbeAddOp3()
256 pOp->p5 = 0; in sqlite3VdbeAddOp3()
257 pOp->p1 = p1; in sqlite3VdbeAddOp3()
258 pOp->p2 = p2; in sqlite3VdbeAddOp3()
259 pOp->p3 = p3; in sqlite3VdbeAddOp3()
260 pOp->p4.p = 0; in sqlite3VdbeAddOp3()
261 pOp->p4type = P4_NOTUSED; in sqlite3VdbeAddOp3()
263 pOp->zComment = 0; in sqlite3VdbeAddOp3()
272 pOp->cycles = 0; in sqlite3VdbeAddOp3()
273 pOp->cnt = 0; in sqlite3VdbeAddOp3()
276 pOp->iSrcLine = 0; in sqlite3VdbeAddOp3()
419 VdbeOp *pOp; in sqlite3VdbeExplainParent() local
421 pOp = sqlite3VdbeGetOp(pParse->pVdbe, pParse->addrExplain); in sqlite3VdbeExplainParent()
422 return pOp->p2; in sqlite3VdbeExplainParent()
505 VdbeOp *pOp = &p->aOp[addr]; in sqlite3VdbeAddOp4Int() local
506 pOp->p4type = P4_INT32; in sqlite3VdbeAddOp4Int()
507 pOp->p4.i = p4; in sqlite3VdbeAddOp4Int()
714 Op *pOp; in sqlite3VdbeAssertMayAbort() local
721 while( (pOp = opIterNext(&sIter))!=0 ){ in sqlite3VdbeAssertMayAbort()
722 int opcode = pOp->opcode; in sqlite3VdbeAssertMayAbort()
729 && ((pOp->p1)!=SQLITE_OK && pOp->p2==OE_Abort)) in sqlite3VdbeAssertMayAbort()
734 if( opcode==OP_CreateBtree && pOp->p3==BTREE_INTKEY ) hasCreateTable = 1; in sqlite3VdbeAssertMayAbort()
740 if( opcode==OP_CreateBtree && pOp->p3==BTREE_BLOBKEY ) hasCreateIndex = 1; in sqlite3VdbeAssertMayAbort()
745 if( opcode==OP_FkCounter && pOp->p1==0 && pOp->p2==1 ){ in sqlite3VdbeAssertMayAbort()
812 Op *pOp; in resolveP2Values() local
817 pOp = &p->aOp[p->nOp-1]; in resolveP2Values()
826 if( pOp->opcode<=SQLITE_MX_JUMP_OPCODE ){ in resolveP2Values()
829 switch( pOp->opcode ){ in resolveP2Values()
831 if( pOp->p2!=0 ) p->readOnly = 0; in resolveP2Values()
849 assert( pOp->p2>=0 ); in resolveP2Values()
854 if( pOp->p2>nMaxArgs ) nMaxArgs = pOp->p2; in resolveP2Values()
859 assert( (pOp - p->aOp) >= 3 ); in resolveP2Values()
860 assert( pOp[-1].opcode==OP_Integer ); in resolveP2Values()
861 n = pOp[-1].p1; in resolveP2Values()
868 if( pOp->p2<0 ){ in resolveP2Values()
872 assert( (sqlite3OpcodeProperty[pOp->opcode] & OPFLG_JUMP)!=0 ); in resolveP2Values()
873 assert( ADDR(pOp->p2)<-pParse->nLabel ); in resolveP2Values()
874 pOp->p2 = aLabel[ADDR(pOp->p2)]; in resolveP2Values()
882 assert( (sqlite3OpcodeProperty[pOp->opcode]&OPFLG_JUMP)==0 || pOp->p2>=0); in resolveP2Values()
884 assert( pOp>p->aOp ); in resolveP2Values()
885 pOp--; in resolveP2Values()
924 VdbeOp *pOp; in sqlite3VdbeNoJumpsOutsideSubrtn() local
934 pOp = &v->aOp[iFirst]; in sqlite3VdbeNoJumpsOutsideSubrtn()
935 for(i=iFirst; i<=iLast; i++, pOp++){ in sqlite3VdbeNoJumpsOutsideSubrtn()
936 if( (sqlite3OpcodeProperty[pOp->opcode] & OPFLG_JUMP)!=0 ){ in sqlite3VdbeNoJumpsOutsideSubrtn()
937 int iDest = pOp->p2; /* Jump destination */ in sqlite3VdbeNoJumpsOutsideSubrtn()
939 if( pOp->opcode==OP_Gosub ) continue; in sqlite3VdbeNoJumpsOutsideSubrtn()
1164 VdbeOp *pOp = sqlite3VdbeGetLastOp(p); in sqlite3VdbeTypeofColumn() local
1165 if( pOp->p3==iDest && pOp->opcode==OP_Column ){ in sqlite3VdbeTypeofColumn()
1166 pOp->p5 |= OPFLAG_TYPEOFARG; in sqlite3VdbeTypeofColumn()
1282 Op *pOp = &aOp[nOp-1]; in vdbeFreeOpArray() local
1284 if( pOp->p4type <= P4_FREE_IF_LE ) freeP4(db, pOp->p4type, pOp->p4.p); in vdbeFreeOpArray()
1286 sqlite3DbFree(db, pOp->zComment); in vdbeFreeOpArray()
1288 if( pOp==aOp ) break; in vdbeFreeOpArray()
1289 pOp--; in vdbeFreeOpArray()
1316 VdbeOp *pOp; in sqlite3VdbeChangeToNoop() local
1319 pOp = &p->aOp[addr]; in sqlite3VdbeChangeToNoop()
1320 freeP4(p->db, pOp->p4type, pOp->p4.p); in sqlite3VdbeChangeToNoop()
1321 pOp->p4type = P4_NOTUSED; in sqlite3VdbeChangeToNoop()
1322 pOp->p4.z = 0; in sqlite3VdbeChangeToNoop()
1323 pOp->opcode = OP_Noop; in sqlite3VdbeChangeToNoop()
1393 Op *pOp, in vdbeChangeP4Full() argument
1397 if( pOp->p4type ){ in vdbeChangeP4Full()
1398 freeP4(p->db, pOp->p4type, pOp->p4.p); in vdbeChangeP4Full()
1399 pOp->p4type = 0; in vdbeChangeP4Full()
1400 pOp->p4.p = 0; in vdbeChangeP4Full()
1403 sqlite3VdbeChangeP4(p, (int)(pOp - p->aOp), zP4, n); in vdbeChangeP4Full()
1406 pOp->p4.z = sqlite3DbStrNDup(p->db, zP4, n); in vdbeChangeP4Full()
1407 pOp->p4type = P4_DYNAMIC; in vdbeChangeP4Full()
1411 Op *pOp; in sqlite3VdbeChangeP4() local
1426 pOp = &p->aOp[addr]; in sqlite3VdbeChangeP4()
1427 if( n>=0 || pOp->p4type ){ in sqlite3VdbeChangeP4()
1428 vdbeChangeP4Full(p, pOp, zP4, n); in sqlite3VdbeChangeP4()
1434 pOp->p4.i = SQLITE_PTR_TO_INT(zP4); in sqlite3VdbeChangeP4()
1435 pOp->p4type = P4_INT32; in sqlite3VdbeChangeP4()
1438 pOp->p4.p = (void*)zP4; in sqlite3VdbeChangeP4()
1439 pOp->p4type = (signed char)n; in sqlite3VdbeChangeP4()
1454 VdbeOp *pOp; in sqlite3VdbeAppendP4() local
1462 pOp = &p->aOp[p->nOp-1]; in sqlite3VdbeAppendP4()
1463 assert( pOp->p4type==P4_NOTUSED ); in sqlite3VdbeAppendP4()
1464 pOp->p4type = n; in sqlite3VdbeAppendP4()
1465 pOp->p4.p = pP4; in sqlite3VdbeAppendP4()
1563 static int translateP(char c, const Op *pOp){ in translateP() argument
1564 if( c=='1' ) return pOp->p1; in translateP()
1565 if( c=='2' ) return pOp->p2; in translateP()
1566 if( c=='3' ) return pOp->p3; in translateP()
1567 if( c=='4' ) return pOp->p4.i; in translateP()
1568 return pOp->p5; in translateP()
1586 const Op *pOp, /* The opcode to be commented */ in sqlite3VdbeDisplayComment() argument
1597 zOpName = sqlite3OpcodeName(pOp->opcode); in sqlite3VdbeDisplayComment()
1613 if( pOp->zComment && pOp->zComment[0] ){ in sqlite3VdbeDisplayComment()
1614 sqlite3_str_appendall(&x, pOp->zComment); in sqlite3VdbeDisplayComment()
1619 int v1 = translateP(c, pOp); in sqlite3VdbeDisplayComment()
1623 v2 = translateP(zSynopsis[ii], pOp); in sqlite3VdbeDisplayComment()
1634 sqlite3_context *pCtx = pOp->p4.pCtx; in sqlite3VdbeDisplayComment()
1635 if( pOp->p4type!=P4_FUNCCTX || pCtx->argc==1 ){ in sqlite3VdbeDisplayComment()
1647 if( strncmp(zSynopsis+ii+1, "..P3", 4)==0 && pOp->p3==0 ){ in sqlite3VdbeDisplayComment()
1656 if( !seenCom && pOp->zComment ){ in sqlite3VdbeDisplayComment()
1657 sqlite3_str_appendf(&x, "; %s", pOp->zComment); in sqlite3VdbeDisplayComment()
1659 }else if( pOp->zComment ){ in sqlite3VdbeDisplayComment()
1660 sqlite3_str_appendall(&x, pOp->zComment); in sqlite3VdbeDisplayComment()
1749 char *sqlite3VdbeDisplayP4(sqlite3 *db, Op *pOp){ in sqlite3VdbeDisplayP4() argument
1754 switch( pOp->p4type ){ in sqlite3VdbeDisplayP4()
1757 KeyInfo *pKeyInfo = pOp->p4.pKeyInfo; in sqlite3VdbeDisplayP4()
1774 displayP4Expr(&x, pOp->p4.pExpr); in sqlite3VdbeDisplayP4()
1780 CollSeq *pColl = pOp->p4.pColl; in sqlite3VdbeDisplayP4()
1787 FuncDef *pDef = pOp->p4.pFunc; in sqlite3VdbeDisplayP4()
1792 FuncDef *pDef = pOp->p4.pCtx->pFunc; in sqlite3VdbeDisplayP4()
1797 sqlite3_str_appendf(&x, "%lld", *pOp->p4.pI64); in sqlite3VdbeDisplayP4()
1801 sqlite3_str_appendf(&x, "%d", pOp->p4.i); in sqlite3VdbeDisplayP4()
1805 sqlite3_str_appendf(&x, "%.16g", *pOp->p4.pReal); in sqlite3VdbeDisplayP4()
1809 Mem *pMem = pOp->p4.pMem; in sqlite3VdbeDisplayP4()
1826 sqlite3_vtab *pVtab = pOp->p4.pVtab->pVtab; in sqlite3VdbeDisplayP4()
1833 u32 *ai = pOp->p4.ai; in sqlite3VdbeDisplayP4()
1847 zP4 = pOp->p4.pTab->zName; in sqlite3VdbeDisplayP4()
1851 zP4 = pOp->p4.z; in sqlite3VdbeDisplayP4()
1946 void sqlite3VdbePrintOp(FILE *pOut, int pc, VdbeOp *pOp){ in sqlite3VdbePrintOp() argument
1954 zP4 = sqlite3VdbeDisplayP4(&dummyDb, pOp); in sqlite3VdbePrintOp()
1956 zCom = sqlite3VdbeDisplayComment(0, pOp, zP4); in sqlite3VdbePrintOp()
1964 sqlite3OpcodeName(pOp->opcode), pOp->p1, pOp->p2, pOp->p3, in sqlite3VdbePrintOp()
1965 zP4 ? zP4 : "", pOp->p5, in sqlite3VdbePrintOp()
2182 Op *pOp = aOp + i; in sqlite3VdbeNextOpcode() local
2183 if( pOp->opcode==OP_OpenRead ) break; in sqlite3VdbeNextOpcode()
2184 if( pOp->opcode==OP_OpenWrite && (pOp->p5 & OPFLAG_P2ISREG)==0 ) break; in sqlite3VdbeNextOpcode()
2185 if( pOp->opcode==OP_ReopenIdx ) break; in sqlite3VdbeNextOpcode()
2248 Op *pOp; /* Current opcode */ in sqlite3VdbeList() local
2283 pOp = aOp + i; in sqlite3VdbeList()
2289 char *zP4 = sqlite3VdbeDisplayP4(db, pOp); in sqlite3VdbeList()
2291 sqlite3VdbeMemSetInt64(pMem, pOp->p1); in sqlite3VdbeList()
2292 sqlite3VdbeMemSetInt64(pMem+1, pOp->p2); in sqlite3VdbeList()
2293 sqlite3VdbeMemSetInt64(pMem+2, pOp->p3); in sqlite3VdbeList()
2298 sqlite3VdbeMemSetStr(pMem+1, (char*)sqlite3OpcodeName(pOp->opcode), in sqlite3VdbeList()
2300 sqlite3VdbeMemSetInt64(pMem+2, pOp->p1); in sqlite3VdbeList()
2301 sqlite3VdbeMemSetInt64(pMem+3, pOp->p2); in sqlite3VdbeList()
2302 sqlite3VdbeMemSetInt64(pMem+4, pOp->p3); in sqlite3VdbeList()
2304 sqlite3VdbeMemSetInt64(pMem+6, pOp->p5); in sqlite3VdbeList()
2307 char *zCom = sqlite3VdbeDisplayComment(db, pOp, zP4); in sqlite3VdbeList()
2339 const VdbeOp *pOp = &p->aOp[0]; in sqlite3VdbePrintSql() local
2340 if( pOp->opcode==OP_Init && pOp->p4.z!=0 ){ in sqlite3VdbePrintSql()
2341 z = pOp->p4.z; in sqlite3VdbePrintSql()
2355 VdbeOp *pOp; in sqlite3VdbeIOTraceSql() local
2358 pOp = &p->aOp[0]; in sqlite3VdbeIOTraceSql()
2359 if( pOp->opcode==OP_Init && pOp->p4.z!=0 ){ in sqlite3VdbeIOTraceSql()
2362 sqlite3_snprintf(sizeof(z), z, "%s", pOp->p4.z); in sqlite3VdbeIOTraceSql()
5192 const VdbeOp *pOp; in sqlite3NotPureFunc() local
5196 pOp = pCtx->pVdbe->aOp + pCtx->iOp; in sqlite3NotPureFunc()
5197 if( pOp->opcode==OP_PureFunc ){ in sqlite3NotPureFunc()
5200 if( pOp->p5 & NC_IsCheck ){ in sqlite3NotPureFunc()
5202 }else if( pOp->p5 & NC_GenCol ){ in sqlite3NotPureFunc()