]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge the readonly-ignore-wal-jrnl feature into a sub-branch of reuse-schema.
authordrh <>
Wed, 30 Oct 2024 14:24:15 +0000 (14:24 +0000)
committerdrh <>
Wed, 30 Oct 2024 14:24:15 +0000 (14:24 +0000)
FossilOrigin-Name: 67087fe433ff1d1bdae913becd908658cc03d61556c408091b640d0161a5edca

16 files changed:
1  2 
Makefile.msc
main.mk
manifest
manifest.uuid
src/attach.c
src/build.c
src/main.c
src/pragma.c
src/shell.c.in
src/sqlite.h.in
src/sqliteInt.h
src/tclsqlite.c
src/test_config.c
src/test_tclsh.c
test/testrunner.tcl
test/testrunner_data.tcl

diff --cc Makefile.msc
Simple merge
diff --cc main.mk
Simple merge
diff --cc manifest
index 60cee5511d51c1798c3420621106f3d32f5d355d,b1009e6fad6a9f453578dc6ac497c525ea2bc3da..9f26d1b26637c54b9777d67f78e768bdee1296b6
+++ b/manifest
@@@ -1,11 -1,11 +1,11 @@@
- C Merge\sthe\slatest\strunk\senhancements\sinto\sthe\sreuse-schema\sbranch.
- D 2024-10-25T20:21:57.974
 -C Require\sthe\sSQLITE_ENABLE_READONLY_WALJOURNAL\spre-processor\smacro\sto\sactivate\sthe\snew\sfeature\son\sthis\sbranch.
 -D 2024-10-30T13:47:08.825
++C Merge\sthe\sreadonly-ignore-wal-jrnl\sfeature\sinto\sa\ssub-branch\sof\sreuse-schema.
++D 2024-10-30T14:24:15.852
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
- F LICENSE.md b6e6c1baf38e4339bd3f1e0e5e5bfd0a9a93d133360691b2785c2d4b2f2dcec2
- F Makefile.in 5a95c68b70be1448a6f226c09c1df5e338cc496e70987173fcfdca9ad94cb5a4
- F Makefile.linux-generic 8df0e6ee5e4671f844caf27f88d2be7421e904639f7a0ffdce0e2cd4ea11e8c0 w Makefile.linux-gcc
- F Makefile.msc d9deac6e98e27a29ceb2b22e5cc069e90039fb5128ade945e100422f1d07a2ff
+ F LICENSE.md c5b4009dca54d127d2d6033c22fd9cc34f53bedb6ef12c7cbaa468381c74ab28
+ F Makefile.in c938c6f4febb0c5d63870bf9f6f8c43e5b20f3e1cfc889460d340add94d40db3
+ F Makefile.linux-generic bd3e3cacd369821a6241d4ea1967395c962dfe3057e38cb0a435cee0e8b789d0
 -F Makefile.msc a92237976eb92c5efaa0dd2524746aec12c196e12df8d4dbff9543a4648c3312
++F Makefile.msc 382cbcfd8470f07eb722a5ed3d82e4a4b7292f23c2e09a52b65b23d38231d969
  F README.md c3c0f19532ce28f6297a71870f3c7b424729f0e6d9ab889616d3587dd2332159
  F VERSION 8dc0c3df15fd5ff0622f88fc483533fce990b1cbb2f5fb9fdfb4dbd71eef2889
  F art/icon-243x273.gif 9750b734f82fdb3dc43127753d5e6fbf3b62c9f4e136c2fbf573b2f57ea87af5
@@@ -47,9 -47,9 +47,9 @@@ F autosetup/cc-lib.tcl 493c5935b5dd3bf9
  F autosetup/cc-shared.tcl 4f024e94a47f427ba61de1739f6381ef0080210f9fae89112d5c1de1e5460d78
  F autosetup/cc.tcl 7e2fe943ae9d45cf39e9f5b05b6230df8e719415edea5af06c30eb68680bde14
  F autosetup/default.auto 5cdf016de2140e50f1db190a02039dc42fb390af1dda4cc4853e3042a9ef0e82
- F autosetup/hwaci-common.tcl 97b55f68dd190e624340ced9c2de16286edad9db95fede4a184af4249561b4bb
  F autosetup/jimsh0.c 27ea5f221359ef6c58780fc6c185aadbf8d3bee9a021331a3e5de0eba0dc6de6
  F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba
 -F autosetup/proj.tcl fa96b17f000042f467239f2ef3e7a33d4787bc0fb5db4e69bd5bf1e55bb380f4
