diff options
Diffstat (limited to 'src/vdbeaux.c')
-rw-r--r-- | src/vdbeaux.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/vdbeaux.c b/src/vdbeaux.c index fa3450c15..bc9468e57 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -263,8 +263,13 @@ static void resolveP2Values(Vdbe *p, int *pMaxFuncArgs, int *pMaxStack){ } }else if( opcode==OP_Statement ){ hasStatementBegin = 1; + }else if( opcode==OP_VFilter ){ + int n; + assert( p->nOp - i >= 3 ); + assert( pOp[-2].opcode==OP_Integer ); + n = pOp[-2].p1; + if( n>nMaxArgs ) nMaxArgs = n; } - if( opcodeNoPush(opcode) ){ nMaxStack--; } @@ -380,6 +385,10 @@ static void freeP3(int p3type, void *p3){ sqliteFree(p3); break; } + case P3_MPRINTF: { + sqlite3_free(p3); + break; + } case P3_VDBEFUNC: { VdbeFunc *pVdbeFunc = (VdbeFunc *)p3; sqlite3VdbeDeleteAuxData(pVdbeFunc, 0); |