aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2011-04-04 12:29:20 +0000
committerdrh <drh@noemail.net>2011-04-04 12:29:20 +0000
commit7b94e7f8382b0a29b12e3ee2427331d41a6a0061 (patch)
treebad0cb3b878b9f79d2706f2c83fc49e4eccb962e /src
parent26ec621a9f60b69224122df4010c0e774bb75623 (diff)
downloadsqlite-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.c20
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;