]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge latest trunk changes into this branch.
authordan <Dan Kennedy>
Thu, 26 Nov 2020 18:08:59 +0000 (18:08 +0000)
committerdan <Dan Kennedy>
Thu, 26 Nov 2020 18:08:59 +0000 (18:08 +0000)
FossilOrigin-Name: cb1f6f18e74aeff522c332cb6c8f4c202bba8fba4ff7869198e4501ffa4a0387

13 files changed:
1  2 
Makefile.in
Makefile.msc
main.mk
manifest
manifest.uuid
src/btree.c
src/pager.c
src/pragma.c
src/test_hexio.c
src/vdbe.c
src/wal.c
test/permutations.test
test/tester.tcl

diff --cc Makefile.in
index 16eea3df118900a948056953f08f78d07cf87cd0,6ab49dbe9aec5d5653aa7eb2092036764fa52101..76c7df32ca423d6f6c516ec0529e913e68f71829
@@@ -440,8 -440,8 +440,9 @@@ TESTSRC += 
    $(TOP)/ext/expert/sqlite3expert.c \
    $(TOP)/ext/expert/test_expert.c \
    $(TOP)/ext/misc/amatch.c \
 +  $(TOP)/ext/misc/bgckpt.c \
    $(TOP)/ext/misc/carray.c \
+   $(TOP)/ext/misc/cksumvfs.c \
    $(TOP)/ext/misc/closure.c \
    $(TOP)/ext/misc/csv.c \
    $(TOP)/ext/misc/decimal.c \
diff --cc Makefile.msc
index 4d4a37560d3f6777c569f15731908a2e61f9c62a,404e3b2360364e48ca36eaece1f4f1a23cac7abe..79dd5ca95c715299465ac61e756b2c7bf4c3709d
@@@ -1557,8 -1557,8 +1557,9 @@@ TESTEXT = 
    $(TOP)\ext\expert\sqlite3expert.c \
    $(TOP)\ext\expert\test_expert.c \
    $(TOP)\ext\misc\amatch.c \
 +  $(TOP)\ext\misc\bgckpt.c \
    $(TOP)\ext\misc\carray.c \
+   $(TOP)\ext\misc\cksumvfs.c \
    $(TOP)\ext\misc\closure.c \
    $(TOP)\ext\misc\csv.c \
    $(TOP)\ext\misc\decimal.c \
diff --cc main.mk
index af4769dbc4a1249f2a3392b2c54524e247615edf,e47e85fdfbfeae8f4f2c5889aeae8a93599b2ab4..0569f53929d6bc8581ace83f2f03a293b8f17adf
+++ b/main.mk
@@@ -360,8 -360,8 +360,9 @@@ TESTSRC = 
  #
  TESTSRC += \
    $(TOP)/ext/misc/amatch.c \
 +  $(TOP)/ext/misc/bgckpt.c \
    $(TOP)/ext/misc/carray.c \
+   $(TOP)/ext/misc/cksumvfs.c \
    $(TOP)/ext/misc/closure.c \
    $(TOP)/ext/misc/csv.c \
    $(TOP)/ext/misc/decimal.c \
diff --cc manifest
index 5e5b81e19c64960741e0709e384d70a8592bf55d,289318d6a17254423e722b7cc765fb74892ac684..c58b0f659f2cc6c2f3f1028c1acee5b004fd7ad5
+++ b/manifest
@@@ -1,13 -1,13 +1,13 @@@
- C Declare\sa\svariable\s"const"\sin\sorder\sto\savoid\scompiler\swarnings.
- D 2020-11-20T11:17:48.207
 -C Update\sa\srequirement\smark\sin\sthe\se_expr.test\sscript.
 -D 2020-11-25T18:44:20.962
++C Merge\slatest\strunk\schanges\sinto\sthis\sbranch.
++D 2020-11-26T18:08:59.690
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
- F Makefile.in bc97b60ea298599e94007cab1000a317eb73f6937b883d70bef11f13067af1c6
 -F Makefile.in 0e88f5d095213a9ccd45c5bbd871c8ead498f886dff4493471fbf48b1f867f9d
++F Makefile.in c16e8a694897f4e6cb26bab4e79306a425f85e30eed63c2a4f1cf36c52a531e2
  F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241
- F Makefile.msc 4cc26a00aa9fce4d1d6cc19bc93a881ea7476f3ab4b90f79dd08ec9594a2a9be
 -F Makefile.msc dd10dbf63b2f8ac3e2f0542963a21bc69058976ac4355165f212a31c83d17f44
