]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
In the documentation emphasize that the use of shared cache is discouraged.
authordrh <>
Mon, 15 Aug 2022 12:26:26 +0000 (12:26 +0000)
committerdrh <>
Mon, 15 Aug 2022 12:26:26 +0000 (12:26 +0000)
Fix test cases so that they all work with shared cache disabled.

FossilOrigin-Name: 52c3ae063e133c5f88cad2c3084cf46218f865ac817ab937e3529d2c6a7af300

15 files changed:
manifest
manifest.uuid
src/sqlite.h.in
test/attachmalloc.test
test/e_uri.test
test/enc3.test
test/fts4merge4.test
test/shared9.test
test/sharedA.test
test/sharedB.test
test/thread001.test
test/thread002.test
test/tkt-f7b4edec.test
test/uri.test
test/walshared.test

index 36aa4eb89de7d9b24a8af920ff44fe1c9598182b..e0b62ac483756f081b24d0f9cb581715ef1c41f2 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sthe\s(undocumented)\sSQLITE_DEFAULT_UNIX_VFS\scompile-time\soption.
-D 2022-08-12T18:46:01.170
+C In\sthe\sdocumentation\semphasize\sthat\sthe\suse\sof\sshared\scache\sis\sdiscouraged.\nFix\stest\scases\sso\sthat\sthey\sall\swork\swith\sshared\scache\sdisabled.
+D 2022-08-15T12:26:26.113
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -590,7 +590,7 @@ F src/resolve.c efea4e5fbecfd6d0a9071b0be0d952620991673391b6ffaaf4c277b0bb674633
 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
 F src/select.c 4750fbe9d8ecb7236baf7a9bea4299bb87126e08c209645666a0ae8f0efbe0fc
 F src/shell.c.in 29749b34bbd19d0004fdb6f61f62659096e1c0b4dfb1ad2314e7fafbe9dd8d37
-F src/sqlite.h.in aea48c2d62e5676f1764dc96ce7e375fea39bde0b1f9f77f9523f4404490684a
+F src/sqlite.h.in b9b7fd73239d94db20332bb6e504688001e5564b655e1318a4427a1caef4b99e
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
 F src/sqlite3ext.h a988810c9b21c0dc36dc7a62735012339dc76fc7ab448fb0792721d30eacb69d
 F src/sqliteInt.h 3ae1d20f579149c18ddd995bbeffabf036cad9f4359dc2f27dc1b778d108ff35
@@ -735,7 +735,7 @@ F test/attach.test 54f8e49e88d0de48f6428267a678465863d2b8f72320612f35bd5c02e240b
 F test/attach2.test 256bd240da1835fb8408dd59fb7ef71f8358c7a756c46662434d11d07ba3a0ce
 F test/attach3.test c59d92791070c59272e00183b7353eeb94915976
 F test/attach4.test 00e754484859998d124d144de6d114d920f2ed6ca2f961e6a7f4183c714f885e
-F test/attachmalloc.test 12c4f028e570acf9e0a4b0b7fe6f536e21f3d5ebddcece423603d0569beaf438
+F test/attachmalloc.test 67309af95c6b765c13e7d2279d7fccbef78e6eb0565d75d51cefd5dc88784549
 F test/auth.test 0f246deec5cb2f6f893f8fbb76628f182c08fe40f178b254dd72467ca012f657
 F test/auth2.test 9eb7fce9f34bf1f50d3f366fb3e606be5a2000a1
 F test/auth3.test 76d20a7fa136d63bcfcf8bcb65c0b1455ed71078d81f22bcd0550d3eb18594ab
@@ -921,7 +921,7 @@ F test/e_select.test 89fa483f68d868f1be3d6f56180ed42d979979c266e051bf8b5e66a251e
 F test/e_select2.test aceb80ab927d46fba5ce7586ebabf23e2bb0604f
 F test/e_totalchanges.test c927f7499dc3aa28b9b556b7d6d115a2f0fe41f012b128d16bf1f3b30e9b41e4
 F test/e_update.test f46c2554d915c9197548681e8d8c33a267e84528
-F test/e_uri.test a3d30c7d6d7700150055b6660ee42da7f05dee2c150ce08bf6a9ededc26468cc
+F test/e_uri.test 86564382132d9c453845eeb5293c7e375487b625900ab56c181a0464908417d8
 F test/e_vacuum.test 89fc48e8beee2f9dfd6de1fbb2edea6542dae9121dc0fbe6313764169e742104
 F test/e_wal.test ae9a593207a77d711443ee69ffe081fda9243625
 F test/e_walauto.test 248af31e73c98df23476a22bdb815524c9dc3ba8
