From 297a66c257c5b749f8d3e1a5cbfc19836306a10b Mon Sep 17 00:00:00 2001 From: drh Date: Tue, 9 Jan 2007 15:06:41 +0000 Subject: [PATCH] Documentation and tests to show that the cause of a parsing error is available on sqlite3_errmsg after sqlite3_step return SQLITE_SCHEMA. (CVS 3581) FossilOrigin-Name: 31a661d424d0fe03eaf78f98031e360102dafeff --- manifest | 14 +++++++------- manifest.uuid | 2 +- test/capi3c.test | 5 ++++- www/capi3ref.tcl | 5 +++-- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/manifest b/manifest index 20eed7225f..f8665d0829 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Updates\stests\sand\sdocumentation\sto\sjustify\sthe\sbehavior\sobserved\sin\nticket\s#2158.\s\sNo\schanges\sto\scode.\s(CVS\s3580) -D 2007-01-09T15:02:03 +C Documentation\sand\stests\sto\sshow\sthat\sthe\scause\sof\sa\sparsing\serror\sis\navailable\son\ssqlite3_errmsg\safter\ssqlite3_step\sreturn\sSQLITE_SCHEMA.\s(CVS\s3581) +D 2007-01-09T15:06:42 F Makefile.in 7fa74bf4359aa899da5586e394d17735f221315f F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -169,7 +169,7 @@ F test/busy.test 0271c854738e23ad76e10d4096a698e5af29d211 F test/capi2.test 7ecc9b342cc9ec27b53bbf95724cf2e5874fd496 F test/capi3.test 4063c4be79fb00704154a1e459a38364de9162a9 F test/capi3b.test 5f0bc94b104e11086b1103b20277e1910f59c7f4 -F test/capi3c.test 9cb59f052c03f10323fd561e7eac1123ce4d0b97 +F test/capi3c.test 3d276ee4c142b9e71a867a3579906bb0876840cc F test/cast.test f88e7b6946e9a467cf4bb142d92bb65a83747fc2 F test/check.test e5ea0c1a06c10e81e3434ca029e2c4a562f2b673 F test/collate1.test add9454cef160677bb8b34148b8f277ce7f9f1c4 @@ -380,7 +380,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 15a48151bdb0e288b3074331f0e081cd42787b67 +F www/capi3ref.tcl 105cad9948f77e0764af3bfcc97ac45f2cb63a2f F www/changes.tcl 45bd748d77a00949b7ec7fae7913d139f1b85df4 F www/common.tcl 14d121c28532ad20c3e349caa4db708b0b822083 F www/compile.tcl 276546d7eb445add5a867193bbd80f6919a6b084 @@ -424,7 +424,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513 -P 9960ba576827f8ced6eac101313a481f2a2f4b69 -R c38bdef3b37314606ca846892d62f254 +P e1f7cf065d2c4ca53e233a4506759a1899ad0560 +R 48e8069888cd655ee7e8942bef8cd5a3 U drh -Z c2c4bfa9a140d0193015499de1c84622 +Z 2e5f8d5a0aebfa7be6d672871e5c593e diff --git a/manifest.uuid b/manifest.uuid index ce430cb869..65087ba68d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e1f7cf065d2c4ca53e233a4506759a1899ad0560 \ No newline at end of file +31a661d424d0fe03eaf78f98031e360102dafeff \ No newline at end of file diff --git a/test/capi3c.test b/test/capi3c.test index bfde0d8668..59f89a5035 100644 --- a/test/capi3c.test +++ b/test/capi3c.test @@ -13,7 +13,7 @@ # This is a copy of the capi3.test file that has been adapted to # test the new sqlite3_prepare_v2 interface. # -# $Id: capi3c.test,v 1.4 2007/01/09 15:02:03 drh Exp $ +# $Id: capi3c.test,v 1.5 2007/01/09 15:06:42 drh Exp $ # set testdir [file dirname $argv0] @@ -1175,6 +1175,9 @@ do_test capi3c-19.4 { db eval {DROP TABLE t3} sqlite3_step $STMT } SQLITE_SCHEMA +do_test capi3c-19.4.2 { + sqlite3_errmsg $DB +} {no such table: t3} do_test capi3c-19.5 { sqlite3_reset $STMT db eval { diff --git a/www/capi3ref.tcl b/www/capi3ref.tcl index c668ce3a30..600892d828 100644 --- a/www/capi3ref.tcl +++ b/www/capi3ref.tcl @@ -1,4 +1,4 @@ -set rcsid {$Id: capi3ref.tcl,v 1.48 2007/01/09 15:02:03 drh Exp $} +set rcsid {$Id: capi3ref.tcl,v 1.49 2007/01/09 15:06:42 drh Exp $} source common.tcl header {C/C++ Interface For SQLite Version 3} puts { @@ -1196,7 +1196,8 @@ int sqlite3_prepare16( that makes the statement no longer valid, sqlite3_step() will still return SQLITE_SCHEMA. But unlike the legacy behavior, SQLITE_SCHEMA is now a fatal error. Calling sqlite3_prepare_v2() again will not make the - error go away. + error go away. Note: use sqlite3_errmsg() to find the text of the parsing + error that results in an SQLITE_SCHEMA return.
  • -- 2.47.2