From: drh Date: Tue, 20 Feb 2007 15:21:05 +0000 (+0000) Subject: Enhance the documentation to clarify that SQLite is not reentrant through X-Git-Tag: version-3.6.10~2520 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=39fa3e3c48fc65850b1ef23f6f1f9930fb69a620;p=thirdparty%2Fsqlite.git Enhance the documentation to clarify that SQLite is not reentrant through the authorization callback function. Ticket #2242. (CVS 3650) FossilOrigin-Name: b18a758a8fbd4b286ae3475af26f290d8cd583f0 --- diff --git a/manifest b/manifest index 034f138015..7304fd3615 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C merge\sthe\ssecond\sportion\sof\sthe\scross-compile\scleanup\s(CVS\s3649) -D 2007-02-17T14:59:18 +C Enhance\sthe\sdocumentation\sto\sclarify\sthat\sSQLite\sis\snot\sreentrant\sthrough\nthe\sauthorization\scallback\sfunction.\s\sTicket\s#2242.\s(CVS\s3650) +D 2007-02-20T15:21:05 F Makefile.in 1fe3d0b46e40fd684e1e61f8e8056cefed16de9f F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -388,7 +388,7 @@ F www/audit.tcl 90e09d580f79c7efec0c7d6f447b7ec5c2dce5c0 F www/autoinc.tcl b357f5ba954b046ee35392ce0f884a2fcfcdea06 F www/c_interface.tcl b51b08591554c16a0c3ef718364a508ac25abc7e F www/capi3.tcl 7a7cc225fe02eb7ab861a6019b08baa0014409e1 -F www/capi3ref.tcl 9adb2d2313c3c5e9c6d6240c1d8f3d11dd533c59 +F www/capi3ref.tcl 4e0df9c41ebc669a7d7e9b81b410d1f907d20e78 F www/changes.tcl dba0e1f40192f79c7a887fa3efa56e6fdd54f85a F www/common.tcl 14d121c28532ad20c3e349caa4db708b0b822083 F www/compile.tcl 276546d7eb445add5a867193bbd80f6919a6b084 @@ -432,7 +432,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513 -P 20ac0f364059feba5ad95dbe82db30a9aa86be78 -R 33a5f120e889adb0be5eff452bbd7b62 -U vapier -Z e798eb714e8ab7efa77096072c058760 +P 309f2de62f34160fa24a5e1a3de0d653aabfb52b +R ec1e53d4484168716399300b8217329e +U drh +Z bf338e8653240f5646718738c1dd0f1f diff --git a/manifest.uuid b/manifest.uuid index e1321d8ee4..c653c756aa 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -309f2de62f34160fa24a5e1a3de0d653aabfb52b \ No newline at end of file +b18a758a8fbd4b286ae3475af26f290d8cd583f0 \ No newline at end of file diff --git a/www/capi3ref.tcl b/www/capi3ref.tcl index 9e0ea7eef8..9c93914794 100644 --- a/www/capi3ref.tcl +++ b/www/capi3ref.tcl @@ -1,4 +1,4 @@ -set rcsid {$Id: capi3ref.tcl,v 1.51 2007/01/10 12:57:29 drh Exp $} +set rcsid {$Id: capi3ref.tcl,v 1.52 2007/02/20 15:21:05 drh Exp $} source common.tcl header {C/C++ Interface For SQLite Version 3} puts { @@ -1350,7 +1350,7 @@ int sqlite3_set_authorizer( the access attempt or NULL if this access attempt is directly from input SQL code. - The return value of the authorization function should be one of the + The return value of the authorization callback function should be one of the constants SQLITE_OK, SQLITE_DENY, or SQLITE_IGNORE. A return of SQLITE_OK means that the operation is permitted and that sqlite3_prepare_v2() can proceed as normal. @@ -1365,6 +1365,12 @@ int sqlite3_set_authorizer( user-entered SQL. An appropriate callback can deny the user-entered SQL access certain operations (ex: anything that changes the database) or to deny access to certain tables or columns within the database. + + SQLite is not reentrant through the authorization callback function. + The authorization callback function should not attempt to invoke + any other SQLite APIs for the same database connection. If the + authorization callback function invokes some other SQLite API, an + SQLITE_MISUSE error or a segmentation fault may result. } api {} {