++F Makefile.msc 305ae9c05ae24bdfcd782a5515a44ad0f6f9855bef69b352bc36be385493c1ce
  F README.md 1514a365ffca3c138e00c5cc839906108a01011a6b082bad19b09781e3aa498a
- F VERSION 5db2ee2cfcc790af73775fa485c13b2e8ccaa5936c6e1f47aedeba7056041ca5
+ F VERSION 4027b9aea92d64385570778ebd14388c0b23e92aafda15e7b89c45886c9b920a
  F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
  F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
  F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
@@@ -34,16 -34,16 +34,17 @@@ F autoconf/tea/win/rules.vc c511f222b80
  F config.guess 883205ddf25b46f10c181818bf42c09da9888884af96f79e1719264345053bd6
  F config.h.in 6376abec766e9a0785178b1823b5a587e9f1ccbc
  F config.sub c2d0260f17f3e4bc0b6808fccf1b291cb5e9126c14fc5890efc77b9fd0175559
- F configure a97f98dfff699495aef66ae3d9c424345778a663f583e0d6e7522670518f87c1 x
- F configure.ac 40d01e89cb325c28b33f5957e61fede0bd17da2b5e37d9b223a90c8a318e88d4
+ F configure e7df2824b6e60d482d919fb3e7d823faf08467093b096ad47a4fe2eec3f0ba99 x
+ F configure.ac 73545c21eebcef9398d85c982c7be260f07708256778221b541f83ae8c6f61eb
  F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad
  F doc/F2FS.txt c1d4a0ae9711cfe0e1d8b019d154f1c29e0d3abfe820787ba1e9ed7691160fcd
- F doc/lemon.html 1edc0f916e771212792d4d077aedc05168bf13fd65d64d41b2c13e46ac0063a8
+ F doc/lemon.html c5d8ba85ac1daef7be8c2d389899480eb62451ff5c09b0c28ff8157bb8770746
  F doc/pager-invariants.txt 27fed9a70ddad2088750c4a2b493b63853da2710
  F doc/trusted-schema.md 33625008620e879c7bcfbbfa079587612c434fa094d338b08242288d358c3e8a
+ F doc/vdbesort-memory.md 4da2639c14cd24a31e0af694b1a8dd37eaf277aff3867e9a8cc14046bc49df56
  F doc/vfs-shm.txt e101f27ea02a8387ce46a05be2b1a902a021d37a
  F doc/wal-lock.md 781726aaba20bafeceb7ba9f91d5c98c6731691b30c954e37cf0b49a053d461d
 +F doc/wal2.md a807405a05e19a4945c5905a9ffa0fe45b8560dd7572461192501f565c19cdb5
  F ext/README.md fd5f78013b0a2bc6f0067afb19e6ad040e89a10179b4f6f03eee58fac5f169bd
  F ext/async/README.txt e12275968f6fde133a80e04387d0e839b0c51f91
  F ext/async/sqlite3async.c 6f247666b495c477628dd19364d279c78ea48cd90c72d9f9b98ad1aff3294f94
@@@ -284,11 -286,11 +287,12 @@@ F ext/misc/README.md d6dd0fe1d8af770402
  F ext/misc/amatch.c e3ad5532799cee9a97647f483f67f43b38796b84b5a8c60594fe782a4338f358
  F ext/misc/anycollseq.c 5ffdfde9829eeac52219136ad6aa7cd9a4edb3b15f4f2532de52f4a22525eddb
  F ext/misc/appendvfs.c 55121d311d408ba9c62c3cfa367408887638f02f9522dd9859891d0ee69a7eba
 +F ext/misc/bgckpt.c 49ae19aa03e6da393db5d17da256374d4c4d36889fdd89d6e4bc93aca2b752e6
  F ext/misc/blobio.c a867c4c4617f6ec223a307ebfe0eabb45e0992f74dd47722b96f3e631c0edb2a
  F ext/misc/btreeinfo.c d28ce349b40054eaa9473e835837bad7a71deec33ba13e39f963d50933bfa0f9
- F ext/misc/carray.c 91e9a7f512fda934894bed30464552fffa7d3073b5be04189ae0bd0c59f26bfd
- F ext/misc/cksumvfs.c 0f022867786b615d7f68fb3ab3a16627fe6a730442abf804735e18a73f835a83
+ F ext/misc/carray.c b75a0f207391038bf1540d3372f482a95c3613511c7c474db51ede1196321c7c
+ F ext/misc/carray.h de74ac70b2338f416723f7d538026e8ec0b7f1d388319f8f140c9a4d7677f02e
+ F ext/misc/cksumvfs.c c4e7ebeae5aa578df98f23bddb63ecbcbe913ee3c32b8b769525af100d752061
  F ext/misc/closure.c dbfd8543b2a017ae6b1a5843986b22ddf99ff126ec9634a2f4047cd14c85c243
  F ext/misc/completion.c 6dafd7f4348eecc7be9e920d4b419d1fb2af75d938cd9c59a20cfe8beb2f22b9
  F ext/misc/compress.c 3354c77a7c8e86e07d849916000cdac451ed96500bfb5bd83b20eb61eee012c9
