]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge the latest trunk enhancements into the begin-concurrent-pnu-wal2
authordrh <>
Wed, 21 Dec 2022 20:43:53 +0000 (20:43 +0000)
committerdrh <>
Wed, 21 Dec 2022 20:43:53 +0000 (20:43 +0000)
branch.

FossilOrigin-Name: bcab19d21be42121f1ea3961aedbbe463c60d85d0a3dd8b9593040d217bac3a7

22 files changed:
1  2 
Makefile.in
ext/fts5/fts5_main.c
ext/session/sqlite3session.c
ext/session/test_session.c
main.mk
manifest
manifest.uuid
src/btree.c
src/btree.h
src/btreeInt.h
src/build.c
src/func.c
src/main.c
src/os_unix.c
src/pager.c
src/select.c
src/sqlite.h.in
src/sqliteInt.h
src/test1.c
src/update.c
src/vdbe.c
src/vdbeaux.c

diff --cc Makefile.in
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc main.mk
Simple merge
diff --cc manifest
index c891a57a8174e37bc691a8593f1725c0d7928733,1a8df002008523e88aa38abda4a1380d4fd10ad8..5df4334576903cf0d89510b7382b41bc58cd9293
+++ b/manifest
@@@ -1,13 -1,13 +1,13 @@@
- C Merge\sthe\s3.40.0\srelease\sinto\sthe\sbegin-concurrent-pnu-wal2\sbranch.
- D 2022-11-16T16:11:07.340
 -C Merge\sthe\slatest\strunk\senhancements\sinto\sthe\swal2\sbranch.
 -D 2022-12-21T20:28:58.982
++C Merge\sthe\slatest\strunk\senhancements\sinto\sthe\sbegin-concurrent-pnu-wal2\nbranch.
++D 2022-12-21T20:43:53.573
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
- F Makefile.in 55e1cb08fc07a83b5e57d204f2e491dc8d596664e252b728f28065ee9ac2f9f8
 -F Makefile.in f62eafba0fa567e9886fa896423604a411db95d10eee3991827041aee62aa226
++F Makefile.in bdc92f6e77a9503bfcdd110cbd2833aa8a780df9af4d192b035a5bbb16fac02b
  F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241
- F Makefile.msc 8f55fd960e3c3418c1fbd8b04c491e97fa8fa65b137979a4a5c150fc7e6a536a
+ F Makefile.msc 01ec9533292aab4ca5b6222008e832ec5472e7bb40859199fa2c23c813a7e2f8
  F README.md 8b8df9ca852aeac4864eb1e400002633ee6db84065bd01b78c33817f97d31f5e
- F VERSION 8868ddfa6e1eee218286021a94b3e22d13e550c76c72d878857547ca001de24a
+ F VERSION 413ec94920a487ae32c9a2a8819544d690662d6f7c7ce025c0d0b8a1e74fa9db
  F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
  F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
  F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
@@@ -121,7 -120,7 +121,7 @@@ F ext/fts5/fts5_config.c 501e7d3566bc92
  F ext/fts5/fts5_expr.c 40174a64829d30cc86e8266306ad24980f6911edd5ca0b8c1ce7821ea1341b88
  F ext/fts5/fts5_hash.c d4fb70940359f2120ccd1de7ffe64cc3efe65de9e8995b822cd536ff64c96982
  F ext/fts5/fts5_index.c a8ee270724ae1f958d0ce9897bcd60a5b760ecbeaa058fc8632805a283f1c20a
- F ext/fts5/fts5_main.c 82687a852cb4229c24d5525c9c435592719149af73dc955490adc88a95e9b45e
 -F ext/fts5/fts5_main.c 3fd46be6a7aaac1d4210d4df0c7f9b1e78d1f0af566bfa2ab58d945ffa328ff7
++F ext/fts5/fts5_main.c c571172b4c8b88bd4a884550ce4519f46a918cbac3a96e955be69679419e2b8d
  F ext/fts5/fts5_storage.c 76c6085239eb44424004c022e9da17a5ecd5aaec859fba90ad47d3b08f4c8082
  F ext/fts5/fts5_tcl.c b1445cbe69908c411df8084a10b2485500ac70a9c747cdc8cda175a3da59d8ae
  F ext/fts5/fts5_test_mi.c 08c11ec968148d4cb4119d96d819f8c1f329812c568bac3684f5464be177d3ee
@@@ -472,10 -471,10 +475,10 @@@ F ext/session/sessionD.test 4f91d0ca8af
  F ext/session/sessionE.test b2010949c9d7415306f64e3c2072ddabc4b8250c98478d3c0c4d064bce83111d
  F ext/session/sessionF.test d37ed800881e742c208df443537bf29aa49fd56eac520d0f0c6df3e6320f3401
  F ext/session/sessionG.test 3828b944cd1285f4379340fd36f8b64c464fc84df6ff3ccbc95578fd87140b9c
 -F ext/session/sessionH.test b17afdbd3b8f17e9bab91e235acf167cf35485db2ab2df0ea8893fbb914741a4
 +F ext/session/sessionH.test ecabc041e04e48671a94cd7c02993bc73f75dced943280a026e89cdf64374eef
  F ext/session/session_common.tcl f613174665456b2d916ae8df3e5735092a1c1712f36f46840172e9a01e8cc53e
  F ext/session/session_speed_test.c dcf0ef58d76b70c8fbd9eab3be77cf9deb8bc1638fed8be518b62d6cbdef88b3
- F ext/session/sessionat.test 52993535f1230a42f70886643574ba7ae60ef854f8add9c8e3fcc3eb5c564bd2
+ F ext/session/sessionat.test 46fd847f6ed194ebb7ebef9fe68b2e2ec88d9c2383a6846cddc5604b35f1d4ae
  F ext/session/sessionbig.test 890ade19e3f80f3d3a3e83821ff79c5e2af906a67ecb5450879f0015cadf101e
  F ext/session/sessiondiff.test ad13dd65664bae26744e1f18eb3cbd5588349b7e9118851d8f9364248d67bcec
  F ext/session/sessionfault.test da273f2712b6411e85e71465a1733b8501dbf6f7
