-C Improvements\sto\soutput\sformatting\swith\sthe\s".trace"\scommand\sin\sthe\ncommand-line\sshell.
-D 2014-08-19T19:28:00.623
+C Make\ssure\sthe\ssqlite3_trace()\scallback\sis\sinvoked,\seven\sif\sthe\sprepared\nstatement\swas\smarked\s"expired"\sbefore\sit\sever\sentered\ssqlite3_step().\nTicket\s[11d5aa455e0d98f3c1e6a08].
+D 2014-08-19T20:27:40.455
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 5eb79e334a5de69c87740edd56af6527dd219308
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F src/vdbe.c f7f4066e4d6e3858878d76ce9288ea603e12ddf6
F src/vdbe.h c63fad052c9e7388d551e556e119c0bcf6bebdf8
F src/vdbeInt.h f5513f2b5ac1e2c5128996c7ea23add256a301df
-F src/vdbeapi.c 24e40422382beb774daab11fe9fe9d37e8a04949
+F src/vdbeapi.c ce75e452dfd9c6ba4f8c6c76be6399c88bce3142
F src/vdbeaux.c 25d62ef82cf1be2a1255eacac636fa0d943d8b3d
F src/vdbeblob.c 9205ce9d3b064d9600f8418a897fc88b5687d9ac
F src/vdbemem.c d90a1e8acf8b63dc9d14cbbea12bfec6cec31394
F test/tkt4018.test 7c2c9ba4df489c676a0a7a0e809a1fb9b2185bd1
F test/tokenize.test ce430a7aed48fc98301611429595883fdfcab5d7
F test/tpch01.test 04adbf8d8300fa60a222f28d901abd76e7be6dd4
-F test/trace.test 4b36a41a3e9c7842151af6da5998f5080cdad9e5
+F test/trace.test 73a5508100f7fccfbc3f8018d5f6963ed478eea0
F test/trace2.test 93b47ca6996c66b47f57224cfb146f34e07df382
F test/trans.test 6e1b4c6a42dba31bd65f8fa5e61a2708e08ddde6
F test/trans2.test 62bd045bfc7a1c14c5ba83ba64d21ade31583f76
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P f10a6111262ce6ee6984c64fa0e0023642eca27d
-R 257d241ab9ebe5fc3f4654d7f2e169ae
+P d09d63c07748839e9b778a769b183bdd614c6c13
+R dc4a84c1e3dbc4c500aead2f870904cc
U drh
-Z 211a00cac8127ca939f7e6f32071c25c
+Z 8ee9013dcfb943fe42c807d90f81accd
sqlite3_mutex_enter(db->mutex);
v->doingRerun = 0;
while( (rc = sqlite3Step(v))==SQLITE_SCHEMA
- && cnt++ < SQLITE_MAX_SCHEMA_RETRY
- && (rc2 = rc = sqlite3Reprepare(v))==SQLITE_OK ){
+ && cnt++ < SQLITE_MAX_SCHEMA_RETRY ){
+ int savedPc = v->pc;
+ rc2 = rc = sqlite3Reprepare(v);
+ if( rc!=SQLITE_OK) break;
sqlite3_reset(pStmt);
- v->doingRerun = 1;
+ v->doingRerun = savedPc>=0;
assert( v->expired==0 );
}
if( rc2!=SQLITE_OK ){
db trace {}
db trace
} {}
+do_test trace-1.6 {
+ db eval {
+ CREATE TABLE t1b(x TEXT PRIMARY KEY, y);
+ INSERT INTO t1b VALUES('abc','def'),('ghi','jkl'),('mno','pqr');
+ }
+ set ::stmtlist {}
+ set xyzzy a*
+ db trace trace_proc
+ db eval {
+ SELECT y FROM t1b WHERE x GLOB $xyzzy
+ }
+} {def}
+do_test trace-1.7 {
+ set ::stmtlist
+} {{SELECT y FROM t1b WHERE x GLOB 'a*'}}
+db trace {}
# If we prepare a statement and execute it multiple times, the trace
# happens on each execution.