@@@ -459,7 -461,7 +463,7 @@@ F ext/userauth/userauth.c 7f00cded7dcaa
  F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
  F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
  F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
- F main.mk 5cb0908868a365e23ab817403ca97dd2f4b3fd75dcb86da0698b013ec54e55d4
 -F main.mk 57451ea5b3d5cd86e9c5324b10c9de184b12e8dcccc31c65d24fbcb55ccd9c53
++F main.mk cf39ff6eb3b3c8b95a22ebc0764dbba3baa168b0c353ae8216294df45aa11f4d
  F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
  F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
  F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
@@@ -471,17 -473,17 +475,17 @@@ F spec.template 86a4a43b99ebb3e75e6b9a7
  F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
  F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786
  F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
- F src/alter.c 4bc16666a0df99d49658ec66f00ca36e541ec6cb39673ccc51be6a981fb9b2ce
- F src/analyze.c 5cffff3d355858cd22bfc6e20ac7203510d2e1cc935086eb06f4abb2f579f628
- F src/attach.c 0b11e00c166b622c84ec176773b1d691c61ad07d247809e3e1635d4e99e71d30
+ F src/alter.c b6de60d59419e34f5b48ff2b21fe0f9bb66fc714e5545a6ac790ac7a0c46548c
+ F src/analyze.c 01c6c6765cb4d40b473b71d85535093730770bb186f2f473abac25f07fcdee5c
+ F src/attach.c 0f497c15c4cfe3bdcb214f0dbdbbb6c5ed7e8a9308ac445c7959f5e5780437a9
  F src/auth.c a3d5bfdba83d25abed1013a8c7a5f204e2e29b0c25242a56bc02bb0c07bf1e06
- F src/backup.c b1c90cd4110248c8e1273ff4578d3a84c0c34725e1b96dacd4a6294a908702de
+ F src/backup.c 3014889fa06e20e6adfa0d07b60097eec1f6e5b06671625f476a714d2356513d
  F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33
  F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
- F src/btree.c e0f00b5a9533ba7c4a5fe1765bae56c8257bc4a27ce3d38e72d8a05b42621a1b
- F src/btree.h 7af72bbb4863c331c8f6753277ab40ee67d2a2125a63256d5c25489722ec162b
- F src/btreeInt.h 83166f6daeb91062b6ae9ee6247b3ad07e40eba58f3c05ba9e8dedad4ab1ea38
- F src/build.c dde514651cf3cf3a3a64a6e5c62384c01486c6faeabd165b3fe6dec6d2a0e113
 -F src/btree.c ee14224322b9e4172d01e691e2f289f6c630ae39b7906f84b72dc780b9e42a76
++F src/btree.c abfcbfc8aaf36639c13fdca7f5726aa42620ca4eb1edf1d27262bc9b7aaeaa1a
+ F src/btree.h dcdff4037d75b3f032a5de0d922fcfaf35d48589417f634fa8627362709315f9
+ F src/btreeInt.h ffd66480520d9d70222171b3a026d78b80833b5cea49c89867949f3e023d5f43
+ F src/build.c f6449d4e85e998e14d3f537e8ea898dca2fcb83c277db3e60945af9b9177db81
  F src/callback.c d0b853dd413255d2e337b34545e54d888ea02f20da5ad0e63585b389624c4a6c
  F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
  F src/ctime.c e98518d2d3d4029a13c805e07313fb60c877be56db76e90dd5f3af73085d0ce6
@@@ -521,29 -523,29 +525,29 @@@ F src/os.c 80e4cf3e5da06be03ca641661e33
  F src/os.h 48388821692e87da174ea198bf96b1b2d9d83be5dfc908f673ee21fafbe0d432
  F src/os_common.h b2f4707a603e36811d9b1a13278bffd757857b85
  F src/os_setup.h 0dbaea40a7d36bf311613d31342e0b99e2536586