@@@ -487,11 -486,9 +490,11 @@@ F ext/session/sessionrebase.test ccfa71
  F ext/session/sessionsize.test 6f644aff31c7f1e4871e9ff3542766e18da68fc7e587b83a347ea9820a002dd8
  F ext/session/sessionstat1.test 218d351cf9fcd6648f125a26b607b140310160184723c2666091b54450a68fb5
  F ext/session/sessionwor.test 6fd9a2256442cebde5b2284936ae9e0d54bde692d0f5fd009ecef8511f4cf3fc
 -F ext/session/sqlite3session.c b4254dd6e785cdd206c9ca7118796cf82273627fe2d4fd647597f08c2f821f96
 -F ext/session/sqlite3session.h 0907de79bc13a2e3af30a6dc29acc60792a3eaf7d33d44cf52500d0f3c2b2171
 -F ext/session/test_session.c 94364b91cf4571d320ef5b1e04075d2c58c79b63afdf20c9e470555a691ca5b1
 +F ext/session/sqlite3changebatch.c d5553b79e012ee2cb06c0a96bdf9dfe19e66354390ea0036cc46c4953142d517
 +F ext/session/sqlite3changebatch.h e72016998c9a22d439ddfd547b69e1ebac810c24
- F ext/session/sqlite3session.c 421854336ece362552508426d89091c1832148066f0641e8d72e22f58d9241f3
++F ext/session/sqlite3session.c dae195ab97cc28550ee40a61aed56837de656722606bba362aa699159cf90cc9
 +F ext/session/sqlite3session.h 01807bb8c8f531c23052032e9d531eec49af79b7394f8213cf5a49784325b6a8
- F ext/session/test_session.c 226461035031632255c8098f3bcfa4ea27f0b051efd88857a2a36bcea5c294b9
++F ext/session/test_session.c 1468abeab18502a32d0d30cea5f39ada35c9807478ba87a99c4f737f9449ec13
  F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3
  F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04
  F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb
@@@ -564,7 -566,7 +572,7 @@@ F ext/wasm/wasmfs.make cf9a68162d92ca2b
  F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
  F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
  F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0
- F main.mk 7e5d15309a750dead03303bee72cd1c910660750c25d93c066db31e67e58d23c
 -F main.mk 24be9a162bde1d2b6609afc384094acf1eecbfa625ff8e5e62d4e9a3a701725c
++F main.mk 5b34e6dbbf42c810a96a6aac50d802f2e2d5ff74f5996eda2f6dfaa4bbb47f72
  F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
  F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
  F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
@@@ -582,34 -584,34 +590,34 @@@ F src/analyze.c d2fce73f6a024897593012c
  F src/attach.c 4431f82f0247bf3aaf91589acafdff77d1882235c95407b36da1585c765fbbc8
  F src/auth.c f4fa91b6a90bbc8e0d0f738aa284551739c9543a367071f55574681e0f24f8cf
  F src/backup.c a2891172438e385fdbe97c11c9745676bec54f518d4447090af97189fd8e52d7
 -F src/bitvec.c 7c849aac407230278445cb069bebc5f89bf2ddd87c5ed9459b070a9175707b3d
 +F src/bitvec.c 3907fcbe8a0c8c2db58d97087d15cdabbf2842adb9125df9ab9ff87d3db16775
  F src/btmutex.c 6ffb0a22c19e2f9110be0964d0731d2ef1c67b5f7fabfbaeb7b9dabc4b7740ca
- F src/btree.c 4ad1f12ad1ba9dfd8cee8e67e772a7a7b8af3b9bdab1dd80e93180d7d7f37288
- F src/btree.h 900067641b64d619e6e2a93bd115c952a52f41d3bee32e551e2a4ceee05fc431
- F src/btreeInt.h 650add92a0ffc8c315406f140325c5f41f0e386848dafbb1e27a72fe7cf6f179
- F src/build.c 73d472e3de6fb356bcfbb062814c95e6d5f6f986cbfc771fa3d906762faecaf7
 -F src/btree.c 98e30e36a9802e7af65a7124ed766ebeb36c650223685967a029d35396c09b92
 -F src/btree.h 49da925329574798be3cbb745a49d069a9e67c99900d8a0d04b1e934d60394ea
 -F src/btreeInt.h 88ad499c92b489afedbfefc3f067c4d15023ec021afe622db240dc9d2277cfa5
 -F src/build.c 9288348515cad28371dd219b111503a444a05d478493ed5e247541bbe7e5d28d
++F src/btree.c 4fc2187dd842ff0adaa58be3a2d5af1631f78d6e5cfd37c3e3c2f4788993c747
++F src/btree.h b89e1a7cf3345ea1b411831929e45fe39e8a93e28eabd2ea1071c432366f4859
++F src/btreeInt.h 429769e739b67133db190b514d427cb3acbb8c7b475c15bd4e8c91e88b2692fa
++F src/build.c ae8007e443d66e97f9a24a325953d64106c59d1bdbd13fa51f437031d2b87ae0
  F src/callback.c 4cd7225b26a97f7de5fee5ae10464bed5a78f2adefe19534cc2095b3a8ca484a
  F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
  F src/ctime.c 20507cc0b0a6c19cd882fcd0eaeda32ae6a4229fb4b024cfdf3183043d9b703d
  F src/date.c 94ce83b4cd848a387680a5f920c9018c16655db778c4d36525af0a0f34679ac5
  F src/dbpage.c f1a87f4ebcf22284e0aaf0697862f4ccfc120dcd6db3d8dfa3b049b2580c01d8
