------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-C Change\stwo\sautomatic\sarray\svariables\sinto\sstatic\sconstant\sarrays.\nUpdate\sand\sreformat\ssome\scomments\sfor\scleaner\spresentation.
-D 2010-08-06T02:10:00
+C Do\snot\srun\ssome\stests\sin\snotify3.test\swith\sthe\sinmemory_journal\spermutation.\sThey\sdo\snot\spass\sas\sthe\stests\sassume\sthat\sthe\sdatabase\sschema\sis\snot\sloaded\suntil\sthe\sfirst\sinvocation\sof\s[db\seval].\sThis\sis\snot\strue\swith\sthe\sinmemory_journal\spermutation.
+D 2010-08-06T13:50:07
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in ec08dc838fd8110fe24c92e5130bcd91cbb1ff2e
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F test/nan.test a44e04df1486fcfb02d32468cbcd3c8e1e433723
F test/notify1.test 8433bc74bd952fb8a6e3f8d7a4c2b28dfd69e310
F test/notify2.test 195a467e021f74197be2c4fb02d6dee644b8d8db
-F test/notify3.test 7eeba3628c4e707c004b72a2489c48fbdbc5c2ee
+F test/notify3.test d60923e186e0900f4812a845fcdfd8eea096e33a
F test/notnull.test cc7c78340328e6112a13c3e311a9ab3127114347
F test/null.test a8b09b8ed87852742343b33441a9240022108993
F test/openv2.test af02ed0a9cbc0d2a61b8f35171d4d117e588e4ec
F test/tempdb.test 800c36623d67a2ad1f58784b9c5644e0405af6e6
F test/temptable.test f42121a0d29a62f00f93274464164177ab1cc24a
F test/temptrigger.test b0273db072ce5f37cf19140ceb1f0d524bbe9f05
-F test/tester.tcl 36552bcc93adb3a932a487da84da6597cdc5871b
+F test/tester.tcl 6135019fcfac363ea0e11aee670cc97080ab578e
F test/thread001.test a3e6a7254d1cb057836cb3145b60c10bf5b7e60f
F test/thread002.test afd20095e6e845b405df4f2c920cb93301ca69db
F test/thread003.test b824d4f52b870ae39fc5bae4d8070eca73085dca
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P ca479f3de2927ccc05dc76d10e40c00b8e0c88d1
-R 64f852d682dc3f154b6b3ff0ef239170
-U drh
-Z 26ba9cd8b96f683b407f392f1d6bc552
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-iD8DBQFMW278oxKgR168RlERAgj0AJ92KeE7Pu9xmm9ax2ljGa1ynmj4KgCfSE5R
-Kjjl2xbC7iD1zbZvAMYEGpQ=
-=c2NC
------END PGP SIGNATURE-----
+P a7a15547cccb4aeb719aba19641f31390c316d8c
+R da6a7e3b792474c6501a800e8485c2ad
+U dan
+Z 24f7070a35c4e17ac7f061d90b9ace3b
-a7a15547cccb4aeb719aba19641f31390c316d8c
\ No newline at end of file
+698fba826e40ce6414cf6c261441d68b174c1637
\ No newline at end of file
# it is possible to use the unlock-notify mechanism to determine when
# the ATTACH might succeed.
#
-foreach {
- tn
- db1_loaded
- db2_loaded
- enable_extended_errors
- result
- error1 error2
-} "
- 0 0 0 0 $err SQLITE_LOCKED SQLITE_LOCKED_SHAREDCACHE
- 1 0 0 1 $err SQLITE_LOCKED_SHAREDCACHE SQLITE_LOCKED_SHAREDCACHE
- 2 0 1 0 $err SQLITE_LOCKED SQLITE_LOCKED_SHAREDCACHE
- 3 0 1 1 $err SQLITE_LOCKED_SHAREDCACHE SQLITE_LOCKED_SHAREDCACHE
- 4 1 0 0 $err SQLITE_LOCKED SQLITE_LOCKED_SHAREDCACHE
- 5 1 0 1 $err SQLITE_LOCKED_SHAREDCACHE SQLITE_LOCKED_SHAREDCACHE
- 6 1 1 0 $noerr SQLITE_OK SQLITE_OK
- 7 1 1 1 $noerr SQLITE_OK SQLITE_OK
-" {
-
- do_test notify3-2.$tn.1 {
- catch { db1 close }
- catch { db2 close }
- sqlite3 db1 test.db
- sqlite3 db2 test.db2
-
- sqlite3_extended_result_codes db1 $enable_extended_errors
- sqlite3_extended_result_codes db2 $enable_extended_errors
-
- if { $db1_loaded } { db1 eval "SELECT * FROM sqlite_master" }
- if { $db2_loaded } { db2 eval "SELECT * FROM sqlite_master" }
-
- db2 eval "BEGIN EXCLUSIVE"
- catchsql "ATTACH 'test.db2' AS two" db1
- } $result
-
- do_test notify3-2.$tn.2 {
- list [sqlite3_errcode db1] [sqlite3_extended_errcode db1]
- } [list $error1 $error2]
-
- do_test notify3-2.$tn.3 {
- db1 unlock_notify {set invoked 1}
- set invoked 0
- db2 eval commit
- set invoked
- } [lindex $result 0]
+# This test does not work for test-permutations that specify SQL to
+# be executed as part of the [sqlite3] command that opens the database.
+# Executing such SQL causes SQLite to load the database schema into memory
+# earlier than expected, causing test cases to fail.
+#
+if {[presql] == ""} {
+ foreach {
+ tn
+ db1_loaded
+ db2_loaded
+ enable_extended_errors
+ result
+ error1 error2
+ } "
+ 0 0 0 0 $err SQLITE_LOCKED SQLITE_LOCKED_SHAREDCACHE
+ 1 0 0 1 $err SQLITE_LOCKED_SHAREDCACHE SQLITE_LOCKED_SHAREDCACHE
+ 2 0 1 0 $err SQLITE_LOCKED SQLITE_LOCKED_SHAREDCACHE
+ 3 0 1 1 $err SQLITE_LOCKED_SHAREDCACHE SQLITE_LOCKED_SHAREDCACHE
+ 4 1 0 0 $err SQLITE_LOCKED SQLITE_LOCKED_SHAREDCACHE
+ 5 1 0 1 $err SQLITE_LOCKED_SHAREDCACHE SQLITE_LOCKED_SHAREDCACHE
+ 6 1 1 0 $noerr SQLITE_OK SQLITE_OK
+ 7 1 1 1 $noerr SQLITE_OK SQLITE_OK
+ " {
+
+ do_test notify3-2.$tn.1 {
+ catch { db1 close }
+ catch { db2 close }
+ sqlite3 db1 test.db
+ sqlite3 db2 test.db2
+
+ sqlite3_extended_result_codes db1 $enable_extended_errors
+ sqlite3_extended_result_codes db2 $enable_extended_errors
+
+ if { $db1_loaded } { db1 eval "SELECT * FROM sqlite_master" }
+ if { $db2_loaded } { db2 eval "SELECT * FROM sqlite_master" }
+
+ db2 eval "BEGIN EXCLUSIVE"
+ catchsql "ATTACH 'test.db2' AS two" db1
+ } $result
+
+ do_test notify3-2.$tn.2 {
+ list [sqlite3_errcode db1] [sqlite3_extended_errcode db1]
+ } [list $error1 $error2]
+
+ do_test notify3-2.$tn.3 {
+ db1 unlock_notify {set invoked 1}
+ set invoked 0
+ db2 eval commit
+ set invoked
+ } [lindex $result 0]
+ }
}
catch { db1 close }
catch { db2 close }
# wal_set_journal_mode ?DB?
# wal_check_journal_mode TESTNAME?DB?
# permutation
+# presql
#
# Set the precision of FP arithmatic used by the interpreter. And
catch {set perm $::G(perm:name)}
set perm
}
+proc presql {} {
+ set presql ""
+ catch {set presql $::G(perm:presql)}
+ set presql
+}
#-------------------------------------------------------------------------
#