diff options
author | drh <drh@noemail.net> | 2011-04-04 12:29:20 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2011-04-04 12:29:20 +0000 |
commit | 7b94e7f8382b0a29b12e3ee2427331d41a6a0061 (patch) | |
tree | bad0cb3b878b9f79d2706f2c83fc49e4eccb962e /src | |
parent | 26ec621a9f60b69224122df4010c0e774bb75623 (diff) | |
download | sqlite-7b94e7f8382b0a29b12e3ee2427331d41a6a0061.tar.gz sqlite-7b94e7f8382b0a29b12e3ee2427331d41a6a0061.zip |
Move the expired-statement test for OP_Function until after all memory has
been freed. The test is still commented out, however.
FossilOrigin-Name: 425e3edb146c497817855dd741878709a25c8b98
Diffstat (limited to 'src')
-rw-r--r-- | src/vdbe.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/vdbe.c b/src/vdbe.c index eff4d86cf..4bfe518a9 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -1405,17 +1405,6 @@ case OP_Function: { goto no_mem; } - /* The app-defined function has done something that as caused this - ** statement to expire. (Perhaps the function called sqlite3_exec() - ** with a CREATE TABLE statement.) - */ -#if 0 - if( p->expired ){ - rc = SQLITE_ABORT; - break; - } -#endif - /* If any auxiliary data functions have been called by this user function, ** immediately call the destructor for any non-static values. */ @@ -1437,6 +1426,15 @@ case OP_Function: { if( sqlite3VdbeMemTooBig(pOut) ){ goto too_big; } + +#if 0 + /* The app-defined function has done something that as caused this + ** statement to expire. (Perhaps the function called sqlite3_exec() + ** with a CREATE TABLE statement.) + */ + if( p->expired ) rc = SQLITE_ABORT; +#endif + REGISTER_TRACE(pOp->p3, pOut); UPDATE_MAX_BLOBSIZE(pOut); break; |