++F autosetup/proj.tcl fa96b17f000042f467239f2ef3e7a33d4787bc0fb5db4e69bd5bf1e55bb380f4 w autosetup/hwaci-common.tcl
  F autosetup/system.tcl 3a39d6e0b3bfba526fd39afe07c1d0d325e5a31925013a1ba7c671e1128e31bb
  F autosetup/tmake.auto eaebc74ad538dfdd3c817c27eefc31930c20510c4f3a3704071f6cb0629ed71f
  F autosetup/tmake.tcl a275793ec1b6f8708179af0acef1f6f10d46c2920739743f7a8720c6d700c7a9
@@@ -620,10 -614,7 +615,7 @@@ F ext/session/sessionwor.test 6fd9a2256
  F ext/session/sqlite3session.c 3d0a7f0f7a1c946e01818c716a55a40ae30542a29a9045cb05daf7fb658cdafa
  F ext/session/sqlite3session.h 683ccbf16e2c2521661fc4c1cf918ce57002039efbcabcd8097fa4bca569104b
  F ext/session/test_session.c aa29abdcc9011ac02f4fa38e8ede226106eaeee7c3ea7d8b2b999a124e0c368c
- F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3
- F ext/userauth/user-auth.txt ca7e9ee82ca4e1c1744295f8184dd70edfae1992865d26c64303f539eb6c084c
- F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb
 -F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
 +F ext/wasm/EXPORTED_FUNCTIONS.fiddle 7fb73f7150ab79d83bb45a67d257553c905c78cd3d693101699243f36c5ae6c3
  F ext/wasm/GNUmakefile 311aa0d5edc7006409962cc77cc26560d92f9be69c2c4302e8bbc68189fd02db
  F ext/wasm/README-dist.txt 6382cb9548076fca472fb3330bbdba3a55c1ea0b180ff9253f084f07ff383576
  F ext/wasm/README.md a8a2962c3aebdf8d2104a9102e336c5554e78fc6072746e5daf9c61514e7d193
@@@ -705,35 -696,32 +697,32 @@@ F ext/wasm/tests/opfs/concurrency/index
  F ext/wasm/tests/opfs/concurrency/test.js d08889a5bb6e61937d0b8cbb78c9efbefbf65ad09f510589c779b7cc6a803a88
  F ext/wasm/tests/opfs/concurrency/worker.js 0a8c1a3e6ebb38aabbee24f122693f1fb29d599948915c76906681bb7da1d3d2
  F ext/wasm/wasmfs.make bc8bb227f35d5bd3863a7bd2233437c37472a0d81585979f058f9b9b503bef35
- F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
- F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
  F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0
- F main.mk d28aa7355723a24e94c83b9d584db9ed1bc348ff6eb6bc5a42c92917b7d46fb9
 -F main.mk 7795769763a5c6b12f76404b03ae568b8d3a0029d854d9b3c1355704c58c8f7a
++F main.mk 9622a287c30ed269c0443fd3ccbf42ee9122ddea0113b792862ce61ca58329c7
  F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
  F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
  F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421
  F mptest/crash02.subtest f4ef05adcd15d60e5d2bd654204f2c008b519df8
  F mptest/mptest.c aa41ace6dbc5050d76b02548d3521e6bbccae4f0
  F mptest/multiwrite01.test dab5c5f8f9534971efce679152c5146da265222d
- F spec.template 86a4a43b99ebb3e75e6b9a735d5fd293a24e90ca
  F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
  F sqlite3.1 acdff36db796e2d00225b911d3047d580cd136547298435426ce9d40347973cc
- F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
+ F sqlite3.pc.in 2d5c88643679fc199dafc9afb6ea8868ea3192d941c2e57dbe06395149d892ba
  F sqlite_cfg.h.in be1d075cf77134d53fdf5cc2c0919842e7e02a648c66a56e735af25ccdcaff91
 -F src/alter.c aa93e37e4a36a0525bbb2a2aeda20d2018f0aa995542c7dc658e031375e3f532
 -F src/analyze.c 9a8b67239d899ac12289db5db3f5bfe7f7a0ad1277f80f87ead1d048085876eb
 -F src/attach.c f35bb8cc1fcdde8f6815a7ef09ae413bcac71821d530796800ba24b3c7da1e80
 +F src/alter.c 2da1deedaeb736237b8a73a59e06428df0bda1a763520ecd9e76eb2824b2ce46
 +F src/analyze.c d898233cbff9da0b22b0eba75c78527a71a95e00361a7a49efc338b28e1d20c2
