From: drh Date: Fri, 5 Dec 2014 14:07:53 +0000 (+0000) Subject: Test case demonstrating the problem described by X-Git-Tag: version-3.8.8~116^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a895a4d22cedbf9bbfb7288069dc5347139ee36b;p=thirdparty%2Fsqlite.git Test case demonstrating the problem described by ticket [e4a18565a36884b00edf]. FossilOrigin-Name: ffea3e905adc108d2dc37f5d6da2024f0389f176 --- diff --git a/manifest b/manifest index 6a37a13e06..1c55723bc4 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C When\sclosing\sa\s(shared-cache)\sdatabase\sconnection,\sbe\ssure\sto\sclear\sout\sall\nKeyInfo\sobjects\scached\son\sIndex\sobjects.\nProposed\sfix\sfor\sticket\s[e4a18565a36884b00edf]. -D 2014-12-05T05:38:02.138 +C Test\scase\sdemonstrating\sthe\sproblem\sdescribed\sby\nticket\s[e4a18565a36884b00edf]. +D 2014-12-05T14:07:53.311 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 6c4f961fa91d0b4fa121946a19f9e5eac2f2f809 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -846,6 +846,7 @@ F test/shared7.test a81e99f83e6c51b02ac99c96fb3a2a7b5978c956 F test/shared8.test 00a07bf5e1337ecf72e94542bdefdc330d7a2538 F test/shared9.test 5f2a8f79b4d6c7d107a01ffa1ed05ae7e6333e21 F test/sharedA.test 0cdf1a76dfa00e6beee66af5b534b1e8df2720f5 +F test/sharedB.test 91c8244e0f2a5f0bda731981d62208b6b54bfff2 F test/shared_err.test 2f2aee20db294b9924e81f6ccbe60f19e21e8506 F test/sharedlock.test 5ede3c37439067c43b0198f580fd374ebf15d304 F test/shell1.test ab6025d941f9c84c5b83412c6b4d8b57f78dfa3a @@ -1223,10 +1224,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P e9955c0e14d13ba1411f013acb4979958dae2516 -R 6bcc6e9801f68a90df02ecfc8338dee3 -T *branch * fix-stale-keyinfo-cache -T *sym-fix-stale-keyinfo-cache * -T -sym-trunk * +P 651ed97de13234be60a1138a98b06d308449a791 +R 9f67caf91540cf2461a4c618c84ef365 U drh -Z 0a051974f060a3e4f394579c98ab9920 +Z 2496f3d4e53b37395b3a158db036ecc7 diff --git a/manifest.uuid b/manifest.uuid index cf22e9381d..69d4dd6ea0 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -651ed97de13234be60a1138a98b06d308449a791 \ No newline at end of file +ffea3e905adc108d2dc37f5d6da2024f0389f176 \ No newline at end of file diff --git a/test/sharedB.test b/test/sharedB.test new file mode 100644 index 0000000000..beb99578f4 --- /dev/null +++ b/test/sharedB.test @@ -0,0 +1,57 @@ +# 2013 May 14 +# +# The author disclaims copyright to this source code. In place of +# a legal notice, here is a blessing: +# +# May you do good and not evil. +# May you find forgiveness for yourself and forgive others. +# May you share freely, never taking more than you give. +# +#*********************************************************************** +# +# Open two database connections on the same database in shared cache +# mode. Hold one open while repeatedly closing, reopening, and using +# the second. +# + + +set testdir [file dirname $argv0] +source $testdir/tester.tcl +if {[run_thread_tests]==0} { finish_test ; return } +db close +set ::testprefix sharedB + +set ::enable_shared_cache [sqlite3_enable_shared_cache 1] + +#------------------------------------------------------------------------- +# +do_test 1.1 { + sqlite3 db1 test.db + sqlite3 db2 test.db + + db1 eval { + CREATE TABLE t1(x,y TEXT COLLATE nocase); + WITH RECURSIVE + c(i) AS (VALUES(1) UNION ALL SELECT i+1 FROM c WHERE i<100) + INSERT INTO t1(x,y) SELECT i, printf('x%03dy',i) FROM c; + CREATE INDEX t1yx ON t1(y,x); + } + db2 eval { + SELECT x FROM t1 WHERE y='X014Y'; + } +} {14} + +for {set j 1} {$j<=100} {incr j} { + do_test 1.2.$j { + db2 close + sqlite3 db2 test.db + db2 eval { + SELECT x FROM t1 WHERE y='X014Y'; + } + } {14} +} + +db1 close +db2 close +sqlite3_enable_shared_cache $::enable_shared_cache +finish_test