- F src/dbstat.c 861e08690fcb0f2ee1165eff0060ea8d4f3e2ea10f80dab7d32ad70443a6ff2d
+ F src/dbstat.c a56a7ad1163a9888d46cd5820be2e65354fb1aa04ed6909f7c3e5831e0ee2c29
  F src/delete.c 86573edae75e3d3e9a8b590d87db8e47222103029df4f3e11fa56044459b514e
- F src/expr.c 847f87d9df3ede2b2b0a8db088af0b9c1923b21009f8ea1b9b7b28cb0a383170
+ F src/expr.c 204af6a83c191f5ac19ec4af6ecc546f188cc2dd1c76fc5280982f710ec4b9c4
  F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
  F src/fkey.c 722f20779f5342a787922deded3628d8c74b5249cab04098cf17ee2f2aaff002
- F src/func.c 2c186ba4d58b61380b31f01cebeff6d30d93f9ac1bf7d09533926ca284ddac1d
 -F src/func.c f6b7f49f4097461701311ff0126010e17239273cdcaaef9c3b85114f2e07a2d4
++F src/func.c 98feef981f41a00feb96af8165606a38ca364b361e8f0a037c375b0131a207fb
  F src/global.c e06ff8e0acd85aec13563c9ecb44fbbf38232ccf73594998fd880b92d619594b
  F src/hash.c 8d7dda241d0ebdafb6ffdeda3149a412d7df75102cecfc1021c98d6219823b19
  F src/hash.h 3340ab6e1d13e725571d7cee6d3e3135f0779a7d8e76a9ce0a85971fa3953c51
- F src/hwtime.h cb1d7e3e1ed94b7aa6fde95ae2c2daccc3df826be26fc9ed7fd90d1750ae6144
+ F src/hwtime.h b638809e083b601b618df877b2e89cb87c2a47a01f4def10be4c4ebb54664ac7
  F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
- F src/insert.c 90a32bc7faa755cd5292ade21d2b3c6edba8fd1d70754a364caccabfde2c3bb2
+ F src/insert.c 1b11a2e33ee52db93c02fddac67e39d00161d61b69fac2675b82f2aa68c1b61c
  F src/json.c 7749b98c62f691697c7ee536b570c744c0583cab4a89200fdd0fc2aa8cc8cbd6
  F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
- F src/loadext.c 8086232d10e51e183a7f64199815bad1c579896354db69435347665f62f481e9
- F src/main.c 568be0895002517946bfb56444ec19c4ee9edd0d4091550597ec81f5f43195c3
- F src/malloc.c dfddca1e163496c0a10250cedeafaf56dff47673e0f15888fb0925340a8e3f90
+ F src/loadext.c 25663175950c5c4404b9377840b7b4c6fe5c53b415caf43634c62f442c02a9a7
 -F src/main.c 5fba7c69ac63d728090d164930855d8f1dea37cce02858d77a9500ad20261a4b
++F src/main.c 997fc865c9bf19cd65b2398b9d053cbcdbe865c6bd9cdab32197b7cc46d505e7
+ F src/malloc.c 47b82c5daad557d9b963e3873e99c22570fb470719082c6658bf64e3012f7d23
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de
  F src/mem2.c c8bfc9446fd0798bddd495eb5d9dbafa7d4b7287d8c22d50a83ac9daa26d8a75
@@@ -626,36 -628,36 +634,36 @@@ F src/mutex_w32.c caa50e1c0258ac4443f52
  F src/notify.c 89a97dc854c3aa62ad5f384ef50c5a4a11d70fcc69f86de3e991573421130ed6
  F src/os.c 81c9c1c52eab711e27e33fd51fe5788488d3a02bc1a71439857abbee5d0d2c97
  F src/os.h 1ff5ae51d339d0e30d8a9d814f4b8f8e448169304d83a7ed9db66a65732f3e63
- F src/os_common.h b2f4707a603e36811d9b1a13278bffd757857b85
- F src/os_kv.c 0e59600d25b72034c7666b8b7dcc527f039b5d9c16f24a7eca4c08c66f63c364
+ F src/os_common.h 6c0eb8dd40ef3e12fe585a13e709710267a258e2c8dd1c40b1948a1d14582e06
+ F src/os_kv.c 73f89ab97ecdb3216857d2acc8395103f89164eaadac87cce4e9e16445c89541
  F src/os_setup.h 6011ad7af5db4e05155f385eb3a9b4470688de6f65d6166b8956e58a3d872107
- F src/os_unix.c 6a1e13c207b146cf4b5d82d359cf80e38acd112e56e32b4403a76b98fb7a8ec7
 -F src/os_unix.c 60787ed9f2492a9f2f0ca5cca2d80cdbfd6e8f45a1b1560790ff39c9dfc680c0
++F src/os_unix.c 45e922648f484c6233cce5b1b79de9b168acb4e4af359702cd3850cb5416ab90
  F src/os_win.c 295fe45f18bd86f2477f4cd79f3377c6f883ceb941b1f46808665c73747f2345
  F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
- F src/pager.c 6d3a93a7abfcb17e69ceb8a5e78ab74a0234ebf2a87819cc63d5c6044e78834c
 -F src/pager.c 00bffff42b0488a00cdbda39c02a2363a50c24863cb89af24b0d373148931162
 -F src/pager.h c49ff262186a78bc5f27e3891edefb900afa769b9e2eaeca0322c7f3553536d4
 -F src/parse.y 8e67d820030d2655b9942ffe61c1e7e6b96cea2f2f72183533299393907d0564