- F src/attach.c 1f985e4fe445ece2feb4a18bd612f9d8a9c3fe420d27b8533ef80032c8cd0ead
- F src/auth.c 4c1ea890e0069ad73bead5d17a5b12c34cfa4f1a24175c8147ea439b64be271c
++F src/attach.c da15336ec4d0f4a246815bd092b4b6c78e4e9c57faf9865e310c567f42dde1d0
+ F src/auth.c 54ab9c6c5803b47c0d45b76ce27eff22a03b4b1f767c5945a3a4eb13aa4c78dc
  F src/backup.c 5c97e8023aab1ce14a42387eb3ae00ba5a0644569e3476f38661fa6f824c3523
  F src/bitvec.c 9eac5f42c11914d5ef00a75605bb205e934f435c579687f985f1f8b0995c8645
  F src/btmutex.c 79a43670447eacc651519a429f6ece9fd638563cf95b469d6891185ddae2b522
  F src/btree.c 63ca6b647342e8cef643863cd0962a542f133e1069460725ba4461dcda92b03c
  F src/btree.h 18e5e7b2124c23426a283523e5f31a4bff029131b795bb82391f9d2f3136fc50
  F src/btreeInt.h 98aadb6dcb77b012cab2574d6a728fad56b337fc946839b9898c4b4c969e30b6
- F src/build.c 648138031b04e573fd9ad6781f0adb0fcd6b6c7d849611918c280f696d7dfab5
 -F src/build.c c6b09342d870a509529244ed8e19b4175a261f2e3163c199241d69e1d8a57607
 -F src/callback.c db3a45e376deff6a16c0058163fe0ae2b73a2945f3f408ca32cf74960b28d490
++F src/build.c f6c56d42ffed89876230da0694963ce3ab34d6b3f05da83dd2e774761755612a
 +F src/callback.c fbd4e8247f1a7f37aec721bde0e312e79cc3bfa41f55a59930bc876ca6baf455
  F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
- F src/ctime.c b224d3db0f28c4a5f1407c50107a0a8133bd244ff3c7f6f8cedeb896a8cf1b64
+ F src/ctime.c d35723024b963edce9c0fad5b3303e8bb9266083784844baed10a6dedfe26f3b
  F src/date.c 89ce1ff20512a7fa5070ba6e7dd5c171148ca7d580955795bf97c79c2456144a
  F src/dbpage.c db1be8adaf1f839ad733c08baeac5c22aa912f7b535865c0c061382602081360
  F src/dbstat.c 73362c0df0f40ad5523a6f5501224959d0976757b511299bf892313e79d14f5c
@@@ -751,7 -739,7 +740,7 @@@ F src/insert.c f8d1a0f8ee258411009c6b7f
  F src/json.c 68a98c020c22127f2d65f08855f7fc7460ff352a6ce0b543d8931dde83319c22
  F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
  F src/loadext.c 7432c944ff197046d67a1207790a1b13eec4548c85a9457eb0896bb3641dfb36
- F src/main.c a87eca9472a7f6aa8899e4fdf2b1aa68ea2075b33fd8aa55b0f23192dfa6e14f
 -F src/main.c f6daba376adac080fe9287c6746fb15e12c7e47d022f2e9f2986ed364b7e0329
++F src/main.c cd6faca7df7c23f5228bd61bef521704b6acf3fbba7dc742ae432de6d4d7e9ab
  F src/malloc.c 410e570b30c26cc36e3372577df50f7a96ee3eed5b2b161c6b6b48773c650c5e
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c 3bb59158c38e05f6270e761a9f435bf19827a264c13d1631c58b84bdc96d73b2
@@@ -773,33 -761,33 +762,33 @@@ F src/os_common.h 6c0eb8dd40ef3e12fe585
  F src/os_kv.c 4d39e1f1c180b11162c6dc4aa8ad34053873a639bac6baae23272fc03349986a
  F src/os_setup.h 6011ad7af5db4e05155f385eb3a9b4470688de6f65d6166b8956e58a3d872107
  F src/os_unix.c 0ad4e0885294b3a0e135a18533590ec9ad91ffe82f6a08e55b40babd51772928
 -F src/os_win.c 69fa1aaff68270423c85cff4327ba17ef99a1eb017e1a2bfb97416d9b8398b05
 +F src/os_win.c 970c80992fda8bc026154fc87879609f00c37472004f3a06626521b3868d694e
  F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
