From: drh Date: Mon, 7 Nov 2011 17:54:26 +0000 (+0000) Subject: Amplify the restriction on commit-hooks that they cannot recursively X-Git-Tag: mountain-lion~9^2~33 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a46739eae0b16a4cef596f12853621b14625f1c4;p=thirdparty%2Fsqlite.git Amplify the restriction on commit-hooks that they cannot recursively run SQL on the same database connection. FossilOrigin-Name: 4fe5b73115a8b44950767f1b528107261d7312c9 --- diff --git a/manifest b/manifest index f9985f32f0..fddf3bd484 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\sa\smakefile\starget\sfor\stclsqlite3.c\sto\sMakefile.in. -D 2011-11-07T16:46:43.166 +C Amplify\sthe\srestriction\son\scommit-hooks\sthat\sthey\scannot\srecursively\nrun\sSQL\son\sthe\ssame\sdatabase\sconnection. +D 2011-11-07T17:54:26.821 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 5b4a3e12a850b021547e43daf886b25133b44c07 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -182,7 +182,7 @@ F src/resolve.c 365ab1c870e38596d6869e76fb544fe6e4ffc809 F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697 F src/select.c 80f3ac44a8514b1d107b80f5df4a424ae059d2b6 F src/shell.c 6d2ad7f80adc9c8c3195412879af36eb3196c1b6 -F src/sqlite.h.in ff950aef7b378963c67add42dda5d446a0b7330e +F src/sqlite.h.in b7a4e8d428e467d820cbb4c1d275fdda88b4d7ab F src/sqlite3ext.h 6904f4aadf976f95241311fbffb00823075d9477 F src/sqliteInt.h b0b6df8f7fe739e3cd718debb60f58853666d13e F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d @@ -974,7 +974,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 -P a35f52b1ad22c2ad49fb1083f892b92c72da348c -R f257df2fa7b8aed0523718d037ef131f +P f521b6b7e42c82f09a91df5a5acf4e46c860e72a +R 55cca41ab47514d8db108b3f26e18c32 U drh -Z 0907ff28d067a85c58af2436afc0a409 +Z a1378b40deb34e0ef30ad969852d18f3 diff --git a/manifest.uuid b/manifest.uuid index e2691f54e9..46bd34afcc 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -f521b6b7e42c82f09a91df5a5acf4e46c860e72a \ No newline at end of file +4fe5b73115a8b44950767f1b528107261d7312c9 \ No newline at end of file diff --git a/src/sqlite.h.in b/src/sqlite.h.in index ed18330748..9679965ce2 100644 --- a/src/sqlite.h.in +++ b/src/sqlite.h.in @@ -4401,13 +4401,15 @@ sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt); ** on the same [database connection] D, or NULL for ** the first call for each function on D. ** +** The commit and rollback hook callbacks are not reentrant. ** The callback implementation must not do anything that will modify ** the database connection that invoked the callback. Any actions ** to modify the database connection must be deferred until after the ** completion of the [sqlite3_step()] call that triggered the commit ** or rollback hook in the first place. -** Note that [sqlite3_prepare_v2()] and [sqlite3_step()] both modify their -** database connections for the meaning of "modify" in this paragraph. +** Note that running any other SQL statements, including SELECT statements, +** or merely calling [sqlite3_prepare_v2()] and [sqlite3_step()] will modify +** the database connections for the meaning of "modify" in this paragraph. ** ** ^Registering a NULL function disables the callback. **