- F src/os_unix.c 9b1b860163fd2d4d7679b5260d384d1a9f88ef917a90f28963eca8acd472d8c8
- F src/os_win.c a2149ff0a85c1c3f9cc102a46c673ce87e992396ba3411bfb53db66813b32f1d
+ F src/os_unix.c adbbcea4c63d3b400d405f60a5da4c01433753ec4a12e2dc695beb2bbd671fe9
+ F src/os_win.c 77d39873836f1831a9b0b91894fec45ab0e9ca8e067dc8c549e1d1eca1566fe9
  F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
- F src/pager.c aafa89d881c1d56b2dc212f99a6527ca3d4f7105a01e755871657981fc411005
 -F src/pager.c c49952ac5e9cc536778eff528091d79d38b3e45cbeeed4695dc05e207dc6547d
 -F src/pager.h 4bf9b3213a4b2bebbced5eaa8b219cf25d4a82f385d093cd64b7e93e5285f66f
++F src/pager.c 10d275f5c5dc68a51c1f5dd96f25a91886933e0d87f620e04575a798effb9d9b
 +F src/pager.h 9d38ac4b9f0e1361f7ddb6aa0675a54f5e4f085703108d3aafe7868872113f92
- F src/parse.y 5bdb760a29c0b25caf7e80e82210b81cd2ea3066d5199ca29e6eac40b34bc184
+ F src/parse.y 9ce4dfb772608ed5bd3c32f33e943e021e3b06cfd2c01932d4280888fdd2ebed
  F src/pcache.c 385ff064bca69789d199a98e2169445dc16e4291fa807babd61d4890c3b34177
  F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586
  F src/pcache1.c 6596e10baf3d8f84cc1585d226cf1ab26564a5f5caf85a15757a281ff977d51a
- F src/pragma.c eedd779f8dd3c0c6328454510311286da41c298b85848105ed88d00b886daad8
 -F src/pragma.c 6daaaecc26a4b09481d21722525b079ce756751a43a79cc1d8f122d686806193
++F src/pragma.c 3c948d3ed733ece947757fbe2c1682ce0858f410c23d2347f8e0d8256f00098f
  F src/pragma.h 8dc78ab7e9ec6ce3ded8332810a2066f1ef6267e2e03cd7356ee00276125c6cf
- F src/prepare.c 3d5a761d026052bc888d1b803a06dd2bfe245e8e836d4689f927003549148b0f
- F src/printf.c 9efcd4e984f22bcccb1ded37a1178cac98f6e3a0534e1e0629f64899971f8838
+ F src/prepare.c 270170a239c0f66bd3c228f373afe24447c2614a6829ae22080babc64f241931
+ F src/printf.c 30e92b638fac71dcd85cdea1d12ecfae354c9adee2c71e8e1ae4727cde7c91ed
  F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
- F src/resolve.c d74715aceed2a8f493ba244d535646fa93132042a4400a29dfd26ec841514048
+ F src/resolve.c 1948a92ca9eab776632816b97e57c61d933474a78aad4f4ef835c916a83dbb1c
  F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
- F src/select.c 510fdf819f218be3dac2683d3eaaf64e5080f548061a4dd12205590beda976bb
- F src/shell.c.in b9b819feede7b85585ab0826490a352e04e2ee46e8132c92597d29972b2be1d7
- F src/sqlite.h.in d2c03414a8ee5d4a6855c04dd7cd5998e45139b0fe66b65bae86d4223edd091f
+ F src/select.c 31387e56f5e6d1adc798dfa04b946001289a61e65acf4615f7b7130f121f3b9c
+ F src/shell.c.in 55113760ae91a05c6ce4558714a1c8fc7a44bf266f735de6e71ea40f79e69830
+ F src/sqlite.h.in 457c991c9d2ff483e17e5b5eb1a83c6793516d478cc63a78e1ea7b362e27e678
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
- F src/sqlite3ext.h 2d1af80082edffd71c6f96f70ad1ce6a4fb46615ad10291fc77fe0dea9ff0197
- F src/sqliteInt.h a938ad036cc25fd1a9c7ab1586cbd651ac9c99c1ae57f539f88f9a7271f12ac8
- F src/sqliteLimit.h 95cb8479ca459496d9c1c6a9f76b38aee12203a56ce1092fe13e50ae2454c032
+ F src/sqlite3ext.h 61b38c073d5e1e96a3d45271b257aef27d0d13da2bea5347692ae579475cd95e
+ F src/sqliteInt.h c01115c8dd967f7d334a98ba37ac821eafb04144c8085a795daaf2185743d27a
+ F src/sqliteLimit.h d7323ffea5208c6af2734574bae933ca8ed2ab728083caa117c9738581a31657
  F src/status.c 4b8bc2a6905163a38b739854a35b826c737333fab5b1f8e03fa7eb9a4799c4c1
  F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
  F src/tclsqlite.c 986b6391f02cd9b53c1d688be55899f6ffddeb8e8014cd83c1b73ff912579a71