@@ -930,7 +930,7 @@ F test/e_walhook.test 01b494287ba9e60b70f6ebf3c6c62e0ffe01788e344a4846b08e5de0b3
 F test/emptytable.test a38110becbdfa6325cd65cb588dca658cd885f62
 F test/enc.test 9a7be5479da985381d740b15f432800f65e2c87029ee57a318f42cb2eb43763a
 F test/enc2.test 848bf05f15b011719f478dddb7b5e9aea35e39e457493cba4c4eef75d849a5ec
-F test/enc3.test 6807f7a7740a00361ca8d0ccd66bc60c8dc5f2b6
+F test/enc3.test 55ef64416d72975c66167310a51dc9fc544ba3ae4858b8d5ab22f4cb6500b087
 F test/enc4.test c8f1ce3618508fd0909945beb8b8831feef2c020
 F test/eqp.test 473aea9599b4b7af46614b55198cd78167e4eccd48e60812a40db47c5c41dea9
 F test/errmsg.test eae9f091eb39ce7e20305de45d8e5d115b68fa856fba4ea6757b6ca3705ff7f9
@@ -1078,7 +1078,7 @@ F test/fts4lastrowid.test 185835895948d5325c7710649824042373b2203149abe8024a9319
 F test/fts4merge.test e2b2ec21e287d54ec09824ccfb41e66896eeca568fc818ba0e0eb2efd94c35d2
 F test/fts4merge2.test 5faa558d1b672f82b847d2a337465fa745e46891
 F test/fts4merge3.test 8d9ccb4a3d41c4c617a149d6c4b13ad02de797d0
-F test/fts4merge4.test d895b1057a7798b67e03455d0fa50e9ea836c47b
+F test/fts4merge4.test 66fce89934cd9508cbdc67de486558c34912ffb2e8ffe5c9a1bbb9b8a4408ba7
 F test/fts4merge5.test 69932d85cda8a1c4dcfb742865900ed8fbda51724b8cf9a45bbe226dfd06c596
 F test/fts4min.test 1c11e4bde16674a0c795953509cbc3731a7d9cbd1ddc7f35467bf39d632d749f
 F test/fts4noti.test d5d933705b1b1516b67a5e3f8e514ecb19c6522fb3357bb744776d48427c2292
@@ -1434,9 +1434,9 @@ F test/shared4.test c75f476804e76e26bf6fa0e7b421fb0ca7d07558
 F test/shared6.test 866bb4982c45ce216c61ded5e8fde4e7e2f3ffa9
 F test/shared7.test a81e99f83e6c51b02ac99c96fb3a2a7b5978c956
 F test/shared8.test 933ed7d71f598bb6c7a8c192a3cd30f2562fdccf514df383798599c34ffa672f
-F test/shared9.test 5f2a8f79b4d6c7d107a01ffa1ed05ae7e6333e21
-F test/sharedA.test 49d87ec54ab640fbbc3786ee3c01de94aaa482a3a9f834ad3fe92770eb69e281
-F test/sharedB.test 16cc7178e20965d75278f410943109b77b2e645e
+F test/shared9.test 600a257fe9d8b0272746b230e761aa1bd8802ca4cf3ba5b2136b9204f3d51efa
+F test/sharedA.test 64bdd21216dda2c6a3bd3475348ccdc108160f34682c97f2f51c19fc0e212700
+F test/sharedB.test 1a84863d7a2204e0d42f2e1606577c5e92e4473fa37ea0f5bdf829e4bf8ee707
 F test/shared_err.test 32634e404a3317eeb94abc7a099c556a346fdb8fb3858dbe222a4cbb8926a939
 F test/sharedlock.test 5ede3c37439067c43b0198f580fd374ebf15d304
 F test/shell1.test e4b4de56f454708e0747b52915135baa2cbfec4965406d6eaf02a4a5c22a9880
@@ -1526,8 +1526,8 @@ F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
 F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc
 F test/tester.tcl d759ac44a501fb832f2ea966429ca18acfba0f9a8d34ad5c499332b079b37023
 F test/testrunner.tcl 86b57135754ab2160aeb04b4829d321fb285a5cfa7a505fe61d69aed605854cc