- F src/pager.c 9656ad4e8331efb8a4f94f7a0c6440b98caea073950a367ea0c728a53b8e62c9
+ F src/pager.c 9aae5bb8a2bcd5a6347cc2548e7df428a0108b6c52834876ebe12900e5158c47
  F src/pager.h 4b1140d691860de0be1347474c51fee07d5420bd7f802d38cbab8ea4ab9f538a
  F src/parse.y a7a8d42eeff01d267444ddb476029b0b1726fb70ae3d77984140f17ad02e2d61
  F src/pcache.c 588cc3c5ccaaadde689ed35ce5c5c891a1f7b1f4d1f56f6cf0143b74d8ee6484
  F src/pcache.h 1497ce1b823cf00094bb0cf3bac37b345937e6f910890c626b16512316d3abf5
  F src/pcache1.c 49516ad7718a3626f28f710fa7448ef1fce3c07fd169acbb4817341950264319
- F src/pragma.c 71993e99ce76cb51ffbb2ec531bcb3cca4a1437abab5b0f4e6c1e7f1d48535d9
 -F src/pragma.c a2ec3657a953fa7dea7c1e680e4358b6ce6ae570b6c5234e0f5ef219d308d223
 -F src/pragma.h e690a356c18e98414d2e870ea791c1be1545a714ba623719deb63f7f226d8bb7
 -F src/prepare.c 3ba0ad907b7773ed642f66cea8a2c9c8edc18841aa1050b6218dbb3479e86225
++F src/pragma.c 82fc31a123da36fdd8966fcb83d43185fd9f0c29de7d5f380770b2feff9ce582
 +F src/pragma.h 50f6d3b408ed56bde4f4e4aead8c0b2022030b692e8de237c1b7a0b5ce87a0c8
 +F src/prepare.c 2b6fdbfb4b859aa1b40777019e2f9759dc62c5283cd73f853a06c97acd722804
  F src/printf.c 6a87534ebfb9e5346011191b1f3a7ebc457f5938c7e4feeea478ecf53f6a41b2
  F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
  F src/resolve.c c8a5372b97b2a2e972a280676f06ddb5b74e885d3b1f5ce383f839907b57ef68
  F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
  F src/select.c 4b14337a2742f0c0beeba490e9a05507e9b4b12184b9cd12773501d08d48e3fe
- F src/shell.c.in 081736dcf4377c08737bc7bbc321fbd41e2eb9545fa2fcd3be46d87c744f1597
- F src/sqlite.h.in de975ddb182d7d2fab1ecb98da8fcd7b4c18bc9291237f843915a40d4f501789
 -F src/shell.c.in b6b7944fc076c2fd29d38edb61e3da978e838e3f79e1cf2c96a1342c423b3892
 -F src/sqlite.h.in 599203aa6cf3a662f879e7581f4b7f2678738c0b7c71ddda3c0cb5c59867c399
++F src/shell.c.in a7351eea9758d4111aea4c9d83c3c62fe9159b64f0463e4d3abb19f45653f959
++F src/sqlite.h.in c61995509640a2fd40970e28394425bdfa42f2f4b046bd96bb93d7c128ea2cb8
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
  F src/sqlite3ext.h 3f046c04ea3595d6bfda99b781926b17e672fd6d27da2ba6d8d8fc39981dcb54
- F src/sqliteInt.h a2152d7befeb8115eb3807e769f4fbf03f009f689513e07c1f96586c9e75e6d1
 -F src/sqliteInt.h 77be043f8694f4a8702d0ee882022b2e5a6489a0493e77c5d9a73f1efc5a2cc1
++F src/sqliteInt.h 94d55fd7272cf1a553db7dc953e4190cb98065a38d82f0a9c2488592c6cc6f52
  F src/sqliteLimit.h 6878ab64bdeb8c24a1d762d45635e34b96da21132179023338c93f820eee6728
 -F src/status.c cb11f8589a6912af2da3bb1ec509a94dd8ef27df4d4c1a97e0bcf2309ece972b
 +F src/status.c 5028a0afee355aa492f26f0b6a3ec23145caa9261a93164d96cd0b9bf1b2318f
  F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
- F src/tclsqlite.c 12c9eaef230df8501e616f562be02b489b0a568e1a7328f5144c0898a7467d22
- F src/tclsqlite.h 529047feec49e7f463374749147f64d3f17505b0ebd84b3477a364c6f46a9de1
- F src/test1.c 370668f1832dc7bc2ab0212d807d880b6cdb0d5949550489593ce0cdb4a61012
 -F src/tclsqlite.c ff2dc3ec1bd318ee7a45d6b246a367703d5fb2a4c8da99d675ee7eb987b3a153