@@@ -565,10 -567,10 +569,10 @@@ F src/test_btree.c 8b2dc8b8848cf3a4db93
  F src/test_config.c 5ea19bf0972a9d91728518b4d30e91477acce80496003ecbef3a7fb18d0bd081
  F src/test_delete.c e2fe07646dff6300b48d49b2fee2fe192ed389e834dd635e3b3bac0ce0bf9f8f
  F src/test_demovfs.c 86142ba864d4297d54c5b2e972e74f3141ae4b30f05b3a95824184ed2d3d7f91
- F src/test_devsym.c 6109b45c3db3ef7b002320947ed448c027356ab8b885156ff535fd8684d4a571
+ F src/test_devsym.c aff2255ea290d7718da08af30cdf18e470ff7325a5eff63e0057b1496ed66593
  F src/test_fs.c ba1e1dc18fd3159fdba0b9c4256f14032159785320dfbd6776eb9973cb75d480
  F src/test_func.c 181f992e5495644434c4f0e3cc72362a78c295eb2cf3ff4d02498b8bde7aa276
- F src/test_hexio.c 0340a961c58d8c707c5f87e8b2b0a20c48ab2ac96961546cae432e931aaa989f
 -F src/test_hexio.c 9478e56a0f08e07841a014a93b20e4ba2709ab56d039d1ca8020e26846aa19bd
++F src/test_hexio.c a605a100e628d39330044ae5f34cb19d50843061ed3178c3f83b37aef65f7e0a
  F src/test_init.c 4413c211a94b62157ca4c145b3f27c497f03c664
  F src/test_intarray.c 39b4181662a0f33a427748d87218e7578d913e683dc27eab7098bb41617cac71
  F src/test_intarray.h d57ae92f420cda25e22790dac474d60961bd0c500cbaa3338a05152d4a669ef7
@@@ -603,31 -605,31 +607,31 @@@ F src/test_wsd.c 41cadfd9d97fe8e3e4e44f
  F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c
  F src/tokenize.c 4dc01b267593537e2a0d0efe9f80dabe24c5b6f7627bc6971c487fa6a1dacbbf
  F src/treeview.c 4b92992176fb2caefbe06ba5bd06e0e0ebcde3d5564758da672631f17aa51cda
- F src/trigger.c ef67bde309a831515dc3c2173d792574309f2f42d45f8c078743fae9f7f98c75
- F src/update.c fb15bec5b54fd098f4b84f6abc83c7103b45ba8484011fff8edf5ae31656eab6
+ F src/trigger.c 515e79206d40d1d4149129318582e79a6e9db590a7b74e226fdb5b2a6c7e1b10
+ F src/update.c 9f126204a6acb96bbe47391ae48e0fc579105d8e76a6d9c4fab3271367476580
  F src/upsert.c 2920de71b20f04fe25eb00b655d086f0ba60ea133c59d7fa3325c49838818e78
  F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
- F src/util.c c8bf30c4356b091bcc3b624d0e24b2b4d11b8be4d6c90d8e0705971e15cc819b
- F src/vacuum.c 1c4f8e2f39d950037f4cf946b6858c993d3a54c3101f78e05c76460a073afcf0
- F src/vdbe.c d4caea3cc077c74c385dc5c25993ef699c6bd0c572f188748b2b2438162782dd
+ F src/util.c c0c7977de7ef9b8cb10f6c85f2d0557889a658f817b0455909a49179ba4c8002
+ F src/vacuum.c 492422c1463c076473bae1858799c7a0a5fe87a133d1223239447c422cd26286
 -F src/vdbe.c d24a43b6b1ed2dba893636a14f5e56001444ab3fd5465e3bca8ab01799840acd
++F src/vdbe.c e73ad83b92b5196c97c019fa8ec3aec2e77e023fd1b9ddfe4795cf3830845bbc
  F src/vdbe.h 83603854bfa5851af601fc0947671eb260f4363e62e960e8a994fb9bbcd2aaa1
- F src/vdbeInt.h 762abffb7709f19c2cb74af1bba73a900f762e64f80d69c31c9ae89ed1066b60
+ F src/vdbeInt.h 3ca5e9fd6e095a8b6cf6bc3587a46fc93499503b2fe48951e1034ba9e2ce2f6e
  F src/vdbeapi.c c5e7cb2ab89a24d7f723e87b508f21bfb1359a04db5277d8a99fd1e015c12eb9
- F src/vdbeaux.c 73854da7a9a4f12db72a855758214173c82f46a14be6cb19e63677ba02c97cae
+ F src/vdbeaux.c c76b7e96e189f5056d1de914d33d07bd03d3b88741f75375c8e18c9b11ffd379
  F src/vdbeblob.c 253ed82894924c362a7fa3079551d3554cd1cdace39aa833da77d3bc67e7c1b1
  F src/vdbemem.c 947f2a65910edb4014dc981d33e414a68c51f169f9df8c4c493a0ba840b6eb1f
- F src/vdbesort.c 2be76d26998ce2b3324cdcc9f6443728e54b6c7677c553ad909c7d7cfab587df
+ F src/vdbesort.c f5b5e473a7cee44e47a94817b042fd7172cf3aa2c0a7928a8339d612bcfdec5a
  F src/vdbetrace.c fa3bf238002f0bbbdfb66cc8afb0cea284ff9f148d6439bc1f6f2b4c3b7143f0
  F src/vdbevtab.c f99b275366c5fc5e2d99f734729880994ab9500bdafde7fae3b02d562b9d323c
  F src/vtab.c 5f5fc793092f53bbdfde296c50f563fb7bda58cf48e9cf6a8bdfbc5abd409845
  F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
- F src/wal.c 5f03d6aa3c213b0369cef9dadbf6a36b3d769899aa8afbc9d926c4c9c72e09e5
 -F src/wal.c 69e770e96fd56cc21608992bf2c6f1f3dc5cf2572d0495c6a643b06c3a679f14
 -F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a
++F src/wal.c 4d548c33023f0d71dd63c327abdcae6cae69f7bfe6aa1796c674dc8f3230f1d9
 +F src/wal.h d01234e828943e002040c22a7e017642962f9fd9b2dc142fa599769ae4e459e9
  F src/walker.c 3df26a33dc4f54e8771600fb7fdebe1ece0896c2ad68c30ab40b017aa4395049
- F src/where.c 2ea911238674e9baaeddf105dddabed92692a01996073c4d4983f9a7efe481f9
- F src/whereInt.h 6b874aa15f94e43a2cec1080be64d955b04deeafeac90ffb5d6975c0d511be3c
- F src/wherecode.c 8064fe5c042824853a9b1fda670054a51a49033a6c79059988c97751ccf8088e
- F src/whereexpr.c 264d58971eaf8256eb5b0917bcd7fc7a1f1109fdda183a8382308a1b18a2dce7
+ F src/where.c ad738741bf45999188a3047f6277063e3f6843304d581e3ad5875419afdeb6b2
+ F src/whereInt.h 59077fbd0b3d01bc8715e746c86a99ebf4c85bde8a57077ec04d2a23e59666ec
+ F src/wherecode.c a3a1aff30fe99a818d8e7c607980f033f40c68d890e03ed25838b9dbb7908bee
+ F src/whereexpr.c 3a463e156ea388083c501502229c2c7f4f5c6b5330ea59bdf40d6eb6e155a25f
  F src/window.c edd6f5e25a1e8f2b6f5305b7f5f7da7bb35f07f0d432b255b1d4c2fcab4205aa
  F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
  F test/affinity2.test ce1aafc86e110685b324e9a763eab4f2a73f737842ec3b687bd965867de90627
@@@ -1245,7 -1248,7 +1250,7 @@@ F test/parser1.test 6ccdf5e459a5dc4673d
  F test/pcache.test c8acbedd3b6fd0f9a7ca887a83b11d24a007972b
  F test/pcache2.test af7f3deb1a819f77a6d0d81534e97d1cf62cd442
  F test/percentile.test 4243af26b8f3f4555abe166f723715a1f74c77ff
- F test/permutations.test 1665c3f92c00cfe4643fbc39fc23a72e4a5fb673944807a5fa95b0c6573e1a80
 -F test/permutations.test 661a4325a5717957a77836910ee164ba26594a502d7a3df0e1ae7b9cba829c5d
++F test/permutations.test 11dbe9f1c784df5f09f8d44f3e8443a7b8d3e815843abae852095c0952c65bd8
  F test/pg_common.tcl 3b27542224db1e713ae387459b5d117c836a5f6e328846922993b6d2b7640d9f
  F test/pragma.test 50b91bedea9324d3ab48e793f908ee7d2c7dcf84bfa2281e792838be59641ec8
  F test/pragma2.test e5d5c176360c321344249354c0c16aec46214c9f
@@@ -1428,7 -1431,7 +1433,7 @@@ F test/temptable.test d2c9b87a54147161b
  F test/temptable2.test d2940417496e2b9548e01d09990763fbe88c316504033256d51493e1f1a5ce6a
  F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
  F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc
- F test/tester.tcl ab74aa21dd12eb0439c8439da2806e8e787c1444402c1143c716f79183bd9d1e
 -F test/tester.tcl 754521f0db534d51ab504b2d14fe0bdca1f1c15de731ceb8ee5bfd78372a2a5f
++F test/tester.tcl 658fbf51736392fad7e98ba309929d61c22a8ff06c4f1a7ca9f079ed99e5eff7
  F test/thread001.test b61a29dd87cf669f5f6ac96124a7c97d71b0c80d9012746072055877055cf9ef
  F test/thread002.test e630504f8a06c00bf8bbe68528774dd96aeb2e58
  F test/thread003.test ee4c9efc3b86a6a2767516a37bd64251272560a7
@@@ -1891,7 -1886,7 +1898,7 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9
  F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
  F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
  F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P c2426ae8a80d61e1ede2d065c10145ba31d4ac615803f48b7903f5f7daaa6f89
- R bbd5698d99ebe7b0ec2ea77bc05f1921
 -P 25d067c270966d9506db8bedf280883e32b69050b14bdbbeda4bb2d9a362619c
 -R 9cd6f8c162cd2c68b854e8b486ee65b1
 -U drh
 -Z bbc45b90468712feefc207d4cad5b088
++P 4f5481bf291c39e228dd9c67f504dfe70879617b7266245d6236cd1d2d99274c bb174a074b5833181900d396edda955254ea1768750a0ab3b6d714530b1fe13f
++R ecead359aa280d8a97c53e1be9f0495e
 +U dan
- Z 3d5cfe3d18a8d38ec6e1998df13cb1b1
++Z d44a2021d179ad7ee698300552d963cd
diff --cc manifest.uuid
index 9a42e4bfc675533bcdf480ab2772b5fc4387ff04,c9fb9b5e3883070fa843b4b2e0d4e63b9a80d2c8..167fd76a75b01322d2ec76017a51c47606f511f0
@@@ -1,1 -1,1 +1,1 @@@
- 4f5481bf291c39e228dd9c67f504dfe70879617b7266245d6236cd1d2d99274c
 -bb174a074b5833181900d396edda955254ea1768750a0ab3b6d714530b1fe13f