++F src/pager.c 291f2b2266c630a5dcdb5a4436f1b20c5a417de8dffd03d94860788484f4581b
 +F src/pager.h 3ddab454e313da7c93f92fea35c842ad17ae9f4e96254871ddb0171b2bfb859a
 +F src/parse.y 17c50d262d92083badeb60b3ebe4725e19c76548f90aea898ab07d4f2940a7d8
  F src/pcache.c f4268f7f73c6a3db12ce22fd25bc68dc42315d19599414ab1207d7cf32f79197
  F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586
  F src/pcache1.c dee95e3cd2b61e6512dc814c5ab76d5eb36f0bfc9441dbb4260fccc0d12bbddc
  F src/pragma.c f96c2f99bb5c9c9a3a6978a381d909ac9abd04ac884245019d98010899348c42
 -F src/pragma.h e690a356c18e98414d2e870ea791c1be1545a714ba623719deb63f7f226d8bb7
 +F src/pragma.h 1f421360eed1a7721e8c521463df8519a7c8d0d5893ebd9dbfe0dba8de996f8c
- F src/prepare.c 1b02be0441eda4579471fea097f678effcbb77ef0c39ab3f703c837822bcd674
- F src/printf.c e99ee9741e79ae3873458146f59644276657340385ade4e76a5f5d1c25793764
+ F src/prepare.c 9ebd3a1b12bbd1951f0d6db850f32cf5d4547a6ab8bb9e958d75dfbe4e60d0a3
+ F src/printf.c ff4b05e38bf928ff1b80d3dda4f977b10fe39ecbfe69c018224c7e5594fb2455
 -F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
 +F src/random.c 9bd018738ec450bf35d28050b4b33fa9a6eebf3aaefb1a1cff42dc14a7725673
  F src/resolve.c efea4e5fbecfd6d0a9071b0be0d952620991673391b6ffaaf4c277b0bb674633
  F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
- F src/select.c 363bef2cd043d0ba070ffcaabac6b52a209c2aa59eb34935b547db7eb8268139
- F src/shell.c.in 458cb3de9d548342fc645b699620b1af3de770d2ceec09ac71f86c19bd244064
- F src/sqlite.h.in 88bd91bf629f608400af52c01de8e9cfd04584b68ddafb329b095bbe80c4c62e
 -F src/select.c 83de67e4857be2866d048c98e93f65461d8a0408ca4ce88fec68ebfe030997ae
++F src/select.c e0ec5c22fe0b0ca4fa94732d6d16af6df9f77dfde245ac462c50a3f1123d4ff4
+ F src/shell.c.in 24e0c75947dd8a3426473d90dfc4887f42553c8b57dff02a6865f04c5efcf864
 -F src/sqlite.h.in e752f82b9d71f1d42b259b1900e4b1caf0965e844d756cd5cc91cc2cf45ed925
++F src/sqlite.h.in 6e33b6c208f01d746c2bd7fe8747dbe8469877c3b3abb601c0251e137105028a
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
  F src/sqlite3ext.h c4b9fa7a7e2bcdf850cfeb4b8a91d5ec47b7a00033bc996fd2ee96cbf2741f5f
- F src/sqliteInt.h db846794194ce108b4dd343a516910b07cf0f7d8e3497b9a6028e792af1f5047
 -F src/sqliteInt.h da23a13868fc76ca8e16931c825f62b778754055d52448e46d6620e766e0af34
++F src/sqliteInt.h 85914752405dbbbb978cff80f0697a4cc7ec4d45195d12caf462e255b14784bd
  F src/sqliteLimit.h d7323ffea5208c6af2734574bae933ca8ed2ab728083caa117c9738581a31657
  F src/status.c 160c445d7d28c984a0eae38c144f6419311ed3eace59b44ac6dafc20db4af749
  F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
  F src/tclsqlite.c 4e64ba300a5a26e0f1170e09032429faeb65e45e8f3d1a7833e8edb69fc2979e
- F src/test1.c 917aafccba9b2061cc52471fefad26dfce4a490df4b04d763f28baa8e0b148ca
 -F src/test1.c 98f4a4525e10b0df164ba7f33950824348bb29fd582101e0f93b1af72f493154
++F src/test1.c 741d7a904a01ded100ee021023886b12ad16f704481a470e5a5403013defef2f
  F src/test2.c 827446e259a3b7ab949da1542953edda7b5117982576d3e6f1c24a0dd20a5cef
  F src/test3.c 61798bb0d38b915067a8c8e03f5a534b431181f802659a6616f9b4ff7d872644
  F src/test4.c 4533b76419e7feb41b40582554663ed3cd77aaa54e135cf76b3205098cd6e664
@@@ -670,9 -672,9 +678,9 @@@ F src/test_backup.c bf5da90c9926df0a4b9
  F src/test_bestindex.c 8294d8223b7f18a3ddb7f9a0e30815dcca4e61681f78b538c870f7d934f88b81
  F src/test_blob.c ae4a0620b478548afb67963095a7417cd06a4ec0a56adb453542203bfdcb31ce
  F src/test_btree.c 8b2dc8b8848cf3a4db93f11578f075e82252a274
 -F src/test_config.c 8264637b06a3c1f0727c88d1ea32dcf7986b9e7e358a970cae87cdac8a5b2708
 +F src/test_config.c c7a93ef3c0c881e3c46ff14163af886a602317206d82a7dc4ebbf400e661a6ff
  F src/test_delete.c e2fe07646dff6300b48d49b2fee2fe192ed389e834dd635e3b3bac0ce0bf9f8f
- F src/test_demovfs.c 7cc7623d1025d1e92c51da20fd25060759733b7a356a121545a3b7d2faa8a0f1
+ F src/test_demovfs.c 38a459d1c78fd9afa770445b224c485e079018d6ac07332ff9bd07b54d2b8ce9
  F src/test_devsym.c aff2255ea290d7718da08af30cdf18e470ff7325a5eff63e0057b1496ed66593
  F src/test_fs.c ba1e1dc18fd3159fdba0b9c4256f14032159785320dfbd6776eb9973cb75d480
  F src/test_func.c 24df3a346c012b1fc9e1001d346db6054deb426db0a7437e92490630e71c9b0a