-F test/thread001.test b61a29dd87cf669f5f6ac96124a7c97d71b0c80d9012746072055877055cf9ef
-F test/thread002.test e630504f8a06c00bf8bbe68528774dd96aeb2e58
+F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899
+F test/thread002.test c24c83408e35ba5a952a3638b7ac03ccdf1ce4409289c54a050ac4c5f1de7502
 F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
 F test/thread004.test f51dfc3936184aaf73ee85f315224baad272a87f
 F test/thread005.test 50d10b5684399676174bd96c94ad4250b1a2c8b6
@@ -1595,7 +1595,7 @@ F test/tkt-d82e3f3721.test bcc0dfba658d15bab30fd4a9320c9e35d214ce30
 F test/tkt-f3e5abed55.test d5a0126118142d13e27f6ce9f4c47096e9321c00
 F test/tkt-f67b41381a.test 9120eab5e949969a29087e01bf57ac6a52b6c06c16be41091a74c2a863ffc660
 F test/tkt-f777251dc7a.test d1a8fc3eefb7a9e64d19ff24d5c8c94c34a632fb
-F test/tkt-f7b4edec.test d998a08ff2b18b7f62edce8e3044317c45efe6c7
+F test/tkt-f7b4edec.test a0d9cf5023af8bfc066e71128f325fd4831c6c6761cad35e451d35c8492f5cf1
 F test/tkt-f973c7ac31.test 28ef85c7f015477916795246d8286aeda39d4ead
 F test/tkt-fa7bf5ec.test 9102dfea58aa371d78969da735f9392c57e2e035
 F test/tkt-fc62af4523.test 72825d3febdedcd5593a27989fc05accdbfc2bb4
@@ -1742,7 +1742,7 @@ F test/upsert3.test 88d7d590a1948a9cb6eac1b54b0642f67a9f35a1fc0f19b200e97d5d39e3
 F test/upsert4.test 25d2a1da92f149331ae0c51ca6e3eee78189577585eab92de149900d62994fa5
 F test/upsert5.test fff0dcfce73c649204543088d8e5bde01172676063ec9b8f8fc7f195abc386fe
 F test/upsertfault.test f21ca47740841fdb4d61acfa7b17646d773e67724fe8c185b71c018db8a94b35
-F test/uri.test 3481026f00ade6dfe8adb7acb6e1e47b04369568
+F test/uri.test c1abaaaa28e9422d61e5f3f9cbc8ef993ec49fe802f581520731708561d49384
 F test/uri2.test 9d3ba7a53ee167572d53a298ee4a5d38ec4a8fb7
 F test/userauth01.test e740a2697a7b40d7c5003a7d7edaee16acd349a9
 F test/utf16align.test 9fde0bb5d3a821594aa68c6829ab9c5453a084384137ebb9f6153e2d678039da
@@ -1816,7 +1816,7 @@ F test/walro.test cb438d05ba0d191f10b688e39c4f0cd5b71569a1d1f4440e5bdf3c6880e08c
 F test/walro2.test 33955a6fd874dd9724005e17f77fef89d334b3171454a1256fe4941a96766cdc
 F test/walrofault.test c70cb6e308c443867701856cce92ad8288cd99488fa52afab77cca6cfd51af68
 F test/walsetlk.test 34c901443b31ab720afc463f5b236c86ca5c4134402573dce91aa0761de8db5a
-F test/walshared.test 0befc811dcf0b287efae21612304d15576e35417
+F test/walshared.test 42e3808582504878af237ea02c42ca793e8a0efaa19df7df26ac573370dbc7a3
 F test/walslow.test c05c68d4dc2700a982f89133ce103a1a84cc285f
 F test/walthread.test 14b20fcfa6ae152f5d8e12f5dc8a8a724b7ef189f5d8ef1e2ceab79f2af51747
 F test/walvfs.test e1a6ad0f3c78e98b55c3d5f0889cf366cc0d0a1cb2bccb44ac9ec67384adc4a1
@@ -1999,8 +1999,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 1b1f650a08da93da97ed3a96b9a3e4eac567472c266188c02a9bffe1cf620e53
-R 9329740380d01abc186d0aa46eefc155
+P 49828bdec5f926cd18a069d39a5db0b1e1f3528a2affcfbaa1cf7b98aca51b3b
+R 138b56807af43017f46d2fa433baa3f1
 U drh
-Z 7c0cd408e2c2d1d7e9656e705ea4f22c
+Z 713a84bc1904cad175917d5abd266782
 # Remove this line to create a well-formed Fossil manifest.