++cb1f6f18e74aeff522c332cb6c8f4c202bba8fba4ff7869198e4501ffa4a0387
diff --cc src/btree.c
Simple merge
diff --cc src/pager.c
Simple merge
diff --cc src/pragma.c
Simple merge
index 960d2b289a514d9cfe1cd6ad206702727e1af87e,61a41d5b1c3655c2e7ee62fb989b0a954b76c4d9..c29602ce60d2a1a01db939042b6aa3230792f9ef
@@@ -207,21 -207,13 +207,21 @@@ static int SQLITE_TCLAPI hexio_get_int
    const unsigned char *zIn;
    unsigned char *aOut;
    unsigned char aNum[4];
 +  int bLittle = 0;
  
 -  if( objc!=2 ){
 -    Tcl_WrongNumArgs(interp, 1, objv, "HEXDATA");
 +  if( objc==3 ){
 +    int n;
 +    char *z = Tcl_GetStringFromObj(objv[1], &n);
 +    if( n>=2 && n<=13 && memcmp(z, "-littleendian", n)==0 ){
 +      bLittle = 1;
 +    }
 +  }
 +  if( (objc-bLittle)!=2 ){
 +    Tcl_WrongNumArgs(interp, 1, objv, "[-littleendian] HEXDATA");
      return TCL_ERROR;
    }
 -  zIn = (const unsigned char *)Tcl_GetStringFromObj(objv[1], &nIn);
 +  zIn = (const unsigned char *)Tcl_GetStringFromObj(objv[1+bLittle], &nIn);
-   aOut = sqlite3_malloc( nIn/2 );
+   aOut = sqlite3_malloc( 1 + nIn/2 );
    if( aOut==0 ){
      return TCL_ERROR;
    }
diff --cc src/vdbe.c
index 71341bf57b7aed257c70ea47c9efdc39065308b9,1507fb31819513a340fb96f6847b30ff58f38521..15b34ae40999e96a9980743520238870da403b39
@@@ -7027,33 -7209,31 +7219,33 @@@ case OP_JournalMode: {    /* out2 *
            (eNew==PAGER_JOURNALMODE_WAL ? "into" : "out of")
        );
        goto abort_due_to_error;
 -    }else{
 +    }
   
 -      if( eOld==PAGER_JOURNALMODE_WAL ){
 -        /* If leaving WAL mode, close the log file. If successful, the call
 -        ** to PagerCloseWal() checkpoints and deletes the write-ahead-log 
 -        ** file. An EXCLUSIVE lock may still be held on the database file 
 -        ** after a successful return. 
 -        */
 -        rc = sqlite3PagerCloseWal(pPager, db);
 -        if( rc==SQLITE_OK ){
 -          sqlite3PagerSetJournalMode(pPager, eNew);
 -        }
 -      }else if( eOld==PAGER_JOURNALMODE_MEMORY ){
 -        /* Cannot transition directly from MEMORY to WAL.  Use mode OFF
 -        ** as an intermediate */
 -        sqlite3PagerSetJournalMode(pPager, PAGER_JOURNALMODE_OFF);
 -      }
 -  
 -      /* Open a transaction on the database file. Regardless of the journal
 -      ** mode, this transaction always uses a rollback journal.
 +    if( isWalMode(eOld) ){
 +      /* If leaving WAL mode, close the log file. If successful, the call
 +      ** to PagerCloseWal() checkpoints and deletes the write-ahead-log 
 +      ** file. An EXCLUSIVE lock may still be held on the database file 
 +      ** after a successful return. 
        */
 -      assert( sqlite3BtreeTxnState(pBt)!=SQLITE_TXN_WRITE );
 +      rc = sqlite3PagerCloseWal(pPager, db);
        if( rc==SQLITE_OK ){
 -        rc = sqlite3BtreeSetVersion(pBt, (eNew==PAGER_JOURNALMODE_WAL ? 2 : 1));
 +        sqlite3PagerSetJournalMode(pPager, eNew);
        }
-     assert( sqlite3BtreeIsInTrans(pBt)==0 );
 +    }else if( eOld==PAGER_JOURNALMODE_MEMORY ){
 +      /* Cannot transition directly from MEMORY to WAL.  Use mode OFF
 +      ** as an intermediate */
 +      sqlite3PagerSetJournalMode(pPager, PAGER_JOURNALMODE_OFF);
 +    }
 +
 +    /* Open a transaction on the database file. Regardless of the journal
 +    ** mode, this transaction always uses a rollback journal.
 +    */
++    assert( sqlite3BtreeTxnState(pBt)!=SQLITE_TXN_WRITE );
 +    if( rc==SQLITE_OK ){
 +      /* 1==rollback, 2==wal, 3==wal2 */
 +      rc = sqlite3BtreeSetVersion(pBt, 
 +          1 + isWalMode(eNew) + (eNew==PAGER_JOURNALMODE_WAL2)
 +      );
      }
    }
  #endif /* ifndef SQLITE_OMIT_WAL */
diff --cc src/wal.c
index ba24591988919eca0b75a2553fd73718882ff4f3,ac0a03e93d5a13bce938f9e907c626218212f120..ca95b6942b3c81fea19469aa187967f036c6c3a3
+++ b/src/wal.c
@@@ -2600,12 -2009,11 +2600,13 @@@ static int walCheckpoint
          sqlite3OsFileControl(pWal->pDbFd, SQLITE_FCNTL_CKPT_START, 0);
          rc = sqlite3OsFileSize(pWal->pDbFd, &nSize);
          if( rc==SQLITE_OK && nSize<nReq ){
 -          if( (nSize+65536+(i64)pWal->hdr.mxFrame*szPage)<nReq ){
 +          i64 mx = pWal->hdr.mxFrame + (bWal2?walidxGetMxFrame(&pWal->hdr,1):0);
-           if( (nSize+mx*szPage)<nReq ){
++          if( (nSize+65536+mx*szPage)<nReq ){
              /* If the size of the final database is larger than the current
-             ** database plus the amount of data in the wal file, then there
+             ** database plus the amount of data in the wal file, plus the
+             ** maximum size of the pending-byte page (65536 bytes), then 
 -            ** must be corruption somewhere.  */
 +            ** must be corruption somewhere.  Or in the case of wal2 mode,
 +            ** plus the amount of data in both wal files. */
              rc = SQLITE_CORRUPT_BKPT;
            }else{
              sqlite3OsFileControlHint(pWal->pDbFd, SQLITE_FCNTL_SIZE_HINT,&nReq);
Simple merge
diff --cc test/tester.tcl
Simple merge