@@@ -710,18 -712,18 +718,18 @@@ F src/test_window.c cdae419fdcea5bad6dc
  F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
  F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c
  F src/tokenize.c 1305797eab3542a0896b552c6e7669c972c1468e11e92b370533c1f37a37082b
- F src/treeview.c 07787f67cd297a6d09d04b8d70c06769c60c9c1d9080378f93929c16f8fd3298
- F src/trigger.c 4163ada044af89d51caba1cb713a73165347b2ec05fe84a283737c134d61fcd5
- F src/update.c 40918db2449022ee11c7df852df8d4d8e3e77ca4386a9399bbd562c4e702098e
+ F src/treeview.c 29b1dc7e0f84ba090734febe27393d4719682af0cae1b902d5ebf0236ecebea4
+ F src/trigger.c 5e68b790f022b8dafbfb0eb244786512a95c9575fc198719d2557d73e5795858
 -F src/update.c f118e51768d2c1309e3c81e9f91141b22b8a1339cbc5969b1b2d810feaa25b22
++F src/update.c 898711048832006296d5b5f7dfad059c8f436048226bb0640f90fd8c0752fb65
  F src/upsert.c 5303dc6c518fa7d4b280ec65170f465c7a70b7ac2b22491598f6d0b4875b3145
  F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
- F src/util.c 0be191521ff6d2805995f4910f0b6231b42843678b2efdc1abecaf39929a673f
+ F src/util.c 313f3154e2b85a447326f5dd15de8d31a4df6ab0c3579bd58f426ff634ec9050
 -F src/vacuum.c 84ce7f01f8a7a08748e107a441db83bcec13970190ddcb0c9ff522adbc1c23fd
 -F src/vdbe.c b56f5233b403babfbec738745b3438ebbb5bd5552644ce6634ae7575910ca1a7
 +F src/vacuum.c f6e47729554e0d2c576bb710c415d5bc414935be0d7a70f38d1f58ffa7a6d8c0
- F src/vdbe.c 687a642e6cb46fa3b582a5c2ce227f8b49f70ad18cca6ae3b1b36f5a6b559f14
- F src/vdbe.h 58675f47dcf3105bab182c3ad3726efd60ffd003e954386904ac9107d0d2b743
- F src/vdbeInt.h 17b7461ffcf9ee760d1341731715a419f6b8c763089a7ece25c2e8098d702b3f
- F src/vdbeapi.c 1e8713d0b653acb43cd1bdf579c40e005c4844ea90f414f065946a83db3c27fb
- F src/vdbeaux.c fc2a532acdc75265f4f4e236e004ef22dba4a6e1aababb31c504a4b954aa9819
++F src/vdbe.c 29630d69aef37c3ac6d3fb94043241aa195a816a955c600d044a8141017c8cf9
+ F src/vdbe.h 73b904a6b3bb27f308c6cc287a5751ebc7f1f89456be0ed068a12b92844c6e8c
+ F src/vdbeInt.h 8651e4c4e04d1860d0bdcf330cb8294e3778a9d4222be30ce4c490d9220af783
+ F src/vdbeapi.c df3f73a4d0a487f2068e3c84776cd6e3fba5ae80ff612659dcfda4307686420b
 -F src/vdbeaux.c 25691b395bf57ae0a754570fc3ba2d6f8bd2f0a8944f1d2589b9e68114e01c2b
++F src/vdbeaux.c 2eee24133b51fd721bbbd01b5a99bc76afc6d37f334d6c5bdb20bab2a077047e
  F src/vdbeblob.c 5e61ce31aca17db8fb60395407457a8c1c7fb471dde405e0cd675974611dcfcd
  F src/vdbemem.c 6cfed43758d57b6e3b99d9cdedfeccd86e45a07e427b22d8487cbdbebb6c522a
  F src/vdbesort.c 43756031ca7430f7aec3ef904824a7883c4ede783e51f280d99b9b65c0796e35
@@@ -729,17 -731,17 +737,17 @@@ F src/vdbetrace.c fe0bc29ebd4e02c8bc5c1
  F src/vdbevtab.c f99b275366c5fc5e2d99f734729880994ab9500bdafde7fae3b02d562b9d323c
  F src/vtab.c b2f993aa954078985bc40317bb2140fe0880a08a7440f3a428b60fce74636808
  F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
 -F src/wal.c f5fcbb7c5692690d877fb65f97f392cfd6a568e56c765c3f3f18bb9ed82409ed
 -F src/wal.h d01234e828943e002040c22a7e017642962f9fd9b2dc142fa599769ae4e459e9
 +F src/wal.c 393ffbef8381b50265a3f0de5cf3c68d0df6c6867df429c5719c2446e9254126
 +F src/wal.h 7a733af13b966ecb81872ce397e862116b3575ea53245b90b139a2873ee87825
  F src/walker.c f890a3298418d7cba3b69b8803594fdc484ea241206a8dfa99db6dd36f8cbb3b
- F src/where.c 1ef5aae7fac877057b9f360f06b26d4275888460d8fb6e92bbb9e70e07afe946
- F src/whereInt.h df0c79388c0b71b4a91f480d02791679fe0345d40410435c541c8893e95a4d3f
- F src/wherecode.c 133a94f82858787217d073143617df19e4a6a7d0b771a1519f957608109ad5a5
+ F src/where.c d0d8e3cb2c11e77ba0f8f9ed8eada9d84dbd377167cdcf387b8eeb824c35a3ad
+ F src/whereInt.h e25203e5bfee149f5f1225ae0166cfb4f1e65490c998a024249e98bb0647377c
+ F src/wherecode.c 76bca3379219880d2527493b71a3be49e696f75396d3481e4de5d4ceec7886b2
  F src/whereexpr.c 05295b44b54eea76d1ba766f0908928d0e20e990c249344c9521454d3d09c7ae