++F src/tclsqlite.c a068917be2fce183452295ba6fc291bb6f832c64804d5ffd5fd2f9485b28df8a
+ F src/tclsqlite.h 65e2c761446e1c9fa0342b7d2612a703483643c8b6a316d12a65b745a4727395
+ F src/test1.c 9df74d1d8c0513b0f906942d004b7d7aff5c6f47320a921a0b890748bac0e34d
  F src/test2.c 7ebc518e6735939d8979273a6f7b1d9b5702babf059f6ad62499f7f60a9eb9a3
  F src/test3.c e7573aa0f78ee4e070a4bc8c3493941c1aa64d5c66d4825c74c0f055451f432b
  F src/test4.c 13e57ae7ec7a959ee180970aef09deed141252fe9bb07c61054f0dfa4f1dfd5d
@@@ -813,7 -800,7 +801,7 @@@ F src/test_backup.c bd901e3c116c7f3b3bb
  F src/test_bestindex.c 3401bee51665cbf7f9ed2552b5795452a8b86365e4c9ece745b54155a55670c6
  F src/test_blob.c bcdf6a6c22d0bcc13c41479d63692ef413add2a4d30e1e26b9f74ab85b9fb4d5
  F src/test_btree.c 28283787d32b8fa953eb77412ad0de2c9895260e4e5bd5a94b3c7411664f90d5
- F src/test_config.c 828e696c55314e35510a801d21f3890c5b368163757edc2a066db61adeefcdd2
 -F src/test_config.c 83f1d7d66cbbd3a76ff4ae238569d7c4654e99177b976e5a895ab50ff2ed7a8a
++F src/test_config.c 72ec68c4b8c4d1f06e48f2078a2a25e13c1b092cafaae73788950c0ddf237e2c
  F src/test_delete.c e2fe07646dff6300b48d49b2fee2fe192ed389e834dd635e3b3bac0ce0bf9f8f
  F src/test_demovfs.c 3efa2adf4f21e10d95521721687d5ca047aea91fa62dd8cc22ac9e5a9c942383
  F src/test_devsym.c 649434ed34d0b03fbd5a6b42df80f0f9a7e53f94dd1710aad5dd8831e91c4e86
@@@ -841,7 -827,7 +829,7 @@@ F src/test_schemapool.c fc6c14f7a20fcf4
  F src/test_sqllog.c 540feaea7280cd5f926168aee9deb1065ae136d0bbbe7361e2ef3541783e187a
  F src/test_superlock.c 18355ca274746aa6909e3744163e5deb1196a85d5bc64b9cd377273cef626da7
  F src/test_syscall.c 9ad7ab39910c16d29411678d91b0d27a7a996a718df5ee93dcd635e846d0275c
- F src/test_tclsh.c 3799a1f527224b3ae71c75460f0421a0ce076b3f356b11deae9a68fafbf0f533
 -F src/test_tclsh.c c01706ac60bd3176754d3ccd37da74c6ad97c2e14489f8ed71b497c1c0ac0dd4
++F src/test_tclsh.c b2f529c87674301eb7ce168c6dd2d0a9030a0c75a0d88d85bcb0677195114249
  F src/test_tclvar.c ae873248a0188459b1c16ca7cc431265dacce524399e8b46725c2b3b7e048424
  F src/test_thread.c d7a8bcea7445f37cc2a1f7f81dd6059634f45e0c61bfe80182b02872fb0328bb
  F src/test_vdbecov.c 5c426d9cd2b351f5f9ceb30cabf8c64a63bfcad644c507e0bd9ce2f6ae1a3bf3
@@@ -1744,9 -1720,9 +1729,9 @@@ F test/temptable.test d2c9b87a54147161b
  F test/temptable2.test 76821347810ecc88203e6ef0dd6897b6036ac788e9dd3e6b04fd4d1631311a16
  F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
  F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc
 -F test/tester.tcl 7b44f1a9b9a2de8112695b908afc21dd9a68cd2d44e84b73f1b27b53492c0d59
 -F test/testrunner.tcl 4e764b0da245add9670d1010a69a3ac5474a5dfe15e1d3183294c23cca43ef13 x
 -F test/testrunner_data.tcl ba4aeea28aa03cfa6fe7e57782ddecb7a7b91c3a0b3251583cb4f0ee002de6a6
 +F test/tester.tcl 14284e98554d0a27c3982dcf4b7c4b88cf025ae8e238dd7e2683071c51c371fd
