From: dan Date: Thu, 12 Jan 2023 19:43:24 +0000 (+0000) Subject: Merge latest trunk changes, including fixes for RBU pass-through mode, with this... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=368e2de678ef9d91048839181e32cb593c348eaf;p=thirdparty%2Fsqlite.git Merge latest trunk changes, including fixes for RBU pass-through mode, with this branch. FossilOrigin-Name: deb26d034b9da463c0e1acd5aafa477b29fc25fdbe51995283d52715972355c9 --- 368e2de678ef9d91048839181e32cb593c348eaf diff --cc manifest index 5bc59c2a98,cdb56994ed..b2c5162597 --- a/manifest +++ b/manifest @@@ -1,11 -1,11 +1,11 @@@ - C Merge\sthe\slatest\strunk\senhancements\sinto\sthe\sreuse-schema\sbranch. - D 2022-12-21T21:01:04.714 -C Do\snot\sattempt\sto\srun\snew\stest\sfile\srbupass.test\sif\sthe\s"demo"\sVFS\sis\snot\savailable. -D 2023-01-12T19:28:34.870 ++C Merge\slatest\strunk\schanges,\sincluding\sfixes\sfor\sRBU\spass-through\smode,\swith\sthis\sbranch. ++D 2023-01-12T19:43:24.766 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 - F Makefile.in 7cc362212ac387874b3db2e2d794298365c500803654bc5e95e8c8e02f202988 -F Makefile.in 341f02570d220695100004c447773ecb6c082e24178fc45dcbc0a212abaa0655 ++F Makefile.in 26a8a393f18df079dd80b169fe967b8c9cdacf34333a273a13c7c58d303a7e1e F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241 - F Makefile.msc af280f73a6dab3cda2e75c7ee583bc6dc65bac8f13b4846c6dd23dac97b3797c -F Makefile.msc 5a13f784bd91c246673648f056e7f3193c45d53dff874eecde547ec854c292b8 ++F Makefile.msc 694aec017c7634cbf044cd8bedfd39a1dadf238f30dc9492354f006c918fce69 F README.md 8b8df9ca852aeac4864eb1e400002633ee6db84065bd01b78c33817f97d31f5e F VERSION 413ec94920a487ae32c9a2a8819544d690662d6f7c7ce025c0d0b8a1e74fa9db F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 @@@ -491,14 -491,14 +492,14 @@@ F ext/session/test_session.c 94364b91cf F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3 F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04 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 06d385b51bfb206cf779cf1bb816862f77df97fff97a6df9baf05b98c027067a + F ext/wasm/GNUmakefile ffe0e9818a3b6b36c85a1d10dab76b220a8f5cd83439c62e50223a7970b3d68a F ext/wasm/README-dist.txt 2d670b426fc7c613b90a7d2f2b05b433088fe65181abead970980f0a4a75ea20 F ext/wasm/README.md ef39861aa21632fdbca0bdd469f78f0096f6449a720f3f39642594af503030e9 -F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api d6a5078f48a5301ed17b9a30331075d9b2506e1360c1f0dee0c7816c10acd9ab +F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api c5eaceabb9e759aaae7d3101a4a3e542f96ab2c99d89a80ce20ec18c23115f33 F ext/wasm/api/EXPORTED_RUNTIME_METHODS.sqlite3-api 1ec3c73e7d66e95529c3c64ac3de2470b0e9e7fbf7a5b41261c367cf4f1b7287 F ext/wasm/api/README.md 77a2f1f2fc60a35def7455dffc8d3f2c56385d6ac5c6cecc60fa938252ea2c54 - F ext/wasm/api/extern-post-js.c-pp.js 8923f76c3d2213159e12d641dc750523ead5c848185dc4996fae5cc12397f88d w ext/wasm/api/extern-post-js.js + F ext/wasm/api/extern-post-js.c-pp.js 8923f76c3d2213159e12d641dc750523ead5c848185dc4996fae5cc12397f88d F ext/wasm/api/extern-pre-js.js cc61c09c7a24a07dbecb4c352453c3985170cec12b4e7e7e7a4d11d43c5c8f41 F ext/wasm/api/post-js-footer.js cd0a8ec768501d9bd45d325ab0442037fb0e33d1f3b4f08902f15c34720ee4a1 F ext/wasm/api/post-js-header.js 47b6b281f39ad59fa6e8b658308cd98ea292c286a68407b35ff3ed9cfd281a62 @@@ -565,7 -565,7 +566,7 @@@ F ext/wasm/wasmfs.make cf9a68162d92ca2b F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8 F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0 - F main.mk e5d529a269d387065040052eb7dfeb1702723dc11501cb7c992a1640edbbd7f9 -F main.mk ed4950f3e1d03687e6c94c0f9aa26373ddab628030480d1e298097cfe0b9a5cf ++F main.mk 4acf0f4d99723e73dadceae339ebc8cda3ab1efdbb8372fc24bdbdaf803de76c F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83 F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271 F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504 @@@ -578,23 -578,23 +579,23 @@@ F sqlite.pc.in 42b7bf0d02e08b9e77734a47 F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786 F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a F sqlite_cfg.h.in baf2e409c63d4e7a765e17769b6ff17c5a82bbd9cbf1e284fd2e4cefaff3fcf2 - F src/alter.c 23f95fd33885c27edb5ece2bec9c184d3c7e575a3de60a97c036aa9d225e06f4 -F src/alter.c 3ca2f449c890f8b86ec9e06f0c4fccf0648941c3308a16904cb2852227db83f7 -F src/analyze.c d2fce73f6a024897593012c6ca25368629fa4aeb49960d88a52fac664582e483 -F src/attach.c 4431f82f0247bf3aaf91589acafdff77d1882235c95407b36da1585c765fbbc8 ++F src/alter.c dab37a80032366d27a415d7a769aa1a7bba2358424f1f67dd910e25ffffe055f +F src/analyze.c e242f6ad429477397bbf104a5c26a5682e7a70c1114673e7d5280c5bca3fcf0a +F src/attach.c e1eb237a21422b2d637fd854e1b72609b1b589e24b4b3a5cac0e13c9ef20ee8d F src/auth.c f4fa91b6a90bbc8e0d0f738aa284551739c9543a367071f55574681e0f24f8cf F src/backup.c a2891172438e385fdbe97c11c9745676bec54f518d4447090af97189fd8e52d7 F src/bitvec.c 7c849aac407230278445cb069bebc5f89bf2ddd87c5ed9459b070a9175707b3d F src/btmutex.c 6ffb0a22c19e2f9110be0964d0731d2ef1c67b5f7fabfbaeb7b9dabc4b7740ca - F src/btree.c 2f794c217e52fdf4322bf37ee7778331b4d93aed2c00b5d67f914c0239a9edcc - F src/btree.h 49da925329574798be3cbb745a49d069a9e67c99900d8a0d04b1e934d60394ea - F src/btreeInt.h 88ad499c92b489afedbfefc3f067c4d15023ec021afe622db240dc9d2277cfa5 - F src/build.c 74432e7aeb69af29716b22bfb3887cb0d53ec39d3a62957a96592b489c658d3b + F src/btree.c 8b776a47d1e791ca78b539b8356cf32e449a613201cf64b87e7f01c62f79bd1b + F src/btree.h aa354b9bad4120af71e214666b35132712b8f2ec11869cb2315c52c81fad45cc + F src/btreeInt.h 06bb2c1a07172d5a1cd27a2a5d617b93b1e976c5873709c31964786f86365a6e -F src/build.c c55ab6d1b089ceef57160e840f05f692955ac90944c3d04fcf01d97fd7bfd08d -F src/callback.c 4cd7225b26a97f7de5fee5ae10464bed5a78f2adefe19534cc2095b3a8ca484a ++F src/build.c 94d3e9ff44fb5eb18b7e39ece52f1049cbd9cd9ded844740fa2ed0c6b8694f78 +F src/callback.c bd46ff3b1c6a241a24d80d3ffb695a63dc71eb73c8b76a3bd29b3668fa1ccb86 F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e -F src/ctime.c 20507cc0b0a6c19cd882fcd0eaeda32ae6a4229fb4b024cfdf3183043d9b703d +F src/ctime.c 7dd467e9116985022644f4120c812ea397fbfea67c728c892830d45bab7cee76 F src/date.c 94ce83b4cd848a387680a5f920c9018c16655db778c4d36525af0a0f34679ac5 - F src/dbpage.c f1a87f4ebcf22284e0aaf0697862f4ccfc120dcd6db3d8dfa3b049b2580c01d8 - F src/dbstat.c a56a7ad1163a9888d46cd5820be2e65354fb1aa04ed6909f7c3e5831e0ee2c29 + F src/dbpage.c 254e3a228892ab6139beda795ebc9c60b876aae59eb9cd9290d11dc261c8d824 + F src/dbstat.c ec92074baa61d883de58c945162d9e666c13cd7cf3a23bc38b4d1c4d0b2c2bef F src/delete.c 86573edae75e3d3e9a8b590d87db8e47222103029df4f3e11fa56044459b514e F src/expr.c 204af6a83c191f5ac19ec4af6ecc546f188cc2dd1c76fc5280982f710ec4b9c4 F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007 @@@ -608,8 -608,8 +609,8 @@@ F src/in-operator.md 10cd8f4bcd225a3251 F src/insert.c 1b11a2e33ee52db93c02fddac67e39d00161d61b69fac2675b82f2aa68c1b61c F src/json.c 7749b98c62f691697c7ee536b570c744c0583cab4a89200fdd0fc2aa8cc8cbd6 F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa - F src/loadext.c 25663175950c5c4404b9377840b7b4c6fe5c53b415caf43634c62f442c02a9a7 - F src/main.c 6de7b70c468f6c05fbc3a0e47933ffc279d0b3c3aa6053fbfb5e6cae151c3da1 + F src/loadext.c b04eb648cedc45efe4298e1ef439ac4f0096ae27b5f01accb0a1f49d57789128 -F src/main.c f5ed7b748d7e54b96ac577a9d87af9461f13f092bbe684d473448010333402dc ++F src/main.c bcccf06ba1c14853bfaa71ea7758b9c5b1b845b5b59e43ea717e05fb8fbdf8d4 F src/malloc.c 47b82c5daad557d9b963e3873e99c22570fb470719082c6658bf64e3012f7d23 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de @@@ -639,24 -639,24 +640,24 @@@ F src/parse.y 8e67d820030d2655b9942ffe6 F src/pcache.c f4268f7f73c6a3db12ce22fd25bc68dc42315d19599414ab1207d7cf32f79197 F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586 F src/pcache1.c dee95e3cd2b61e6512dc814c5ab76d5eb36f0bfc9441dbb4260fccc0d12bbddc - F src/pragma.c 6e211923bc179edcebcceeaba003d554db232bd72f75457a9a1e27205e9c979b -F src/pragma.c 23e74aaa441a03e6d97098db5883f53ee50cc50d294ecefb916437b8484012b3 -F src/pragma.h e690a356c18e98414d2e870ea791c1be1545a714ba623719deb63f7f226d8bb7 -F src/prepare.c 9ebd3a1b12bbd1951f0d6db850f32cf5d4547a6ab8bb9e958d75dfbe4e60d0a3 ++F src/pragma.c b55821d295de6c8e195b4afedb34d594a857128d2d6f0b9fddaee6a0e71a4971 +F src/pragma.h 50f6d3b408ed56bde4f4e4aead8c0b2022030b692e8de237c1b7a0b5ce87a0c8 +F src/prepare.c c35e21962f1297b1862480cea450f4e596bf879f55fe0c0002b8da535d92b53f F src/printf.c ff4b05e38bf928ff1b80d3dda4f977b10fe39ecbfe69c018224c7e5594fb2455 F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c F src/resolve.c efea4e5fbecfd6d0a9071b0be0d952620991673391b6ffaaf4c277b0bb674633 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92 - F src/select.c 83de67e4857be2866d048c98e93f65461d8a0408ca4ce88fec68ebfe030997ae - F src/shell.c.in f2605f55ccf3e12667b33636328dfbd57ad83906524745cf9e56586a5b6769cc - F src/sqlite.h.in c8a3e5698e22230ffc2827ac8b18d0a054f540f655e48c88be2cbfebb14ead21 + F src/select.c 146222acbf9ea4e7f99c45a9e3cb4a0ba7e02c4f0df5186094ea1f9ea9907a02 -F src/shell.c.in f7c75d1a9f900516e40f17f040668d5797592344bd88cff7ee7df586de6893c6 -F src/sqlite.h.in 231d505c86ac4688b82259529273fe5fb2cce86cb80ea50628ff776113b5c706 ++F src/shell.c.in a808e4c6433c57b0f6650ebc36877b538038d44479b06aac22e063eaa5b46413 ++F src/sqlite.h.in 841d97c83dfc4085458c3ce80ef3a6753d95a96fa84954f3dbf04c9e3213cb63 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 - F src/sqlite3ext.h c4b9fa7a7e2bcdf850cfeb4b8a91d5ec47b7a00033bc996fd2ee96cbf2741f5f - F src/sqliteInt.h d71b6e65f9327e621433630111a8b8150cee7191423972582ad6c4a7fb363aa7 + F src/sqlite3ext.h da473ce2b3d0ae407a6300c4a164589b9a6bfdbec9462688a8593ff16f3bb6e4 -F src/sqliteInt.h 079ccd9c161f4b74967188fd6321810159fdc4c32371b68559719828fac20f43 ++F src/sqliteInt.h 2b3b552db57b586404fb70690b4af0f1112b5458c8c9612ebd25d5734ed2a9ae F src/sqliteLimit.h d7323ffea5208c6af2734574bae933ca8ed2ab728083caa117c9738581a31657 -F src/status.c 160c445d7d28c984a0eae38c144f6419311ed3eace59b44ac6dafc20db4af749 +F src/status.c 501433a8bdf64be125746a53bb9180761f9364428b59b318365eb88afd6d5cea F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1 -F src/tclsqlite.c 4e64ba300a5a26e0f1170e09032429faeb65e45e8f3d1a7833e8edb69fc2979e +F src/tclsqlite.c c5b9f6540d6de1adc6554589ce4011e07bb02250440a3e777ff86b40f1c1dd2c - F src/test1.c 98f4a4525e10b0df164ba7f33950824348bb29fd582101e0f93b1af72f493154 + F src/test1.c 39c13c25f5c4e75a07cb6bd34cfc1b8aa97ecc6f80f08953fa164db7e92ce71e F src/test2.c 827446e259a3b7ab949da1542953edda7b5117982576d3e6f1c24a0dd20a5cef F src/test3.c 61798bb0d38b915067a8c8e03f5a534b431181f802659a6616f9b4ff7d872644 F src/test4.c 4533b76419e7feb41b40582554663ed3cd77aaa54e135cf76b3205098cd6e664 @@@ -668,10 -668,10 +669,10 @@@ F src/test9.c 12e5ba554d2d1cbe0158f6ab3 F src/test_async.c 195ab49da082053fdb0f949c114b806a49ca770a F src/test_autoext.c 915d245e736652a219a907909bb6710f0d587871 F src/test_backup.c bf5da90c9926df0a4b941f2d92825a01bbe090a0 - F src/test_bestindex.c 8294d8223b7f18a3ddb7f9a0e30815dcca4e61681f78b538c870f7d934f88b81 + F src/test_bestindex.c 1627f782e866a3f4b5ecd01cb46813686bf36612afc9755f26058717fe90b24e F src/test_blob.c ae4a0620b478548afb67963095a7417cd06a4ec0a56adb453542203bfdcb31ce F src/test_btree.c 8b2dc8b8848cf3a4db93f11578f075e82252a274 -F src/test_config.c 8264637b06a3c1f0727c88d1ea32dcf7986b9e7e358a970cae87cdac8a5b2708 +F src/test_config.c 73ebdc35580900d12c20b984db9ec1abe860dc75f66ae703f2b6fc9d95e09dc1 F src/test_delete.c e2fe07646dff6300b48d49b2fee2fe192ed389e834dd635e3b3bac0ce0bf9f8f F src/test_demovfs.c 38a459d1c78fd9afa770445b224c485e079018d6ac07332ff9bd07b54d2b8ce9 F src/test_devsym.c aff2255ea290d7718da08af30cdf18e470ff7325a5eff63e0057b1496ed66593 @@@ -717,19 -716,19 +718,19 @@@ F src/trigger.c fa2fe8aa8dab6465bb1f3ba F src/update.c f118e51768d2c1309e3c81e9f91141b22b8a1339cbc5969b1b2d810feaa25b22 F src/upsert.c 5303dc6c518fa7d4b280ec65170f465c7a70b7ac2b22491598f6d0b4875b3145 F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0 - F src/util.c 313f3154e2b85a447326f5dd15de8d31a4df6ab0c3579bd58f426ff634ec9050 + F src/util.c 0e5cf9062a796f0f1b6b3228b121b2344932c05425f7c8b5a7cb245812473bbd -F src/vacuum.c 84ce7f01f8a7a08748e107a441db83bcec13970190ddcb0c9ff522adbc1c23fd -F src/vdbe.c 238635c1c40d42d9ded72994b81d4127f99d6d09e9279bdd37f6f34f4025adee -F src/vdbe.h 73b904a6b3bb27f308c6cc287a5751ebc7f1f89456be0ed068a12b92844c6e8c +F src/vacuum.c 4c46040e481b32cc4f24946fd5509396bd9492ecf4c1455034b03eed8533c971 - F src/vdbe.c 71321d447151e1fa0657c05385ed7b0e5287c9ba55a718581a68048ff10f8c36 ++F src/vdbe.c c2a219e16e0ad81a9d1a69aa8020b26eeac70c23121ea5d4045262b5ae828435 +F src/vdbe.h 0b42f767cef2f89db4fb4e1ff9e9a5a3e03998056bde156e64727dfb0b3814fc - F src/vdbeInt.h 8651e4c4e04d1860d0bdcf330cb8294e3778a9d4222be30ce4c490d9220af783 - F src/vdbeapi.c df3f73a4d0a487f2068e3c84776cd6e3fba5ae80ff612659dcfda4307686420b - F src/vdbeaux.c ebada461429ad38f4d5991ee59219af0579dc2c3ced1c49fbf816df42336d84b + F src/vdbeInt.h fc15815b7bdafbb27e7f027faba2b0112e87d382c0d72241672528806ebc0db5 + F src/vdbeapi.c 4ee67890913c1d2469c68e3ad2e7ddeab57ac5924a64bbfd0906a8ea0d542c7f -F src/vdbeaux.c 9eb7394126b88e55f81321d5e87636e0cd5e5856818d644d8abd6bfbb9c0be9d -F src/vdbeblob.c 5e61ce31aca17db8fb60395407457a8c1c7fb471dde405e0cd675974611dcfcd ++F src/vdbeaux.c adffa86450bed74bac203254ad271e22b25fd3a242a1e6dc64e71394a8f41d9a +F src/vdbeblob.c aa23a326ff86bdde8f7ba74cf23c3e1795b13bee749314feaf26273be2f63e89 - F src/vdbemem.c 6cfed43758d57b6e3b99d9cdedfeccd86e45a07e427b22d8487cbdbebb6c522a + F src/vdbemem.c 316d518115f3720b4097f0231e2a3d6eefd06c787eccf44972f8d8f462153421 F src/vdbesort.c 43756031ca7430f7aec3ef904824a7883c4ede783e51f280d99b9b65c0796e35 F src/vdbetrace.c fe0bc29ebd4e02c8bc5c1945f1d2e6be5927ec12c06d89b03ef2a4def34bf823 - F src/vdbevtab.c f99b275366c5fc5e2d99f734729880994ab9500bdafde7fae3b02d562b9d323c + F src/vdbevtab.c aae4bd769410eb7e1d02c42613eec961d514459b1c3c1c63cfc84e92a137daac -F src/vtab.c b2f993aa954078985bc40317bb2140fe0880a08a7440f3a428b60fce74636808 +F src/vtab.c d25ed4bd90e8a6ab71df8887667109069349e04f808170311991b93ee3bb0e7b F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9 F src/wal.c b9df133a705093da8977da5eb202eaadb844839f1c7297c08d33471f5491843d F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a @@@ -1431,13 -1431,6 +1433,13 @@@ F test/resetdb.test 8062cf10a09d8c048f8 F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb F test/returning1.test 1366e04566cfe1a082d17b1e0f195ec64473c79374b3a5d4ae00c43d885dea31 F test/returningfault.test ae4c4b5e8745813287a359d9ccdb9d5c883c2e68afb18fb0767937d5de5692a4 +F test/reuse1.test faa2ce5ff566d936b8a10d9e22ba2ee66a54ce89fdcf8aef561df6b15b0ff3d3 +F test/reuse2.test 5dd9c98579358f0d5a90d25e36dd6e678a03e23446b6c7f2630a8da22ae7ca94 - F test/reuse3.test 876d15c42d61b1f6ab718cd8169912514ad314d7fe1cd9788080aa62168ba0d1 ++F test/reuse3.test ee7dc9c3ee5d65aa2615b6d610cc368aaa04df0b464a578a4c3b25ee64de4e8a +F test/reuse4.test adaad66253aea6cc748674328abe69b650c5c78b8676ed1162d3de09742519f9 +F test/reuse5.test bbe6cf7384ef90f134392edd93d626385ef0bf6f40eefc3d993535cd0861d83b +F test/reuse6.test f4674f9967aee2a0b49c02832120b8b495291c0d87aae084c54e6c0cc18132fe +F test/reusefault.test ef646a0fb51d50ddfb4b7cd872f88e7d36eaba64bde7797b3418c3774e1c8d14 F test/rollback.test 06680159bc6746d0f26276e339e3ae2f951c64812468308838e0a3362d911eaa F test/rollback2.test 3f3a4e20401825017df7e7671e9f31b6de5fae5620c2b9b49917f52f8c160a8f F test/rollbackfault.test 0e646aeab8840c399cfbfa43daab46fd609cf04a @@@ -1781,14 -1774,13 +1783,14 @@@ F test/triggerE.test 612969cb57a4ef7920 F test/triggerF.test 5d76f0a8c428ff87a4d5ed52da06f6096a2c787a1e21b846111dfac4123de3ad F test/triggerG.test 2b816093c91ba73c733cfa8aedcc210ad819d72a98b1da30768a3c56505233e9 F test/triggerupfrom.test d1f9e56090408115c522bee626cc33a2f3370f627a5e341d832589d72e3aa271 - F test/trustschema1.test 4e970aef0bfe0cee139703cc7209d0e0f07725d999b180ba50770f49edef1494 + F test/trustschema1.test d2996bb284859c99956ac706160eab9f086919da738d19bfef3ac431cce8fd47 -F test/tt3_checkpoint.c ac7ca661d739280c89d9c253897df64a59a49369bd1247207ac0f655b622579d -F test/tt3_index.c 39eec10a35f57672225be4d182862152896dee4a -F test/tt3_lookaside1.c 0377e202c3c2a50d688cb65ba203afeda6fafeb9 +F test/tt3_checkpoint.c 69214e2ce81bbbd3c1b82c31e103607fd2e6790818aef4792957fc9cc88d067e +F test/tt3_index.c 95592839426dc85ce5a7a57b41be2cbf3c2ec3457b9cd841a06ed5877f712c7c +F test/tt3_lookaside1.c 2ddd99bfffeef288f0786827ef68f912f6f47ce3d3184e62f05808d8e13b920e +F test/tt3_reuseschema.c 4d52e141f89f009028d8ab0bd1f0697d0edffa94bafc1fff0f7ad4d9d9baa549 F test/tt3_shared.c b37d22defc944a2ac4c91c927fd06c1d48cd51e2ce9d004fe868625bd2399f93 -F test/tt3_stress.c f9a769ca8b026ecc76ee93ca8c9700a5619f8e51c581107c4053ba6ac97f616f -F test/tt3_vacuum.c 71b254cde1fc49d6c8c44efd54f4668f3e57d7b3a8f4601ade069f75a999ba39 +F test/tt3_stress.c 077e817ac1168443b075fedb44e92db84bb4dc5bd3b6fe1aba25c94ac280b231 +F test/tt3_vacuum.c 727bfda1299b18435eeba80dee8e6ff43462146d7c1e2096cc809f01db568391 F test/types.test bf816ce73c7dfcfe26b700c19f97ef4050d194ff F test/types2.test 1aeb81976841a91eef292723649b5c4fe3bc3cac F test/types3.test 99e009491a54f4dc02c06bdbc0c5eea56ae3e25a @@@ -2008,8 -2000,8 +2010,8 @@@ F tool/mkmsvcmin.tcl 6ecab9fe22c2c8de4d F tool/mkopcodec.tcl 33d20791e191df43209b77d37f0ff0904620b28465cca6990cf8d60da61a07ef F tool/mkopcodeh.tcl 769d9e6a8b462323150dc13a8539d6064664b72974f7894befe2491cc73e05cd F tool/mkopts.tcl 680f785fdb09729fd9ac50632413da4eadbdf9071535e3f26d03795828ab07fa -F tool/mkpragmatab.tcl bd07bd59d45d0f3448e123d6937e9811195f9908a51e09d774609883055bfd3d +F tool/mkpragmatab.tcl 0e059aaab521b490c86ba3d4f945319b438558de7738e90f26c54f4ffcdd79bb - F tool/mkshellc.tcl 02d0de8349ef830c0fb20d29680320bde2466e2ec422e5bd94c4317a7a7e8cc9 + F tool/mkshellc.tcl b7adf08b82de60811d2cb6af05ff59fc17e5cd6f3e98743c14eaaa3f8971fed0 F tool/mksourceid.c 36aa8020014aed0836fd13c51d6dc9219b0df1761d6b5f58ff5b616211b079b9 F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97 F tool/mksqlite3c-noext.tcl 4f7cfef5152b0c91920355cbfc1d608a4ad242cb819f1aea07f6d0274f584a7f @@@ -2077,8 -2069,8 +2079,8 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 - P 2aec00a7294762b3f7e8138ea1686eda4a1b02e940ec39f261651b61b87fabad 371f9b88387a44a5f820279d79733d1deb7eafc72f320ec47a11679bbdbb49ef - R 53390d57c739b04d79c7ca18e1fc21c7 - U drh - Z afe5040288c0a21f63f3e5f5ade47224 -P d149772d18c47bf986decb7e08d148b1d417bbcc8522fd6240ead836ec34074b -R 46223eaf559523ff66a57b4bacb5c07e ++P 1bfae9b3c65a97a17b2de820841ff7826cb75ecad0072cea1ac74fdbde10e775 c5d958eb942a8d6ea1e6e1d2d57637f9359d518965a28f298c7fbacdb9080f59 ++R 89de9b891b593d0253b5c17ad8e58276 + U dan -Z 9e60d9184a671acda6ad686b21155410 ++Z aa5bd35b55629a01a34308f00dc2e033 # Remove this line to create a well-formed Fossil manifest. diff --cc manifest.uuid index 2e4b4503ec,6a306961ea..4da5e7c15c --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 1bfae9b3c65a97a17b2de820841ff7826cb75ecad0072cea1ac74fdbde10e775 -c5d958eb942a8d6ea1e6e1d2d57637f9359d518965a28f298c7fbacdb9080f59 ++deb26d034b9da463c0e1acd5aafa477b29fc25fdbe51995283d52715972355c9 diff --cc test/reuse3.test index d15c907cb0,0000000000..5ee70bd5a0 mode 100644,000000..100644 --- a/test/reuse3.test +++ b/test/reuse3.test @@@ -1,355 -1,0 +1,355 @@@ +# 2019 February 12 +# +# 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. +# +#*********************************************************************** +# +# + + +set testdir [file dirname $argv0] +source $testdir/tester.tcl +set testprefix reuse3 + +ifcapable !sharedschema { + finish_test + return +} + +do_execsql_test 1.0 { + CREATE TABLE t1(x INTEGER PRIMARY KEY, y UNIQUE, z); + CREATE INDEX i1 ON t1(z); + CREATE TABLE t2(a); +} {} + +db close +sqlite3 db test.db -shared-schema 1 + +do_execsql_test 1.1 { + CREATE TEMP VIEW v1 AS SELECT * FROM t1; + SELECT * FROM v1; +} + +do_execsql_test 1.2 { + CREATE TEMP TRIGGER tr1 AFTER INSERT ON t1 BEGIN + INSERT INTO t2 VALUES(new.x); + END; +} + +do_execsql_test 1.3 { + INSERT INTO t1 VALUES(1, 2, 3); +} + +do_execsql_test 1.4 { + SELECT * FROM t2 +} {1} + +do_execsql_test 1.5 { + SELECT * FROM v1 +} {1 2 3} + +do_execsql_test 1.6 { + BEGIN; + DROP TRIGGER tr1; + ROLLBACK; +} + +do_execsql_test 1.7 { + SELECT * FROM v1 +} {1 2 3} + +do_execsql_test 1.8 { + INSERT INTO t1 VALUES(4, 5, 6); + SELECT * FROM t2 +} {1 4} + +do_execsql_test 1.9 { + SELECT * FROM v1 +} {1 2 3 4 5 6} + +#------------------------------------------------------------------------- +# Test error messages when parsing the schema with a REUSE_SCHEMA +# connection. +reset_db +do_execsql_test 2.0 { + CREATE TABLE x1(a, b, c); + CREATE TABLE y1(d, e, f); + PRAGMA writable_schema = 1; + UPDATE sqlite_master SET sql = 'CREATE TBL y1(d, e, f)' WHERE name = 'y1'; +} +db close + +sqlite3 db test.db -shared-schema 1 +do_catchsql_test 2.1 { + SELECT * FROM x1; +} {1 {malformed database schema (y1) - near "TBL": syntax error}} + +do_catchsql_test 2.2 { + SELECT * FROM x1; +} {1 {malformed database schema (y1) - near "TBL": syntax error}} + +#------------------------------------------------------------------------- +reset_db +do_execsql_test 3.0 { + CREATE TABLE x1(a, b, c); + CREATE INDEX i1 ON x1(a, b, c); + CREATE TRIGGER tr1 AFTER INSERT ON x1 BEGIN + SELECT 1, 2, 3, 4, 5; + END; + INSERT INTO x1 VALUES(1, 2, 3); +} +sqlite3 db1 test.db -shared-schema 1 + +do_test 3.1 { + execsql { SELECT * FROM x1 } db1 + set N [lindex [sqlite3_db_status db1 SCHEMA_USED 0] 1] + expr $N==$N +} 1 + +sqlite3 db2 test.db -shared-schema 1 +do_test 3.2 { + execsql { SELECT * FROM x1 } db2 + set N2 [lindex [sqlite3_db_status db2 SCHEMA_USED 0] 1] + expr $N2>($N/2) && $N2<($N/2)+400 +} 1 + +sqlite3 db3 test.db -shared-schema 1 +sqlite3 db4 test.db -shared-schema 1 +do_test 3.3 { + execsql { SELECT * FROM x1 } db3 + execsql { SELECT * FROM x1 } db4 + set N4 [lindex [sqlite3_db_status db2 SCHEMA_USED 0] 1] + set M [expr 2*($N-$N2)] + set {} {} +} {} +do_test 3.3.1 { expr {(($M / 4) + $N-$M)} } "#/$N4/" + +catch { db1 close } +catch { db2 close } +catch { db3 close } +catch { db4 close } + +#------------------------------------------------------------------------- +# 4.1 Test the REINDEX command. +# 4.2 Test CREATE TEMP ... commands. +# +reset_db +do_execsql_test 4.1.0 { + CREATE TABLE x1(a, b, c); + CREATE INDEX x1a ON x1(a); + CREATE INDEX x1b ON x1(b); + CREATE INDEX x1c ON x1(c); +} +db close +sqlite3 db test.db -shared-schema 1 + +do_execsql_test 4.1.1 { + REINDEX x1; + REINDEX x1a; + REINDEX x1b; + REINDEX x1c; + REINDEX; +} + +do_test 4.1.2 { + for {set i 1} {$i < 5} {incr i} { + forcedelete test.db${i} test.db${i}-wal test.db${i}-journal + forcecopy test.db test.db${i} + execsql "ATTACH 'test.db${i}' AS db${i}" + } + register_schemapool_module db + set {} {} + execsql { + SELECT 'nref=' || nRef, 'nschema=' || nSchema, 'ndelete=' || nDelete + FROM schemapool + } +} {nref=5 nschema=1 ndelete=0} + +do_execsql_test 4.1.3 { + REINDEX x1; + REINDEX x1a; + REINDEX x1b; + REINDEX x1c; + REINDEX db1.x1a; + REINDEX db2.x1b; + REINDEX db3.x1c; +} + +do_execsql_test 4.1.4 { + SELECT 'nref=' || nRef, 'nschema=' || nSchema, 'ndelete=' || nDelete + FROM schemapool +} {nref=5 nschema=1 ndelete=28} + +#------------------------------------------------------------------------- +db close +sqlite3 db test.db -shared-schema 1 +register_schemapool_module db +do_execsql_test 4.2.0 { + ATTACH 'test.db1' AS db1; + ATTACH 'test.db2' AS db2; + ATTACH 'test.db3' AS db3; + ATTACH 'test.db4' AS db4; + + SELECT * FROM db1.x1; + SELECT * FROM db2.x1; + SELECT * FROM db3.x1; + SELECT * FROM db4.x1; +} + +do_execsql_test 4.2.1 { + SELECT 'nref=' || nRef, 'nschema=' || nSchema, 'ndelete=' || nDelete + FROM schemapool; +} {nref=5 nschema=1 ndelete=0} + +do_execsql_test 4.2.2 { + CREATE TEMP TABLE t1(a, b, c); + SELECT 'nref=' || nRef, 'nschema=' || nSchema, 'ndelete=' || nDelete + FROM schemapool; +} {nref=5 nschema=1 ndelete=0} + +do_execsql_test 4.2.3 { + CREATE INDEX t1a ON t1(a); + SELECT 'nref=' || nRef, 'nschema=' || nSchema, 'ndelete=' || nDelete + FROM schemapool; +} {nref=5 nschema=1 ndelete=0} + +do_execsql_test 4.2.4 { + CREATE TRIGGER tr1 AFTER INSERT ON t1 BEGIN + SELECT 1,2,3,4; + END; + SELECT 'nref=' || nRef, 'nschema=' || nSchema, 'ndelete=' || nDelete + FROM schemapool; +} {nref=5 nschema=1 ndelete=0} + +do_execsql_test 4.2.5 { + DROP TABLE t1; + SELECT 'nref=' || nRef, 'nschema=' || nSchema, 'ndelete=' || nDelete + FROM schemapool; +} {nref=5 nschema=1 ndelete=0} + +do_execsql_test 4.2.6 { + CREATE TEMP TRIGGER tr1 AFTER INSERT ON db2.x1 BEGIN + SELECT 1,2,3,4; + END; + SELECT 'nref=' || nRef, 'nschema=' || nSchema, 'ndelete=' || nDelete + FROM schemapool; +} {nref=5 nschema=1 ndelete=0} + +do_execsql_test 4.2.7 { + DROP TRIGGER tr1; + SELECT 'nref=' || nRef, 'nschema=' || nSchema, 'ndelete=' || nDelete + FROM schemapool; +} {nref=5 nschema=1 ndelete=4} + +#-------------------------------------------------------------------------- +reset_db +do_execsql_test 5.0 { + CREATE TABLE t1(a, b); + CREATE TABLE t2(a, b); + CREATE TABLE t3(a, b); +} + +sqlite3 db2 test.db -shared-schema 1 +register_schemapool_module db2 + +do_execsql_test 5.1 { + PRAGMA writable_schema = 1; + UPDATE sqlite_master SET sql='CREATE TABLE t3 a,b' WHERE name = 't3'; +} + +do_test 5.2 { + catchsql { SELECT * FROM t1 } db2 +} {1 {malformed database schema (t3) - near "a": syntax error}} + +do_test 5.3 { + catchsql { SELECT nref,nschema FROM schemapool } db2 - } {1 {vtable constructor failed: schemapool}} ++} {1 {malformed database schema (t3) - near "a": syntax error}} + +do_execsql_test 5.4 { + PRAGMA writable_schema = 1; + UPDATE sqlite_master SET sql='CREATE TABLE t3(a,b)' WHERE name = 't3'; +} + +do_test 5.5 { + catchsql { SELECT nref,nschema FROM schemapool } db2 +} {0 {1 1}} + +db2 close +db close +do_test 5.6.1 { + forcedelete test.db2 test.db2-wal test.db2-journal + forcecopy test.db test.db2 + sqlite3 db test.db + sqlite3 db2 test.db -shared-schema 1 + sqlite3 db3 test.db2 -shared-schema 1 + register_schemapool_module db +} {} + +do_execsql_test -db db2 5.6.2 { SELECT * FROM t1 } +do_execsql_test -db db3 5.6.3 { SELECT * FROM t1 } +do_execsql_test 5.6.4 { + SELECT 'nref=' || nRef, 'nschema=' || nSchema FROM schemapool; + CREATE TABLE t4(x); + DROP TABLE t4; +} {nref=2 nschema=1} +do_execsql_test -db db2 5.6.5 { SELECT * FROM t1 } +do_execsql_test -db db3 5.6.6 { SELECT * FROM t1 } +do_execsql_test 5.6.7 { + SELECT 'nref=' || nRef, 'nschema=' || nSchema FROM schemapool; + ATTACH 'test.db2' AS db2; + CREATE TABLE db2.t4(x); + DROP TABLE db2.t4; +} {nref=1 nschema=1 nref=1 nschema=1} +do_execsql_test -db db2 5.6.8 { SELECT * FROM t1 } +do_execsql_test -db db3 5.6.9 { SELECT * FROM t1 } +do_execsql_test 5.6.10 { + SELECT 'nref=' || nRef, 'nschema=' || nSchema FROM schemapool; +} {nref=2 nschema=1} + +#------------------------------------------------------------------------- +reset_db +do_execsql_test 6.0 { + CREATE TABLE t1(a, b); + CREATE TABLE t2(a, b); + CREATE TABLE t3(a, b); +} + +do_test 6.1 { + db close + sqlite3 db test.db -shared-schema 1 + for {set i 1} {$i < 5} {incr i} { + set base "test.db$i" + set nm "aux$i" + forcedelete $base $base-wal $base-journal + forcecopy test.db $base + execsql "ATTACH '$base' AS $nm" + } +} {} + +do_test 6.2 { + set N1 [lindex [sqlite3_db_status db SCHEMA_USED 0] 1] + set N2 [lindex [sqlite3_db_status db SCHEMA_USED 0] 1] + expr ($N1==0 && $N2==0) +} {1} + +do_test 6.3 { + execsql { SELECT * FROM main.t1 } + set N1 [lindex [sqlite3_db_status db SCHEMA_USED 0] 1] + set N2 [lindex [sqlite3_db_status db SCHEMA_USED 0] 1] + expr {$N1>0 && $N2>0 && $N1==$N2} +} {1} + +do_test 6.4 { + execsql { SELECT * FROM aux1.t1 } + set N3 [lindex [sqlite3_db_status db SCHEMA_USED 0] 1] + set N4 [lindex [sqlite3_db_status db SCHEMA_USED 0] 1] + list $N3 $N4 +} "#/$N1 $N1/" + +finish_test +