- F src/window.c 928e215840e2f2d9a2746e018c9643ef42c66c4ab6630ef0df7fa388fa145e86
+ F src/window.c 14836767adb26573b50f528eb37f8b1336f2c430ab38de7cead1e5c546bb4d8c
  F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
  F test/affinity2.test ce1aafc86e110685b324e9a763eab4f2a73f737842ec3b687bd965867de90627
- F test/affinity3.test b5c19d504dec222c0dc66642673d23dce915d35737b68e74d9f237b80493eb53
+ F test/affinity3.test f094773025eddf31135c7ad4cde722b7696f8eb07b97511f98585addf2a510a9
  F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
  F test/aggnested.test 7269d07ac879fce161cb26c8fabe65cba5715742fac8a1fccac570dcdaf28f00
  F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87
@@@ -817,8 -819,8 +825,9 @@@ F test/backup_ioerr.test 4c3c7147cee85b
  F test/backup_malloc.test 0c9abdf74c51e7bedb66d504cd684f28d4bd4027
  F test/badutf.test d5360fc31f643d37a973ab0d8b4fb85799c3169f
  F test/badutf2.test f310fd3b24a491b6b77bccdf14923b85d6ebcce751068c180d93a6b8ff854399
+ F test/basexx1.test d8a50f0744b93dca656625597bcd3499ff4b9a4ea2a82432b119b7d46e3e0c08
  F test/bc_common.tcl b5e42d80305be95697e6370e015af571e5333a1c
 +F test/bc_test1.c e0a092579552e066ed4ce7bcdaecfa69c4aacc8d
  F test/bestindex1.test 856a453dff8c68b4568601eed5a8b5e20b4763af9229f3947c215729ed878db0
  F test/bestindex2.test 394ff8fbf34703391247116d6a44e1c50ee7282236ee77909044573cefc37bc0
  F test/bestindex3.test 34bea272b0e0f835651b16a3931dbe7ac927039be6b2e1cb617bbe1d584b492b
@@@ -2017,9 -2010,9 +2029,9 @@@ F tool/mkctimec.tcl c185cf1bdcd3d9bd3c0
  F tool/mkkeywordhash.c 35bfc41adacc4aa6ef6fca7fd0c63e0ec0534b78daf4d0cfdebe398216bbffc3
  F tool/mkmsvcmin.tcl 6ecab9fe22c2c8de4d82d4c46797bda3d2deac8e763885f5a38d0c44a895ab33
  F tool/mkopcodec.tcl 33d20791e191df43209b77d37f0ff0904620b28465cca6990cf8d60da61a07ef
- F tool/mkopcodeh.tcl bcb2bd5affb545fd219ef0304c7978e2a356407ab723f45ec8569235892c1c3f
+ F tool/mkopcodeh.tcl 769d9e6a8b462323150dc13a8539d6064664b72974f7894befe2491cc73e05cd
  F tool/mkopts.tcl 680f785fdb09729fd9ac50632413da4eadbdf9071535e3f26d03795828ab07fa
 -F tool/mkpragmatab.tcl bd07bd59d45d0f3448e123d6937e9811195f9908a51e09d774609883055bfd3d
 +F tool/mkpragmatab.tcl 8dcba40365eceba24f059d82bbc8b61bb647d5a0b8076f24a1876872a1b58832
  F tool/mkshellc.tcl 02d0de8349ef830c0fb20d29680320bde2466e2ec422e5bd94c4317a7a7e8cc9
  F tool/mksourceid.c 36aa8020014aed0836fd13c51d6dc9219b0df1761d6b5f58ff5b616211b079b9
  F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
@@@ -2061,11 -2054,9 +2073,11 @@@ F tool/stack_usage.tcl f8e71b92cdb099a1
  F tool/stripccomments.c 20b8aabc4694d0d4af5566e42da1f1a03aff057689370326e9269a9ddcffdc37
  F tool/symbols-mingw.sh 4dbcea7e74768305384c9fd2ed2b41bbf9f0414d
  F tool/symbols.sh 1612bd947750e21e7b47befad5f6b3825b06cce0705441f903bf35ced65ae9b9
 +F tool/tserver.c 17b7f0b06f4e776e26220889941a86936b3c56ad18608baadc8faa00b7bd46ee
 +F tool/tserver_test.tcl 64415a134749ac3f38c9abd2bb95c7387a9b44e5116419487fd008cff8a459db
  F tool/varint.c 5d94cb5003db9dbbcbcc5df08d66f16071aee003
  F tool/vdbe-compress.tcl 1dcb7632e57cf57105248029e6e162fddaf6c0fccb3bb9e6215603752c5a2d4a
- F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
+ F tool/vdbe_profile.tcl 3ac5a4a9449f4baf77059358ea050db3e34395ccf59c5464d29b91746d5b961e
  F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
  F tool/warnings.sh d58dc38367cc776550f90327e205d7946802d4004fb9f291fd8b81256bc1eedd
  F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
@@@ -2090,8 -2081,8 +2102,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 b0e2b9aa2c77af8c1e5b35a49f58610c8ac7063a63fd61c34bff6050348e068f 2df915ef04a64cc8027330013f73ac0ee1fee8cb6eb61f3a608c21ea419d5928
- R dc1741efc143c2fb4c4d3d73a664670c
 -P 2df915ef04a64cc8027330013f73ac0ee1fee8cb6eb61f3a608c21ea419d5928 371f9b88387a44a5f820279d79733d1deb7eafc72f320ec47a11679bbdbb49ef
 -R 49b47dce549070fdf0e26caa1202ee02
++P a090de41be2a727cdb98f02df3d793d94101ca7004c1023c86ae2ad55b5f9c5b 21ebd4cfcf843925cf8eaeb2f7e196713dba116cf618aea9f9f40e31f6aa6653
++R 544b11c1cde1fc2ec0d45186182d0afc
  U drh
- Z 77aac3c4187a8013d5a466b29f7fd9c2
 -Z ec42f02a54ea2ba1f1b2e203ece6c970