- F test/testrunner.tcl e570e9899be8b04a132ec09bf2e0833c6deaa635a20198b6d807a326ecf85920 x
- F test/testrunner_data.tcl cc042d8fdf059ccfe51b0c863779f5fbb03ef1c14632752193cc37676a923853
++F test/testrunner.tcl 6a63b99f001d30a18a2a28bcb9239001cf1c7ff89e96fe1f1895f9e0d10e22cd x
++F test/testrunner_data.tcl a1f30ea7d7ec017f50ebae0c305aa6833b44c364d02705d328ecc649212076e9
  F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899
  F test/thread002.test c24c83408e35ba5a952a3638b7ac03ccdf1ce4409289c54a050ac4c5f1de7502
  F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
@@@ -2226,29 -2200,8 +2210,11 @@@ F tool/version-info.c 3b36468a90faf1bbd
  F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
  F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
  F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
- F vsixtest/App.xaml b76d3b48860e7454775c47ea38ffea9c4abe3e85
- F vsixtest/App.xaml.cpp 41158ee43269820136fa3bba00c0bd91b26cc38b650ee392aec2a8d823e54318
- F vsixtest/App.xaml.h 4a9768e2983d05600ad1e1c2f1b00a132967da9f
- F vsixtest/Assets/LockScreenLogo.scale-200.png e820c9a3deb909197081b0bf3216c06e13905f0a
- F vsixtest/Assets/SplashScreen.scale-200.png cab70988ca71bebec7bfeb3b6dbafe17b9ab0b4a
- F vsixtest/Assets/Square150x150Logo.scale-200.png e17b40817db7a239fc239d83efcc951fb824e3ff
- F vsixtest/Assets/Square44x44Logo.scale-200.png 2f166237094dea94d952d10b9eeae81806844f1c
- F vsixtest/Assets/Square44x44Logo.targetsize-24_altform-unplated.png 5f6a6d391b95a3061ccca6e6fdd6955ede63b4ed
- F vsixtest/Assets/StoreLogo.png 0828b7257db74a4ecd5eeb6b7b4971f0fdc4d9d1
- F vsixtest/Assets/Wide310x150Logo.scale-200.png 04ddefe5bc5f43ae12a7433f6f236ddab101ac42
- F vsixtest/MainPage.xaml 34f49897e3ca533a7e74506ba0759b66eebce151
- F vsixtest/MainPage.xaml.cpp 7f31fc6de751b64676c0924c97a5485d950a91d7
- F vsixtest/MainPage.xaml.h cc05cca10d50a003f6c6e4448b701cdd07f52f29
- F vsixtest/Package.appxmanifest 6b6db1eb7df3a315c5d681059754d5f0e0c47a93
- F vsixtest/pch.cpp cb823cfac36f1a39a7eb0acbd7e9a0b0de8f23af
- F vsixtest/pch.h 9cab7980f2ac4baa40807d8b5e52af32a21cf78c
- F vsixtest/vsixtest.sln 77cadbe4e96c1fe1bf51cd77de9e9b0a12ada547
- F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080bb302912
- F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
- F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
- F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P d49d28279539e8c82e401e35fa0b687c9b84c45a4f7ab2fa8d60cb20146c8f77 c4da7fa279274e5a6fe214b5c22f17bcf9b40299aeeab5bfbdae2ba0b2de6af0
- R dffee085c2773d37ad76cd25ffb032ca
 -P 403e01b03c31349425fa2831285b5e8e2665d5779548b4ce581cbd781c4c61d9
 -R 71b15b831df2ffd1de74e20e698836da
 -U dan
 -Z e413f4c8a6f0450a7402fd29f4aa9d38
++P 12fc5fd5e0ec539faf6d0965096e20c2eea1c0cf5fe9704f8f1479a37b10a333 21ed4e78863f2622d756d2f5e0e951f3c4a992913cd1e459b2366cb5bab0153c
++R 395a6787fc56e8a5aa03c2e2f8cded7d
++T *branch * reuse-schema-ro-waljrnl
++T *sym-reuse-schema-ro-waljrnl *
++T -sym-reuse-schema *
 +U drh
- Z 955a50ee8d8622ad9013c7c7742773f6
++Z 316b4c41033ad0d30b2658f1bc4c53b1
  # Remove this line to create a well-formed Fossil manifest.