index 4f2bf325a9cc886717b1360cc3ceb73fcb612056..fc125e1c0d245fd7dff3ba7e425aeb718afebf2e 100644 (file)
@@ -1 +1 @@
-49828bdec5f926cd18a069d39a5db0b1e1f3528a2affcfbaa1cf7b98aca51b3b
\ No newline at end of file
+52c3ae063e133c5f88cad2c3084cf46218f865ac817ab937e3529d2c6a7af300
\ No newline at end of file
index ba9fd8baff62c5ba9e87214e07cdd140708c98bb..d862c4fc00a364eb615d46737cc0f624e84da18f 100644 (file)
@@ -3424,6 +3424,9 @@ void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
 ** <dd>The database is opened [shared cache] enabled, overriding
 ** the default shared cache setting provided by
 ** [sqlite3_enable_shared_cache()].)^
+** The [use of shared cache mode is discouraged] and hence shared cache
+** capabilities may be omitted from many builds of SQLite.  In such cases,
+** this option is a no-op.
 **
 ** ^(<dt>[SQLITE_OPEN_PRIVATECACHE]</dt>
 ** <dd>The database is opened [shared cache] disabled, overriding
@@ -6586,6 +6589,11 @@ void *sqlite3_update_hook(
 ** to the same database. Sharing is enabled if the argument is true
 ** and disabled if the argument is false.)^
 **
+** This interface is omitted if SQLite is compiled with
+** [-DSQLITE_OMIT_SHARED_CACHE].  The [-DSQLITE_OMIT_SHARED_CACHE]
+** compile-time option is recommended because the
+** [use of shared cache mode is discouraged].
+**
 ** ^Cache sharing is enabled and disabled for an entire process.
 ** This is a change as of SQLite [version 3.5.0] ([dateof:3.5.0]). 
 ** In prior versions of SQLite,
index 7a82f41f64f071b007f7c2c7f035636001f79a62..3c6a075b43bbc2a9b32def3f233b7289257382bb 100644 (file)
@@ -61,17 +61,18 @@ do_malloc_test attachmalloc-2 -tclprep {
   ATTACH 'test2.db' AS db1;
 }
 
-set enable_shared_cache [sqlite3_enable_shared_cache 1]
-sqlite3 dbaux test3.db
-dbaux eval {SELECT * FROM sqlite_master}
-do_malloc_test attachmalloc-3 -sqlbody {
-  SELECT * FROM sqlite_master;
-  ATTACH 'test3.db' AS three;
-} -cleanup {
-  db eval { DETACH three }
+ifcapable shared_cache {
+  set enable_shared_cache [sqlite3_enable_shared_cache 1]
+  sqlite3 dbaux test3.db
+  dbaux eval {SELECT * FROM sqlite_master}
+  do_malloc_test attachmalloc-3 -sqlbody {
+    SELECT * FROM sqlite_master;
+    ATTACH 'test3.db' AS three;
+  } -cleanup {
+    db eval { DETACH three }
+  }
+  dbaux close
+  sqlite3_enable_shared_cache $enable_shared_cache
 }
-dbaux close
-sqlite3_enable_shared_cache $enable_shared_cache
-
 
 finish_test
index 92a3df78d269c8de03e886022515264f3f899337..b1fb47989cad5b9fc70af1208422dc3b4ccd1eaa 100644 (file)
@@ -358,6 +358,7 @@ foreach {tn uri error} "
   do_test 10.$tn { open_uri_error $uri } $error
 }
 
+ifcapable shared_cache {
 # EVIDENCE-OF: R-23027-03515 Setting it to "shared" is equivalent to
 # setting the SQLITE_OPEN_SHAREDCACHE bit in the flags argument passed
 # to sqlite3_open_v2().
@@ -430,6 +431,7 @@ foreach {tn uri flags shared_default isshared} {
   db close
 }
 sqlite3_enable_shared_cache $orig
+}  ;#  End ifcapable shared_chache
 
 # EVIDENCE-OF: R-63472-46769 Specifying an unknown parameter in the
 # query component of a URI is not an error.
index 7ede2b716f427d83ecaf5d2dac84f6347f9ff16d..c9d39cbf3a756ec1cb734204a4985966cb1279aa 100644 (file)
@@ -13,7 +13,6 @@
 # The focus of this file is testing of the proper handling of conversions
 # to the native text representation.
 #
-# $Id: enc3.test,v 1.8 2008/01/22 01:48:09 drh Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
index 038e460d0e1c05e412c47cd66c2c481d6f1ff79d..12328c23df6b1bb96e96c5c15b5b18a5330d1474 100644 (file)
@@ -16,7 +16,7 @@ source $testdir/tester.tcl
 source $testdir/fts3_common.tcl
 set ::testprefix fts4merge4
 
-ifcapable !fts3 {
+ifcapable !fts3||!shared_cache {
   finish_test
   return
 }
index 1982a593e34dbc8a85741aa3324229ab32d2f56f..5bb46c26861012a4669bc9f7d807c5a5d6c059bf 100644 (file)
@@ -19,7 +19,7 @@ source $testdir/tester.tcl
 source $testdir/lock_common.tcl
 set testprefix shared9
 
-ifcapable !view||!trigger {
+ifcapable !view||!trigger||!shared_cache {
   finish_test
   return
 }
index 55ed5749bb1c68f968d3dc155110a3389e289f10..ef57c89cdfd6ed924f5b54e7b182dbb18d8df944 100644 (file)
@@ -19,6 +19,11 @@ if {[run_thread_tests]==0} { finish_test ; return }
 db close
 set ::testprefix sharedA
 
+ifcapable !shared_cache {
+  finish_test
+  return
+}
+
 if {[atomic_batch_write test.db]} {
   finish_test
   return
index 1b157550762f17543522d121ddecf48a0208c41d..2a7e49cd91c47dab71f5e94bfc99eee065c55e42 100644 (file)
@@ -24,6 +24,11 @@ if {[run_thread_tests]==0} { finish_test ; return }
 db close
 set ::testprefix sharedB
 
+ifcapable !shared_cache {
+  finish_test
+  return
+}
+
 set ::enable_shared_cache [sqlite3_enable_shared_cache 1]
 
 #-------------------------------------------------------------------------
index 7f21fb0738964f86d580e22d4fb91b4faa628673..1390f0d991532b914f123239f32aad4a5aff2f61 100644 (file)
@@ -15,6 +15,7 @@ set testdir [file dirname $argv0]
 
 source $testdir/tester.tcl
 if {[run_thread_tests]==0} { finish_test ; return }
+ifcapable !shared_cache { finish_test ; return }
 
 set ::enable_shared_cache [sqlite3_enable_shared_cache]
 
index b39c9ae7cd2617705298df8c02420957bf419675..3e9439e213da131993cb5255c96fc610fde1c8b9 100644 (file)
@@ -19,7 +19,7 @@ set testdir [file dirname $argv0]
 set do_not_use_codec 1
 source $testdir/tester.tcl
 if {[run_thread_tests]==0} { finish_test ; return }
-
+ifcapable !shared_cache { finish_test ; return }
 
 db close
 set ::enable_shared_cache [sqlite3_enable_shared_cache 1]
index f6d3d5b95a51d0c635577838020c678366cbdfbf..d21da31917e81e4ed60a503d5367df7ce27bc99c 100644 (file)
@@ -16,6 +16,7 @@
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
+ifcapable !shared_cache { finish_test ; return }
 
 # Open two database connections to the same database file in
 # shared cache mode.  Create update hooks that will fire on
index 0931a25e51afe045bae4ce1d72186d9fd4c4932b..2b388c40073aac10cdcce4336ebbc265a667663c 100644 (file)
@@ -194,6 +194,7 @@ foreach {tn mode create_ok write_ok readonly_ok} {
   } $A($readonly_ok)
 }
 
+ifcapable shared_cache {
 set orig [sqlite3_enable_shared_cache]
 foreach {tn options sc_default is_shared} {
   1    ""                1   1
@@ -223,6 +224,7 @@ foreach {tn options sc_default is_shared} {
 
   db2 close
 }
+} ;# end ifcapable shared_cache
 
 do_test 4.3.1 {
   list [catch {sqlite3 db "file:test.db?mode=rc"} msg] $msg
index fbbdeb4de37a05bb6dd4eaec21ffe68cee98ea14..ccac9484c6f389db1b89f38802b3c62abb480817 100644 (file)
@@ -16,7 +16,7 @@
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
 
-ifcapable !wal {finish_test ; return }
+ifcapable !wal||!shared_cache {finish_test ; return }
 
 db close
 set ::enable_shared_cache [sqlite3_enable_shared_cache 1]