++Z b08c936308294a8392ff255929f0a76f
  # Remove this line to create a well-formed Fossil manifest.
diff --cc manifest.uuid
index a8b68ddc48c8b0004881b53a2111a24c35fe40c4,d12703a32631dae1b8343b7a167930f34350d643..2e24b400d583103d51522e1dcab1c1eb960d6e8c
@@@ -1,1 -1,1 +1,1 @@@
- a090de41be2a727cdb98f02df3d793d94101ca7004c1023c86ae2ad55b5f9c5b
 -21ebd4cfcf843925cf8eaeb2f7e196713dba116cf618aea9f9f40e31f6aa6653
++bcab19d21be42121f1ea3961aedbbe463c60d85d0a3dd8b9593040d217bac3a7
diff --cc src/btree.c
index cd867427689ac728f4943f0535eaf25aa58070c0,0a330ba0772760dca70a41f112c2bdca395415c0..403e5b1eb1b8f333c2c22b8507719129a503bb3d
@@@ -3739,7 -3493,6 +3744,7 @@@ int sqlite3BtreeBeginTrans(Btree *p, in
    BtShared *pBt = p->pBt;
    Pager *pPager = pBt->pPager;
    int rc = SQLITE_OK;
-   int bConcurrent = (p->db->eConcurrent && !ISAUTOVACUUM);
++  int bConcurrent = (p->db->eConcurrent && !ISAUTOVACUUM(pBt));
  
    sqlite3BtreeEnter(p);
    btreeIntegrity(p);
@@@ -6740,21 -6277,17 +6745,21 @@@ static int allocateBtreePage
      ** shows that the page 'nearby' is somewhere on the free-list, then
      ** the entire-list will be searched for that page.
      */
 -#ifndef SQLITE_OMIT_AUTOVACUUM
      if( eMode==BTALLOC_EXACT ){
-       assert( ISAUTOVACUUM!=ISCONCURRENT );
-       if( ISAUTOVACUUM ){
 -      if( nearby<=mxPage ){
 -        u8 eType;
 -        assert( nearby>0 );
 -        assert( pBt->autoVacuum );
 -        rc = ptrmapGet(pBt, nearby, &eType, 0);
 -        if( rc ) return rc;
 -        if( eType==PTRMAP_FREEPAGE ){
 -          searchList = 1;
++      assert( ISAUTOVACUUM(pBt)!=ISCONCURRENT );
++      if( ISAUTOVACUUM(pBt) ){
 +        if( nearby<=mxPage ){
 +          u8 eType;
 +          assert( nearby>0 );
 +          assert( pBt->autoVacuum );
 +          rc = ptrmapGet(pBt, nearby, &eType, 0);
 +          if( rc ) return rc;
 +          if( eType==PTRMAP_FREEPAGE ){
 +            searchList = 1;
 +          }
          }
 +      }else{
 +        searchList = 1;
        }
      }else if( eMode==BTALLOC_LE ){
        searchList = 1;
@@@ -7559,11 -7092,9 +7560,10 @@@ static int insertCell
      assert( j==0 || pPage->aiOvfl[j-1]<(u16)i ); /* Overflows in sorted order */
      assert( j==0 || i==pPage->aiOvfl[j-1]+1 );   /* Overflows are sequential */
    }else{
 +    BtShared *pBt = pPage->pBt;
      int rc = sqlite3PagerWrite(pPage->pDbPage);
      if( rc!=SQLITE_OK ){
-       *pRC = rc;
-       return;
+       return rc;
      }
      assert( sqlite3PagerIswriteable(pPage->pDbPage) );
      data = pPage->aData;
      /* increment the cell count */
      if( (++data[pPage->hdrOffset+4])==0 ) data[pPage->hdrOffset+3]++;
      assert( get2byte(&data[pPage->hdrOffset+3])==pPage->nCell || CORRUPT_DB );
 -#ifndef SQLITE_OMIT_AUTOVACUUM
 -    if( pPage->pBt->autoVacuum ){
 +    if( REQUIRE_PTRMAP ){
+       int rc2 = SQLITE_OK;
        /* The cell may contain a pointer to an overflow page. If so, write
        ** the entry for the overflow page into the pointer map.
        */
-       ptrmapPutOvflPtr(pPage, pPage, pCell, pRC);
+       ptrmapPutOvflPtr(pPage, pPage, pCell, &rc2);
+       if( rc2 ) return rc2;
      }
 -#endif
    }
+   return SQLITE_OK;
  }
  
  /*
@@@ -9650,6 -9192,6 +9661,7 @@@ int sqlite3BtreeInsert
    idx = pCur->ix;
    if( loc==0 ){
      CellInfo info;
++    BtShared *pBt = p->pBt;
      assert( idx>=0 );
      if( idx>=pPage->nCell ){
        return SQLITE_CORRUPT_BKPT;
@@@ -11547,102 -11083,17 +11559,113 @@@ int sqlite3BtreeIsReadonly(Btree *p)
  */
  int sqlite3HeaderSizeBtree(void){ return ROUND8(sizeof(MemPage)); }
  
 +/*
 +** This function is called to ensure that all locks required to commit the
 +** current write-transaction to the database file are held. If the db is
 +** in rollback mode, this means the EXCLUSIVE lock on the database file.
 +**
 +** Or, if this is an CONCURRENT transaction on a wal-mode database, the WRITER
 +** lock on the wal file. In this case this function also checks that the
 +** CONCURRENT transaction can be safely committed (does not commit with any
 +** other transaction committed since it was opened).
 +**
 +** SQLITE_OK is returned if successful. SQLITE_BUSY if the required locks
 +** cannot be obtained due to a conflicting lock. If the locks cannot be
 +** obtained for an CONCURRENT transaction due to a conflict with an already
 +** committed transaction, SQLITE_BUSY_SNAPSHOT is returned. Otherwise, if
 +** some other error (OOM, IO, etc.) occurs, the relevant SQLite error code
 +** is returned.
 +*/
 +int sqlite3BtreeExclusiveLock(Btree *p){
 +  int rc;
 +  Pgno pgno = 0;
 +  BtShared *pBt = p->pBt;
 +  assert( p->inTrans==TRANS_WRITE && pBt->pPage1 );
 +  sqlite3BtreeEnter(p);
 +  rc = sqlite3PagerExclusiveLock(pBt->pPager, 
 +    (p->db->eConcurrent==CONCURRENT_SCHEMA) ? 0 : pBt->pPage1->pDbPage,
 +    &pgno
 +  );
 +#ifdef SQLITE_OMIT_CONCURRENT
 +  assert( pgno==0 );
 +#else
 +  if( rc==SQLITE_BUSY_SNAPSHOT && pgno ){
 +    PgHdr *pPg = 0;
 +    int rc2 = sqlite3PagerGet(pBt->pPager, pgno, &pPg, 0);
 +    if( rc2==SQLITE_OK ){
 +      int bWrite = -1;
 +      const char *zObj = 0;
 +      const char *zTab = 0;
 +      char zContent[17];
 +
 +      if( pPg ){
 +        Pgno pgnoRoot = 0;
 +        HashElem *pE;
 +        Schema *pSchema;
 +        u8 *aData = (u8*)sqlite3PagerGetData(pPg);
 +        int i;
 +        for(i=0; i<8; i++){
 +          static const char hexdigits[] = {
 +            '0', '1', '2', '3', '4', '5', '6', '7',
 +            '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' 
 +          };
 +          zContent[i*2] = hexdigits[(aData[i] >> 4)];
 +          zContent[i*2+1] = hexdigits[(aData[i] & 0xF)];
 +        }
 +        zContent[16] = '\0';
 +
 +        pgnoRoot = ((MemPage*)sqlite3PagerGetExtra(pPg))->pgnoRoot;
 +        bWrite = sqlite3PagerIswriteable(pPg);
 +        sqlite3PagerUnref(pPg);
 +
 +        pSchema = sqlite3SchemaGet(p->db, p);
 +        if( pSchema ){
 +          for(pE=sqliteHashFirst(&pSchema->tblHash); pE; pE=sqliteHashNext(pE)){
 +            Table *pTab = (Table *)sqliteHashData(pE);
 +            if( pTab->tnum==(int)pgnoRoot ){
 +              zObj = pTab->zName;
 +              zTab = 0;
 +            }else{
 +              Index *pIdx;
 +              for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
 +                if( pIdx->tnum==(int)pgnoRoot ){
 +                  zObj = pIdx->zName;
 +                  zTab = pTab->zName;
 +                }
 +              }
 +            }
 +          }
 +        }
 +      }
 +
 +      sqlite3_log(SQLITE_OK,
 +          "cannot commit CONCURRENT transaction "
 +          "- conflict at page %d "
 +          "(%s page; part of db %s %s%s%s; content=%s...)",
 +          (int)pgno,
 +          (bWrite==0?"read-only":(bWrite>0?"read/write":"unknown")),
 +          (zTab ? "index" : "table"),
 +          (zTab ? zTab : ""), (zTab ? "." : ""), (zObj ? zObj : "UNKNOWN"),
 +          zContent
 +      );
 +    }
 +  }
 +#endif
 +  sqlite3BtreeLeave(p);
 +  return rc;
 +}
 +
+ /*
+ ** If no transaction is active and the database is not a temp-db, clear
+ ** the in-memory pager cache.
+ */
+ void sqlite3BtreeClearCache(Btree *p){
+   BtShared *pBt = p->pBt;
+   if( pBt->inTransaction==TRANS_NONE ){
+     sqlite3PagerClearCache(pBt->pPager);
+   }
+ }
  #if !defined(SQLITE_OMIT_SHARED_CACHE)
  /*
  ** Return true if the Btree passed as the only argument is sharable.
diff --cc src/btree.h
Simple merge
diff --cc src/btreeInt.h
index 0782fe1c5bfcf6691b68c6d272828e4a33ce4a55,af295dd5071ee92727f7bb69e2341dcaf882bf9a..de9f47e470ddcdaa7cfc3f61acba8a8f7e6b735e
@@@ -680,19 -673,12 +680,19 @@@ struct BtCursor 
  ** (sqliteMallocRaw), it is not possible to use conditional compilation.
  ** So, this macro is defined instead.
  */
 -#ifndef SQLITE_OMIT_AUTOVACUUM
 +#ifdef SQLITE_OMIT_AUTOVACUUM
- #define ISAUTOVACUUM 0
++#define ISAUTOVACUUM(pBt) 0
 +#else
- #define ISAUTOVACUUM (pBt->autoVacuum)
+ #define ISAUTOVACUUM(pBt) (pBt->autoVacuum)
 +#endif
 +
 +#ifdef SQLITE_OMIT_CONCURRENT
 +# define ISCONCURRENT 0
  #else
 -#define ISAUTOVACUUM(pBt) 0
 +# define ISCONCURRENT (pBt->pMap!=0)
  #endif
  
- #define REQUIRE_PTRMAP (ISAUTOVACUUM || ISCONCURRENT)
++#define REQUIRE_PTRMAP (ISAUTOVACUUM(pBt) || ISCONCURRENT)
  
  /*
  ** This structure is passed around through all the sanity checking routines
diff --cc src/build.c
Simple merge
diff --cc src/func.c
Simple merge
diff --cc src/main.c
Simple merge
diff --cc src/os_unix.c
Simple merge
diff --cc src/pager.c
Simple merge
diff --cc src/select.c
Simple merge
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/sqliteInt.h
Simple merge
diff --cc src/test1.c
Simple merge
diff --cc src/update.c
Simple merge
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbeaux.c
Simple merge