diff --cc manifest.uuid
index 1d110f8645dee6df62fcbb8789c48fcd33a431ce,f874e68e068b6ab449c6ed1667e8b77b4aa5fa83..6abb82afdefc398823aa59f755aaf146bd54b65a
@@@ -1,1 -1,1 +1,1 @@@
- 12fc5fd5e0ec539faf6d0965096e20c2eea1c0cf5fe9704f8f1479a37b10a333
 -21ed4e78863f2622d756d2f5e0e951f3c4a992913cd1e459b2366cb5bab0153c
++67087fe433ff1d1bdae913becd908658cc03d61556c408091b640d0161a5edca
diff --cc src/attach.c
index 2045d7006dd11b13c5d92cc6e26d0caf722dfa0a,9f23dce1ed3fb2b2e0ef8b47e46c3d3b3bc4dd00..f8bedcc1907271b772c542996f63733dbbb1575b
@@@ -218,24 -218,15 +218,15 @@@ static void attachFunc
    ** way we found it.
    */
    if( rc==SQLITE_OK ){
 -    sqlite3BtreeEnterAll(db);
      db->init.iDb = 0;
      db->mDbFlags &= ~(DBFLAG_SchemaKnownOk);
 -    if( !REOPEN_AS_MEMDB(db) ){
 +    if( !IsSharedSchema(db) && !REOPEN_AS_MEMDB(db) ){
 +      sqlite3BtreeEnterAll(db);
        rc = sqlite3Init(db, &zErrDyn);
 +      sqlite3BtreeLeaveAll(db);
 +      assert( zErrDyn==0 || rc!=SQLITE_OK );
      }
 -    sqlite3BtreeLeaveAll(db);
 -    assert( zErrDyn==0 || rc!=SQLITE_OK );
    }
- #ifdef SQLITE_USER_AUTHENTICATION
-   if( rc==SQLITE_OK && !REOPEN_AS_MEMDB(db) ){
-     u8 newAuth = 0;
-     rc = sqlite3UserAuthCheckLogin(db, zName, &newAuth);
-     if( newAuth<db->auth.authLevel ){
-       rc = SQLITE_AUTH_USER;
-     }
-   }
- #endif
    if( rc ){
      if( ALWAYS(!REOPEN_AS_MEMDB(db)) ){
        int iDb = db->nDb - 1;
diff --cc src/build.c
index 3a3a329395ebd96efd6302234cc95de8e60b78b3,a5deb54fc6d4d6216d4765b77d5d0b29fd0c85df..c04d804625c238be34021efac1cae7365d37e798
@@@ -328,49 -317,6 +317,39 @@@ void sqlite3NestedParse(Parse *pParse, 
    pParse->nested--;
  }
  
- #if SQLITE_USER_AUTHENTICATION
- /*
- ** Return TRUE if zTable is the name of the system table that stores the
- ** list of users and their access credentials.
- */
- int sqlite3UserAuthTable(const char *zTable){
-   return sqlite3_stricmp(zTable, "sqlite_user")==0;
- }
- #endif
 +#ifdef SQLITE_ENABLE_SHARED_SCHEMA
 +/*
 +** If this database connection was opened with the SQLITE_OPEN_SHARED_SCHEMA
 +** flag specified, then ensure that the database schema for database iDb
 +** is loaded. Either by obtaining a Schema object from the schema-pool, or
 +** by reading the contents of the sqlite_master table. Unless it is NULL, 
 +** the location indicated by parameter pbUnload is set to 1 if a shared-schema 
 +** is loaded.
 +**
 +** If the database handle was not opened with SQLITE_OPEN_SHARED_SCHEMA, or
 +** if the schema for database iDb is already loaded, this function is a no-op.
 +**
 +** SQLITE_OK is returned if successful, or an SQLite error code otherwise. If
 +** an error code is returned, (*pzErr) may be set to point to a buffer
 +** containing an error message. It is the responsibility of the caller to
 +** eventually free this buffer using sqlite3_free().
 +*/
 +int sqlite3SchemaLoad(sqlite3 *db, int iDb, int *pbUnload, char **pzErr){
 +  int rc = SQLITE_OK;
 +  if( IsSharedSchema(db) 
 +      && DbHasProperty(db, iDb, DB_SchemaLoaded)==0 
 +      && (db->init.busy==0 || (iDb!=1 && db->init.iDb==1))
 +  ){
 +    struct sqlite3InitInfo sv = db->init;
 +    memset(&db->init, 0, sizeof(struct sqlite3InitInfo));
 +    rc = sqlite3InitOne(db, iDb, pzErr, 0);
 +    db->init = sv;
 +    if( pbUnload && rc==SQLITE_OK && iDb!=1 ) *pbUnload = 1;
 +  }
 +  return rc;
 +}
 +#endif
 +
  /*
  ** Locate the in-memory structure that describes a particular database
  ** table given the name of that table and (optionally) the name of the
@@@ -389,30 -335,33 +368,23 @@@ Table *sqlite3FindTable(sqlite3 *db, co
  
    /* All mutexes are required for schema access.  Make sure we hold them. */
    assert( zDatabase!=0 || sqlite3BtreeHoldsAllMutexes(db) );
- #if SQLITE_USER_AUTHENTICATION
-   /* Only the admin user is allowed to know that the sqlite_user table
-   ** exists */
-   if( db->auth.authLevel<UAUTH_Admin && sqlite3UserAuthTable(zName)!=0 ){
-     return 0;
-   }
- #endif
 -  if( zDatabase ){
 -    for(i=0; i<db->nDb; i++){
 -      if( sqlite3StrICmp(zDatabase, db->aDb[i].zDbSName)==0 ) break;
 -    }
 -    if( i>=db->nDb ){
 -      /* No match against the official names.  But always match "main"
 -      ** to schema 0 as a legacy fallback. */
 -      if( sqlite3StrICmp(zDatabase,"main")==0 ){
 -        i = 0;
 -      }else{
 -        return 0;
 -      }
 -    }
 -    p = sqlite3HashFind(&db->aDb[i].pSchema->tblHash, zName);
 -    if( p==0 && sqlite3StrNICmp(zName, "sqlite_", 7)==0 ){
 -      if( i==1 ){
 -        if( sqlite3StrICmp(zName+7, &PREFERRED_TEMP_SCHEMA_TABLE[7])==0
 -         || sqlite3StrICmp(zName+7, &PREFERRED_SCHEMA_TABLE[7])==0
 -         || sqlite3StrICmp(zName+7, &LEGACY_SCHEMA_TABLE[7])==0
 -        ){
 -          p = sqlite3HashFind(&db->aDb[1].pSchema->tblHash,
 -                              LEGACY_TEMP_SCHEMA_TABLE);
 +  while(1){
 +    for(i=OMIT_TEMPDB; i<db->nDb; i++){
 +      int j = (i<2) ? i^1 : i;   /* Search TEMP before MAIN */
 +      if( zDatabase==0 || sqlite3DbIsNamed(db, j, zDatabase) ){
 +        int bUnload = 0;
 +        assert( sqlite3SchemaMutexHeld(db, j, 0) );
 +        if( IsSharedSchema(db) ){
 +          Parse *pParse = db->pParse;
 +          if( pParse && pParse->nErr==0 ){
 +            pParse->rc = sqlite3SchemaLoad(db, j, &bUnload, &pParse->zErrMsg);
 +            if( pParse->rc ) pParse->nErr++;
 +          }
          }
 -      }else{
 -        if( sqlite3StrICmp(zName+7, &PREFERRED_SCHEMA_TABLE[7])==0 ){
 -          p = sqlite3HashFind(&db->aDb[i].pSchema->tblHash,
 -                              LEGACY_SCHEMA_TABLE);
 +        p = sqlite3HashFind(&db->aDb[j].pSchema->tblHash, zName);
 +        if( p ) return p;
 +        if( bUnload ){
 +          sqlite3SchemaRelease(db, j);
          }
        }
      }
diff --cc src/main.c
Simple merge
diff --cc src/pragma.c
Simple merge
diff --cc src/shell.c.in
Simple merge
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/sqliteInt.h
index 56e492db51b7cdb606b5c283dcaceaa62aecb05c,dbdf36200db54c01ecf12a8a87e490855ce42cf1..22b18ef29c853f8e386d1630658fcfe47f1891d2
@@@ -1811,17 -1767,8 +1775,14 @@@ struct sqlite3 
    void (*xUnlockNotify)(void **, int);  /* Unlock notify callback */
    sqlite3 *pNextBlocked;        /* Next in list of all blocked connections */
  #endif
- #ifdef SQLITE_USER_AUTHENTICATION
-   sqlite3_userauth auth;        /* User authentication information */
- #endif
  };
  
 +#ifdef SQLITE_ENABLE_SHARED_SCHEMA
 +# define IsSharedSchema(db) (((db)->openFlags & SQLITE_OPEN_SHARED_SCHEMA)!=0)
 +#else
 +# define IsSharedSchema(db) 0
 +#endif
 +
  /*
  ** A macro to discover the encoding of a database.
  */
diff --cc src/tclsqlite.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge