]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge all changes since the 3.32.0 release into the reuse-schema branch.
authordrh <drh@noemail.net>
Tue, 11 Aug 2020 14:55:17 +0000 (14:55 +0000)
committerdrh <drh@noemail.net>
Tue, 11 Aug 2020 14:55:17 +0000 (14:55 +0000)
FossilOrigin-Name: b1a77b7eade14d58b3ccd50b98c2ffb6362d093f2cde2bd178ea62cef2cb8d9f

27 files changed:
1  2 
Makefile.in
Makefile.msc
main.mk
manifest
manifest.uuid
src/alter.c
src/analyze.c
src/attach.c
src/build.c
src/fkey.c
src/main.c
src/pragma.c
src/pragma.h
src/prepare.c
src/shell.c.in
src/sqlite.h.in
src/sqliteInt.h
src/status.c
src/tokenize.c
src/trigger.c
src/vacuum.c
src/vdbe.c
src/vdbe.h
src/vdbeaux.c
src/vtab.c
test/tt3_stress.c
tool/mkpragmatab.tcl

diff --cc Makefile.in
Simple merge
diff --cc Makefile.msc
Simple merge
diff --cc main.mk
Simple merge
diff --cc manifest
index baaeebf776a02694cd05dfd0f42408ddc1a6013e,e9d8b99f0dc624c753887c1757b322018fc0b448..30327e0d5a1325ad61e1f31c0e37c1af63c48425
+++ b/manifest
@@@ -1,13 -1,13 +1,13 @@@
- C Update\sthe\sreuse-schema\sbranch\sto\sversion\s3.32.1
- D 2020-05-25T16:34:57.038
 -C Simplify\s#ifdefs\sassociated\swith\sParse.eParseMode.\s\sFix\san\s#ifdef\serror\nassociated\swith\sSQLITE_OMIT_AUTOVACUUM.
 -D 2020-08-10T21:01:32.620
++C Merge\sall\schanges\ssince\sthe\s3.32.0\srelease\sinto\sthe\sreuse-schema\sbranch.
++D 2020-08-11T14:55:17.027
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
- F Makefile.in 201a181c0a852139bbb7e74a28d3d24d03953b91c372ed24a644b17070836bea
 -F Makefile.in 19374a5db06c3199ec1bab71ab74a103d8abf21053c05e9389255dc58083f806
++F Makefile.in 270f76ae25d3bc5027121b3cd0d498b484b9f8c98ef91c81cf9db3f48a68035e
  F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241
- F Makefile.msc 5f9b4709c8d5d089a1e7264682c58c7b95a377aa12fdcba9a57e72f021d3d1f8
 -F Makefile.msc 48f5a3fc32672c09ad73795749f6253e406a31526935fbbffd8f021108d54574
++F Makefile.msc 9333691b59996201408f3e006d9ef6abaabc9a8cb444c14add736a4c37ed70f1
  F README.md 1514a365ffca3c138e00c5cc839906108a01011a6b082bad19b09781e3aa498a
- F VERSION 7d1da8465e06354a9ffb67a9ef3f933552767d8e239b507cb2a08ba417048322
+ F VERSION 5db2ee2cfcc790af73775fa485c13b2e8ccaa5936c6e1f47aedeba7056041ca5
  F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
  F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
  F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
@@@ -34,19 -34,19 +34,20 @@@ F autoconf/tea/win/rules.vc c511f222b80
  F config.guess 883205ddf25b46f10c181818bf42c09da9888884af96f79e1719264345053bd6
  F config.h.in 6376abec766e9a0785178b1823b5a587e9f1ccbc
  F config.sub c2d0260f17f3e4bc0b6808fccf1b291cb5e9126c14fc5890efc77b9fd0175559
- F configure 4705718305e176b707e65047b69dca834fe7bc5475584e30fe1f63c8e33751b8 x
- F configure.ac 798a24cee2879325ca5b688a618199eb32cc77ed8136edbaa43d9137b470d54e
+ F configure a97f98dfff699495aef66ae3d9c424345778a663f583e0d6e7522670518f87c1 x
+ F configure.ac 40d01e89cb325c28b33f5957e61fede0bd17da2b5e37d9b223a90c8a318e88d4
  F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad
  F doc/F2FS.txt c1d4a0ae9711cfe0e1d8b019d154f1c29e0d3abfe820787ba1e9ed7691160fcd
- F doc/lemon.html 857495c0ce060a4e2f2ad7111135ad7e28041a32c10612279ab398eddf678f58
+ F doc/lemon.html 1edc0f916e771212792d4d077aedc05168bf13fd65d64d41b2c13e46ac0063a8
  F doc/pager-invariants.txt 27fed9a70ddad2088750c4a2b493b63853da2710
 +F doc/shared_schema.md 759fc374709fccf4e5d2d0cbd05f8fedd38fb022bdd8a6c5b5f492684c7023b9
  F doc/trusted-schema.md 33625008620e879c7bcfbbfa079587612c434fa094d338b08242288d358c3e8a
  F doc/vfs-shm.txt e101f27ea02a8387ce46a05be2b1a902a021d37a
+ F doc/wal-lock.md 781726aaba20bafeceb7ba9f91d5c98c6731691b30c954e37cf0b49a053d461d
  F ext/README.md fd5f78013b0a2bc6f0067afb19e6ad040e89a10179b4f6f03eee58fac5f169bd
  F ext/async/README.txt e12275968f6fde133a80e04387d0e839b0c51f91
- F ext/async/sqlite3async.c 0f3070cc3f5ede78f2b9361fb3b629ce200d7d74
- F ext/async/sqlite3async.h f489b080af7e72aec0e1ee6f1d98ab6cf2e4dcef
+ F ext/async/sqlite3async.c 6f247666b495c477628dd19364d279c78ea48cd90c72d9f9b98ad1aff3294f94
+ F ext/async/sqlite3async.h 46b47c79357b97ad85d20d2795942c0020dc20c532114a49808287f04aa5309a
  F ext/expert/README.md b321c2762bb93c18ea102d5a5f7753a4b8bac646cb392b3b437f633caf2020c3
  F ext/expert/expert.c d548d603a4cc9e61f446cc179c120c6713511c413f82a4a32b1e1e69d3f086a4
  F ext/expert/expert1.test 2e10ff875c31c9e6fc5e324767624181273859771fe34c5daeeadf3f2974a4f7
@@@ -456,7 -457,7 +458,7 @@@ F ext/userauth/userauth.c 7f00cded7dcaa
  F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
  F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
  F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
- F main.mk 13814e3d9720918964eb7de6273accf601f53ff98d3ee05f37784f69b6d4b66a
 -F main.mk b1cd0bc6aedad7ebb667b7f74f835f932f60ee33be2a5c3051fd93eb465f5c75
++F main.mk 7d384a56be992954cf3ae0eb8bdd910d48727554ff3ca4904253a125ac7e615a
  F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
  F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
  F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
@@@ -468,45 -469,45 +470,45 @@@ F spec.template 86a4a43b99ebb3e75e6b9a7
  F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
  F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786
  F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
- F src/alter.c e1198116d98c2dd7ca252a54dd6df33d32dd2c74af825b44c40c732fd58c3ffb
- F src/analyze.c b2b878f8467d7c545db8d838d00ae8ac2069cc535fd025b74077d8a439f5c14a
- F src/attach.c 22ddf11d73e1eecf547304e4babd44a322bc1db79c7b0aeb9e53f58a4ae7f8a7
 -F src/alter.c 4bc16666a0df99d49658ec66f00ca36e541ec6cb39673ccc51be6a981fb9b2ce
 -F src/analyze.c 5cffff3d355858cd22bfc6e20ac7203510d2e1cc935086eb06f4abb2f579f628
 -F src/attach.c 0b11e00c166b622c84ec176773b1d691c61ad07d247809e3e1635d4e99e71d30
++F src/alter.c 485b411347f8566792f8023f83117da300ddaf263cb61027bd69ada015d2e300
++F src/analyze.c 5eab9cfb85d1280fa35fd4cf5c497f77ad884bf3658610e7321c3994e703c2e6
++F src/attach.c f5e649fb70e856e2bc388d2f158cd4b4e43b85f43ad4c397fee192b35bd0dd57
  F src/auth.c a3d5bfdba83d25abed1013a8c7a5f204e2e29b0c25242a56bc02bb0c07bf1e06
  F src/backup.c b1c90cd4110248c8e1273ff4578d3a84c0c34725e1b96dacd4a6294a908702de
  F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33
  F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
- F src/btree.c f14e415fcfd0b52b4e4ebd193ba5fadac5e8252c30f023389af682813af44025
- F src/btree.h 989ef3c33413549e3e148f3dcb46c030f317dac130dc86809ba6b9aa4b16c72a
- F src/btreeInt.h 5c8b8749805787313ecf49eb5be3ced1e94bbf8ef54bb01470ce6bd0d5185c67
- F src/build.c 838e367617c20403fc21546fb1d9d9f8ba45d74427dbbc987df46af9f01704a7
+ F src/btree.c 1439fd9b45d4d1883c53752daef42af489adaa1a1508fa39dedbc9c80ea21a2f
+ F src/btree.h 7af72bbb4863c331c8f6753277ab40ee67d2a2125a63256d5c25489722ec162b
+ F src/btreeInt.h 83166f6daeb91062b6ae9ee6247b3ad07e40eba58f3c05ba9e8dedad4ab1ea38
 -F src/build.c dde514651cf3cf3a3a64a6e5c62384c01486c6faeabd165b3fe6dec6d2a0e113
 -F src/callback.c d0b853dd413255d2e337b34545e54d888ea02f20da5ad0e63585b389624c4a6c
++F src/build.c 3b360c8171b401401fe6aae4c80759ab8c1a42fa5f45bb2ea73073bcd446bef8
 +F src/callback.c d8cdf5d697a31cf54a2b64bce9001fe24f3522a566f44c9fe1eb3a0c7e291c56
  F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
 -F src/ctime.c e98518d2d3d4029a13c805e07313fb60c877be56db76e90dd5f3af73085d0ce6
 +F src/ctime.c f5eaef0a5985fab6fc21e8b00aeaea1ca862a09c1ea5e505b0ad1da157eec247
- F src/date.c b29b349d277e3d579dcc295b24c0a2caed83fd8f090a9f7cbe6070c0fd662384
+ F src/date.c dace306a10d9b02ee553d454c8e1cf8d3c9b932e137738a6b15b90253a9bfc10
  F src/dbpage.c 8a01e865bf8bc6d7b1844b4314443a6436c07c3efe1d488ed89e81719047833a
- F src/dbstat.c 793deaf88a0904f88285d93d6713c636d55ede0ffd9f08d10f4ea825531d367f
- F src/delete.c 88047c8e59878c920fce14582bc1dde4d81157d1ca5ffdf36c2907e6d41996c4
- F src/expr.c b46669d9fc9e0361dba6cc289901a013789e0b1dc629c4c1bc88ec9403633b38
+ F src/dbstat.c 3aa79fc3aed7ce906e4ea6c10e85d657299e304f6049861fe300053ac57de36c
+ F src/delete.c 410c771c25afc113c273d9efad6ab6881bda28c75a1838b9d2c52ba20d1dc704
+ F src/expr.c 58c06940d964c2cf455b979cf66a648499d294a5ee6dadcaeaed447257c1dc75
  F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
- F src/fkey.c 784662bc65fd0770221bc91c58c45a785849b49ecb39fdb163fb5c65d067d377
 -F src/fkey.c 83372403298e6a7dd989a47aaacdbaa5b4307b5199dbd56e07d4896066b3de72
++F src/fkey.c 6cf1e15c986e5a393399ce337e4c085bf872117b8b095b04c79ae39d1f6a069a
  F src/func.c 2333eb4277f55a5efdc12ef754e7d7ec9105d257b2fd00301d23ce1e8fa67dc0
- F src/global.c 79a988b56b06ce2d08ebefe1d35da9aa25b3851faa47ea5233361c4827185a64
+ F src/global.c 943256ac44f333039d35a9830c18d075a81fa6b6bf2af05771494a9acfb9a40b
  F src/hash.c 8d7dda241d0ebdafb6ffdeda3149a412d7df75102cecfc1021c98d6219823b19
  F src/hash.h 9d56a9079d523b648774c1784b74b89bd93fac7b365210157482e4319a468f38
  F src/hwtime.h cb1d7e3e1ed94b7aa6fde95ae2c2daccc3df826be26fc9ed7fd90d1750ae6144
  F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
- F src/insert.c 92b07a7f7e682114948ce59fd6511ffec7672b508cc343a804ef6afee21b6c11
+ F src/insert.c 957254a2d0542597455d0d4c640e4e3f3eea8c6d78f04582df03dfc626f07925
  F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
- F src/loadext.c 421310045bd78afefb772294a99e50f37d87ae578786a6169074e6291e30d969
- F src/main.c 3e88148106fead4d8edfec84a8c3604bd84fb6af4eceb4d20020387c52405d77
- F src/malloc.c d0400b0366e1a3a2414ca4534b4a7406df34732835f37a15cb4642eb7df1a363
+ F src/loadext.c 436af4968c6954d304fce9efa12719367bd8f37b19b93b71d6ad607e85adbb47
 -F src/main.c f41d2aea8ac534e4054deb893ad93d292f37a214de1a9cff34fbde407ef685e6
++F src/main.c 58a3980c13b994a90b70a9148bec4e103c17f3ac885791a789f776d37a958561
+ F src/malloc.c 22d5bdd9fe88ae4fad1b91a1b9735104b82853ffef868f1f05517d60dc1875f5
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de
- F src/mem2.c f1940d9e91948dd6a908fbb9ce3835c36b5d83c3
- F src/mem3.c 8768ac94694f31ffaf8b4d0ea5dc08af7010a35a
+ F src/mem2.c b93b8762ab999a29ae7751532dadf0a1ac78040308a5fb1d17fcc365171d67eb
+ F src/mem3.c 30301196cace2a085cbedee1326a49f4b26deff0af68774ca82c1f7c06fda4f6
  F src/mem5.c 9bf955937b07f8c32541c8a9991f33ce3173d944
- F src/memdb.c 252137ca122acb8f54a99b48cf9f96a31d5130f19d174381a53294446d8b64a3
- F src/memjournal.c 7561c01c90958f3ba9bc6cb2d857123d932bdfa5539ea34427a0957b2e35154d
+ F src/memdb.c d58e398e315e88f95f8d07d17e80ab11259ebd6d1a10397434329eeabd1985e3
+ F src/memjournal.c 90b2ca7e2f465d57c16b69d15a9f3e3294af61088eb4938f2f7664d5ac50f813
  F src/msvc.h 3a15918220367a8876be3fa4f2abe423a861491e84b864fb2b7426bf022a28f8
  F src/mutex.c 5e3409715552348732e97b9194abe92fdfcd934cfb681df4ba0ab87ac6c18d25
  F src/mutex.h a7b2293c48db5f27007c3bdb21d438873637d12658f5a0bf8ad025bb96803c4a
@@@ -527,27 -528,27 +529,27 @@@ F src/parse.y 5bdb760a29c0b25caf7e80e82
  F src/pcache.c 385ff064bca69789d199a98e2169445dc16e4291fa807babd61d4890c3b34177
  F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586
  F src/pcache1.c 6596e10baf3d8f84cc1585d226cf1ab26564a5f5caf85a15757a281ff977d51a
- F src/pragma.c 4937f87d57292a80b61d7a858d8d26eb9a33e8cbd43389a62530cb34dd0adac8
- F src/pragma.h 29c562664ae96b51e5687f66af3c6e7f3481ff42f7c0fe1d05708da69cd50789
- F src/prepare.c 45824c5f6dbacb9cb2c966a1d6eebdd94170da9b8700a265abd6a5e49cbd73dd
- F src/printf.c 94b5419ad0a17269f76a9e968ca19cf9fa37617abed2e246fc48844e511b6bc6
 -F src/pragma.c bdb600be936f66b9fe69d26dfbba4528beaaf4f95c479c85b328a92484e0bf71
 -F src/pragma.h 8dc78ab7e9ec6ce3ded8332810a2066f1ef6267e2e03cd7356ee00276125c6cf
 -F src/prepare.c 3d5a761d026052bc888d1b803a06dd2bfe245e8e836d4689f927003549148b0f
++F src/pragma.c b4e8df9a29c6fbe7e6576217e79a50cef34742d13ad49af20dd3c75434112e71
++F src/pragma.h ce2b135cde481eeb198af0dfc4781d58528ce80b17580a2b747b8fd4bc969e44
++F src/prepare.c dfc6eba4bd2583c72735f3a3240441a68a5fb9a9d6e1e490de06b7735106a05e
+ F src/printf.c 9efcd4e984f22bcccb1ded37a1178cac98f6e3a0534e1e0629f64899971f8838
  F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
- F src/resolve.c c2008519a0654f1e7490e9281ed0397d0f14bb840d81f0b96946248afcbdb25d
+ F src/resolve.c d74715aceed2a8f493ba244d535646fa93132042a4400a29dfd26ec841514048
  F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
- F src/select.c e2a59548681bf1c407132863ae87bf2444aca5543867c21d9d09aa07f44aef5d
- F src/shell.c.in a1be0ab48832b0863a92969bbf3575eb04efd1c644719d713507ae4367ea6f9d
- F src/sqlite.h.in b88058cf1d02cbb51ab7d15ac89461896a6cb638b6180dee4b4f20311cfbbd03
+ F src/select.c 510fdf819f218be3dac2683d3eaaf64e5080f548061a4dd12205590beda976bb
 -F src/shell.c.in b9b819feede7b85585ab0826490a352e04e2ee46e8132c92597d29972b2be1d7
 -F src/sqlite.h.in d2c03414a8ee5d4a6855c04dd7cd5998e45139b0fe66b65bae86d4223edd091f
++F src/shell.c.in 0598d0e6d5489ddbfa8d6d54662bb43f0ac92679fe8d8ddf31fae6ffbc421f8b
++F src/sqlite.h.in 7c1b9b3e42c6ed1670ef7dfd2df5ae95aaa966508c14ae5d060a9d14be9d99ae
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
  F src/sqlite3ext.h 2d1af80082edffd71c6f96f70ad1ce6a4fb46615ad10291fc77fe0dea9ff0197
- F src/sqliteInt.h 087cb10287c2938acf68e89f14537520fc849ee80237d3d802db966f9475d9d1
 -F src/sqliteInt.h a938ad036cc25fd1a9c7ab1586cbd651ac9c99c1ae57f539f88f9a7271f12ac8
++F src/sqliteInt.h 827cf0bf109871f5c6d343bf6ce160890fa60b639cc9b6dd1d0c06037f692d01
  F src/sqliteLimit.h 95cb8479ca459496d9c1c6a9f76b38aee12203a56ce1092fe13e50ae2454c032
- F src/status.c f6e2b6c37873620ce2cb597f5606a1c9adca4c0db1ff3a08a37231e920d21985
 -F src/status.c 4b8bc2a6905163a38b739854a35b826c737333fab5b1f8e03fa7eb9a4799c4c1
++F src/status.c d0956e57c71160155f620a3efeb1e5c05a3f8b9a897dd09c5263268e5d237579
  F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
 -F src/tclsqlite.c 986b6391f02cd9b53c1d688be55899f6ffddeb8e8014cd83c1b73ff912579a71
 +F src/tclsqlite.c f4dd32d001c2be33371dca87e30117352f02dad59a2e5428c97f08703360a169
- F src/test1.c 5e8b8cc54e8c88906ea8a084387aa79bad245e539f4cee73149e5c0527e1db16
+ F src/test1.c 77d0bf0140d92e5e8234dd3e158a985fc905e5bd9d94254370d4e9421f7c2224
  F src/test2.c 3efb99ab7f1fc8d154933e02ae1378bac9637da5
  F src/test3.c 61798bb0d38b915067a8c8e03f5a534b431181f802659a6616f9b4ff7d872644
- F src/test4.c 405834f6a93ec395cc4c9bb8ecebf7c3d8079e7ca16ae65e82d01afd229694bb
+ F src/test4.c 7c4420e01c577b5c4add2cb03119743b1a357543d347773b9e717195ea967159
  F src/test5.c 328aae2c010c57a9829d255dc099d6899311672d
  F src/test6.c e8d839fbc552ce044bec8234561a2d5b8819b48e29548ad0ba400471697946a8
  F src/test7.c 5612e9aecf934d6df7bba6ce861fdf5ba5456010
@@@ -582,13 -583,12 +584,13 @@@ F src/test_pcache.c a5cd24730cb43c5b186
  F src/test_quota.c 6cb9297115b551f433a9ad1741817a9831abed99
  F src/test_quota.h 2a8ad1952d1d2ca9af0ce0465e56e6c023b5e15d
  F src/test_rtree.c 671f3fae50ff116ef2e32a3bf1fe21b5615b4b7b
- F src/test_schema.c f575932cb6274d12147a77e13ea4b49d52408513
+ F src/test_schema.c f5d6067dfc2f2845c4dd56df63e66ee826fb23877855c785f75cc2ca83fd0c1b
 +F src/test_schemapool.c ae21a79f9bc7e9099ae78dbd46d5c28ee75330e62e3256a9fde25564ff9df492
  F src/test_server.c a2615049954cbb9cfb4a62e18e2f0616e4dc38fe
- F src/test_sqllog.c 11e6ce7575f489155c604ac4b439f2ac1d3d5aef
+ F src/test_sqllog.c 540feaea7280cd5f926168aee9deb1065ae136d0bbbe7361e2ef3541783e187a
  F src/test_superlock.c 4839644b9201da822f181c5bc406c0b2385f672e
  F src/test_syscall.c 1073306ba2e9bfc886771871a13d3de281ed3939
 -F src/test_tclsh.c eeafce33ad2136d57e5dec10f1e9a4347447eb72ffd504a1c7b9c6bfe2e71578
 +F src/test_tclsh.c 6cbaaf30c4fed76c7b35baa42c521fd225c49563ff580f736d77def9e216b31b
  F src/test_tclvar.c 33ff42149494a39c5fbb0df3d25d6fafb2f668888e41c0688d07273dcb268dfc
  F src/test_thread.c 269ea9e1fa5828dba550eb26f619aa18aedbc29fd92f8a5f6b93521fbb74a61c
  F src/test_vdbecov.c f60c6f135ec42c0de013a1d5136777aa328a776d33277f92abac648930453d43
@@@ -599,34 -599,34 +601,34 @@@ F src/test_windirent.h 90dfbe95442c9762
  F src/test_window.c cdae419fdcea5bad6dcd9368c685abdad6deb59e9fc8b84b153de513d394ba3f
  F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
  F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c
- F src/tokenize.c 194677eb6d46dff9a4d6d615af3e43405ab893c340f3807ba6da326d50948a1b
- F src/treeview.c 9df54af6e5830fd527496e62ae0148e1ba33197205d8e232c2826537d42d4063
- F src/trigger.c fe34ac585410bf1cd449db2eebea6b343601c7af590b8e666b320a102ced2f12
- F src/update.c 3199098455830fc2d8c8fc4ae3ec2ea513eef64339ae9a7048db62b21169bc7a
 -F src/tokenize.c 4dc01b267593537e2a0d0efe9f80dabe24c5b6f7627bc6971c487fa6a1dacbbf
++F src/tokenize.c cc9b7b311ea93b70aff96fe9aeb37b034588453115c3a09a728a0675594953d4
+ F src/treeview.c 4b92992176fb2caefbe06ba5bd06e0e0ebcde3d5564758da672631f17aa51cda
 -F src/trigger.c ef67bde309a831515dc3c2173d792574309f2f42d45f8c078743fae9f7f98c75
++F src/trigger.c 595153f55f10058605e84aa6e41718e92ebd6fa896528bcc3a97708f0bb27ac4
+ F src/update.c fb15bec5b54fd098f4b84f6abc83c7103b45ba8484011fff8edf5ae31656eab6
  F src/upsert.c 2920de71b20f04fe25eb00b655d086f0ba60ea133c59d7fa3325c49838818e78
- F src/utf.c d7a61c1dfdac3eb091d43341a674032dca5a34e122f78ef0b5bd2d5a31967dde
- F src/util.c 3b6cedf7a0c69bd6e1acce832873952d416212d6293b18d03064e07d7a9b5118
- F src/vacuum.c 593bdeaa1381b9f3030691ef5a5143d738d509311bca54e1201998ca2b51f633
- F src/vdbe.c 56860bb96bdf2162642e54ca4fc4147369c4a439018858759c3d336659ad1c1b
- F src/vdbe.h 1c7eaf26b674d9c1a8030b5ad27531e4b99df472a1fba78de43bcd0e812fb763
- F src/vdbeInt.h 571413068b5ac07e2ed8ca7a02fa529622fd5455ae6981498376e5e492d2e5ef
- F src/vdbeapi.c e467b75a710ea099f8d2d022abf601d2ccd05e28f63b44b12d93000b6a75f4a8
- F src/vdbeaux.c 79846956661ec4b4b36e41c9d072f1294c0865ab429be48aa1e5f079ae5ee754
+ F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
+ F src/util.c c8bf30c4356b091bcc3b624d0e24b2b4d11b8be4d6c90d8e0705971e15cc819b
 -F src/vacuum.c 1c4f8e2f39d950037f4cf946b6858c993d3a54c3101f78e05c76460a073afcf0
 -F src/vdbe.c e9f7f818f128c8600058c0eabb6b3975974c95153a104d340f419adabbc15b9f
 -F src/vdbe.h 83603854bfa5851af601fc0947671eb260f4363e62e960e8a994fb9bbcd2aaa1
++F src/vacuum.c 55537753cfc6b860b844bf9a3e47b855ba5a8094e165074a7a908304dd1960ad
++F src/vdbe.c 9ae5113faf176c3305db3b8cb06a3e129293cc66af15e42142dbab13ce10bac5
++F src/vdbe.h 9e947bd4a40e3b65159b699571c8246c209f6bda6e13979a1ab623faa2f0d23f
+ F src/vdbeInt.h 762abffb7709f19c2cb74af1bba73a900f762e64f80d69c31c9ae89ed1066b60
+ F src/vdbeapi.c c5e7cb2ab89a24d7f723e87b508f21bfb1359a04db5277d8a99fd1e015c12eb9
 -F src/vdbeaux.c 73854da7a9a4f12db72a855758214173c82f46a14be6cb19e63677ba02c97cae
 -F src/vdbeblob.c 253ed82894924c362a7fa3079551d3554cd1cdace39aa833da77d3bc67e7c1b1
++F src/vdbeaux.c 1aa53cee66d6fd880d47891a0d6f0beaf3f8530335c7e8824e0491516bf81397
 +F src/vdbeblob.c 40028e015fe557a945c99edb6cbf844ea96d853c3e8ac4eb5c1e49bff59f154e
- F src/vdbemem.c 39b942ecca179f4f30a32b54579a85d74ccaefa5af2a0ad2700abe5ef0768b22
+ F src/vdbemem.c 947f2a65910edb4014dc981d33e414a68c51f169f9df8c4c493a0ba840b6eb1f
  F src/vdbesort.c 2be76d26998ce2b3324cdcc9f6443728e54b6c7677c553ad909c7d7cfab587df
  F src/vdbetrace.c fa3bf238002f0bbbdfb66cc8afb0cea284ff9f148d6439bc1f6f2b4c3b7143f0
- F src/vdbevtab.c ee5b4c902fdda2230f9503ac7b84c6d614c91e8f6f4dc1633e2e8dfef8ffb144
- F src/vtab.c df7634fbdf42f8dc53f0a95eebf913b11a34bbdb7ae6cd08b8e55119a0ce227d
+ F src/vdbevtab.c f99b275366c5fc5e2d99f734729880994ab9500bdafde7fae3b02d562b9d323c
 -F src/vtab.c 5f5fc793092f53bbdfde296c50f563fb7bda58cf48e9cf6a8bdfbc5abd409845
++F src/vtab.c 54b6ab9f5ab772f56e9f3a95543207943e775ec699b7cbbfd3a99c264cad377f
  F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
- F src/wal.c 04c3d2a673192016a671eb051a1900945a8c7331f4378636a8bfb70e8e596c84
+ F src/wal.c 7a05a519a02ffb7f2a458838a25853c7300c9e6d9ef546ee48469378ac0404f9
  F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a
  F src/walker.c 3df26a33dc4f54e8771600fb7fdebe1ece0896c2ad68c30ab40b017aa4395049
- F src/where.c 9546c82056e8cdb27291f98cf1adca5d271240b399bb97b32f77fc2bea6146c9
+ F src/where.c 2ea911238674e9baaeddf105dddabed92692a01996073c4d4983f9a7efe481f9
  F src/whereInt.h 6b874aa15f94e43a2cec1080be64d955b04deeafeac90ffb5d6975c0d511be3c
- F src/wherecode.c 7b939de85d65cc4b4bfa197513136b9e0ae03167e3b82842ca5a0ba1055ba65d
+ F src/wherecode.c 8064fe5c042824853a9b1fda670054a51a49033a6c79059988c97751ccf8088e
  F src/whereexpr.c 264d58971eaf8256eb5b0917bcd7fc7a1f1109fdda183a8382308a1b18a2dce7
- F src/window.c 66c5fd1e48af7581cf90b97700268294f4da4037f120f367715f912e1148d3f9
+ F src/window.c edd6f5e25a1e8f2b6f5305b7f5f7da7bb35f07f0d432b255b1d4c2fcab4205aa
  F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
  F test/affinity2.test ce1aafc86e110685b324e9a763eab4f2a73f737842ec3b687bd965867de90627
  F test/affinity3.test 6a101af2fc945ce2912f6fe54dd646018551710d
@@@ -1611,13 -1608,13 +1617,14 @@@ F test/triggerD.test 8e7f3921a92a5797d4
  F test/triggerE.test ede2e4bce4ba802337bd69d39447fa04a938e06d84a8bfc53c76850fc36ed86d
  F test/triggerF.test 5d76f0a8c428ff87a4d5ed52da06f6096a2c787a1e21b846111dfac4123de3ad
  F test/triggerG.test 2b816093c91ba73c733cfa8aedcc210ad819d72a98b1da30768a3c56505233e9
+ F test/triggerupfrom.test d25961fa70a99b6736193da7b49a36d8c1d28d56188f0be6406d4366315cd6e4
  F test/trustschema1.test 4e970aef0bfe0cee139703cc7209d0e0f07725d999b180ba50770f49edef1494
 -F test/tt3_checkpoint.c 9e75cf7c1c364f52e1c47fd0f14c4340a9db0fe1
 -F test/tt3_index.c 39eec10a35f57672225be4d182862152896dee4a
 -F test/tt3_lookaside1.c 0377e202c3c2a50d688cb65ba203afeda6fafeb9
 -F test/tt3_stress.c f9a769ca8b026ecc76ee93ca8c9700a5619f8e51c581107c4053ba6ac97f616f
 -F test/tt3_vacuum.c 1753f45917699c9c1f66b64c717a717c9379f776
 +F test/tt3_checkpoint.c 9a7fe00e07700af027769d83ef67ab727927ae6c865ecdc71fe8011194200c53
 +F test/tt3_index.c 95592839426dc85ce5a7a57b41be2cbf3c2ec3457b9cd841a06ed5877f712c7c
 +F test/tt3_lookaside1.c 2ddd99bfffeef288f0786827ef68f912f6f47ce3d3184e62f05808d8e13b920e
 +F test/tt3_reuseschema.c 4d52e141f89f009028d8ab0bd1f0697d0edffa94bafc1fff0f7ad4d9d9baa549
- F test/tt3_stress.c bbd430f23fa64f466ea8f212756f5f7135a2f8ff5accad85550c0ba73be76b16
++F test/tt3_stress.c 077e817ac1168443b075fedb44e92db84bb4dc5bd3b6fe1aba25c94ac280b231
 +F test/tt3_vacuum.c ca42adcf8a671abbe34338b828464269e21758a6b4857b889dabfd39a3206d98
  F test/types.test bf816ce73c7dfcfe26b700c19f97ef4050d194ff
  F test/types2.test 1aeb81976841a91eef292723649b5c4fe3bc3cac
  F test/types3.test 99e009491a54f4dc02c06bdbc0c5eea56ae3e25a
@@@ -1809,7 -1812,7 +1822,7 @@@ F tool/mkmsvcmin.tcl 6ecab9fe22c2c8de4d
  F tool/mkopcodec.tcl d1b6362bd3aa80d5520d4d6f3765badf01f6c43c
  F tool/mkopcodeh.tcl 352a4319c0ad869eb26442bf7c3b015aa15594c21f1cce5a6420dbe999367c21
  F tool/mkopts.tcl 680f785fdb09729fd9ac50632413da4eadbdf9071535e3f26d03795828ab07fa
- F tool/mkpragmatab.tcl 44bcfb4aaff0a9a4f44b3ae71e2b3b2bb0cfb41f918d63f57a302da00aadb128
 -F tool/mkpragmatab.tcl ae5585ae76ca26e4d6ccd5ea9cdebaf5efefb318bf989497a0e846cd711d9ab1
++F tool/mkpragmatab.tcl 37381569b5a5cd3269e3fdbc08829eb1a5f7c2a8e59ee7be8995127e5ef99e0d
  F tool/mkshellc.tcl 70a9978e363b0f3280ca9ce1c46d72563ff479c1930a12a7375e3881b7325712
  F tool/mksourceid.c 36aa8020014aed0836fd13c51d6dc9219b0df1761d6b5f58ff5b616211b079b9
  F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
@@@ -1876,7 -1879,7 +1889,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 31706878c3ab3ad8f84035553f0c4de25af1e371577e7caccba191fe172905ee 0c1fcf4711a2e66c813aed38cf41cd3e2123ee8eb6db98118086764c4ba83350
- R d8d39cfa3774b2a9cbf6c727274564e0
 -P 680bdc6524ad6af0e74401e96e3a576145042fb865c1582bfaffc11d4ff76a4f
 -R b720a86de77c44208b3db65976426d46
++P ecf8dece0362b79d248bae1847d2224d18af395c336a604bbcf2b29ffab645d5 5bbd4bddd3b9fa64d134ed62bce3eb4a09456bf24dec2474b5d764a3a3775964
++R ee0b968df0e1e1dcb574e297557a3e7d
  U drh
- Z 509c77359a6d084a1c09cb315377f14c
 -Z 737e0d499b7474145d7a36af76d98f48
++Z a71810780ea07fa9ef6e981886e896da
diff --cc manifest.uuid
index 9a3f53cbffb4f30be3972a563946d8930b0aa84f,3f92f7acc7db2d699625c680a0dff3fb1772d1ce..b44e3c40281b5b981f29004c7ca4c14c8a6cb674
@@@ -1,1 -1,1 +1,1 @@@
- ecf8dece0362b79d248bae1847d2224d18af395c336a604bbcf2b29ffab645d5
 -5bbd4bddd3b9fa64d134ed62bce3eb4a09456bf24dec2474b5d764a3a3775964
++b1a77b7eade14d58b3ccd50b98c2ffb6362d093f2cde2bd178ea62cef2cb8d9f
diff --cc src/alter.c
Simple merge
diff --cc src/analyze.c
Simple merge
diff --cc src/attach.c
Simple merge
diff --cc src/build.c
index 3bae2304c5d11b104a861d32ce853ea32f30d3a4,1b1dc6986cfe43c576ff8d4c3843d0510c15f617..46f84fc1fe9c0188b4f9088e8b43ff1887da0160
@@@ -365,13 -351,29 +374,21 @@@ Table *sqlite3FindTable(sqlite3 *db, co
          }
        }
      }
 -  }else{
 -    /* Match against TEMP first */
 -    p = sqlite3HashFind(&db->aDb[1].pSchema->tblHash, zName);
 -    if( p ) return p;
 -    /* The main database is second */
 -    p = sqlite3HashFind(&db->aDb[0].pSchema->tblHash, zName);
 -    if( p ) return p;
 -    /* Attached databases are in order of attachment */
 -    for(i=2; i<db->nDb; i++){
 -      assert( sqlite3SchemaMutexHeld(db, i, 0) );
 -      p = sqlite3HashFind(&db->aDb[i].pSchema->tblHash, zName);
 -      if( p ) break;
 +    /* Not found.  If the name we were looking for was temp.sqlite_master
 +    ** then change the name to sqlite_temp_master and try again. */
-     if( sqlite3StrICmp(zName, MASTER_NAME)!=0 ) break;
++    if( sqlite3StrICmp(zName, ALT_SCHEMA_TABLE)==0 ){
++      zName = DFLT_SCHEMA_TABLE;
++      continue;
+     }
 -    if( p==0 && sqlite3StrNICmp(zName, "sqlite_", 7)==0 ){
 -      if( sqlite3StrICmp(zName+7, &ALT_SCHEMA_TABLE[7])==0 ){
 -        p = sqlite3HashFind(&db->aDb[0].pSchema->tblHash, DFLT_SCHEMA_TABLE);
 -      }else if( sqlite3StrICmp(zName+7, &ALT_TEMP_SCHEMA_TABLE[7])==0 ){
 -        p = sqlite3HashFind(&db->aDb[1].pSchema->tblHash, 
 -                            DFLT_TEMP_SCHEMA_TABLE);
 -      }
++    if( sqlite3StrICmp(zName, ALT_TEMP_SCHEMA_TABLE)==0 ){
++      zName = DFLT_TEMP_SCHEMA_TABLE;
++      continue;
+     }
++    if( sqlite3StrICmp(zName, DFLT_SCHEMA_TABLE)!=0 ) break;
 +    if( sqlite3_stricmp(zDatabase, db->aDb[1].zDbSName)!=0 ) break;
-     zName = TEMP_MASTER_NAME;
++    zName = DFLT_TEMP_SCHEMA_TABLE;
    }
 -  return p;
 +  return 0;
  }
  
  /*
diff --cc src/fkey.c
Simple merge
diff --cc src/main.c
Simple merge
diff --cc src/pragma.c
Simple merge
diff --cc src/pragma.h
Simple merge
diff --cc src/prepare.c
index 9b0e7f88f750b6dca293531c75953e22bb352034,8e2186b10268059bbb6e2d2771d598e01884a466..ea2468df54c08dfb365a8546b561139daac21088
@@@ -193,20 -154,19 +199,25 @@@ int sqlite3InitCallback(void *pInit, in
      */
      Index *pIndex;
      pIndex = sqlite3FindIndex(db, argv[1], db->aDb[iDb].zDbSName);
-     if( pIndex==0
-      || sqlite3GetInt32(argv[3],&pIndex->tnum)==0
+     if( pIndex==0 ){
+       corruptSchema(pData, argv[1], "orphan index");
+     }else
+     if( sqlite3GetUInt32(argv[3],&pIndex->tnum)==0
       || pIndex->tnum<2
+      || pIndex->tnum>pData->mxPage
       || sqlite3IndexHasDuplicateRootPage(pIndex)
      ){
-       corruptSchema(pData, argv[1], pIndex?"invalid rootpage":"orphan index");
+       if( sqlite3Config.bExtraSchemaChecks ){
+         corruptSchema(pData, argv[1], "invalid rootpage");
+       }
      }
    }
 +
 +#ifdef SQLITE_ENABLE_SHARED_SCHEMA
 +  if( IsSharedSchema(db) && iDb!=1 ){
 +    schemaUpdateChecksum(pData, argv[0], argv[1], argv[2]);
 +  }
 +#endif
    return 0;
  }
  
@@@ -238,28 -198,10 +249,28 @@@ int sqlite3InitOne(sqlite3 *db, int iDb
    assert( sqlite3_mutex_held(db->mutex) );
    assert( iDb==1 || sqlite3BtreeHoldsMutex(db->aDb[iDb].pBt) );
  
 +  pDb = &db->aDb[iDb];
 +#ifdef SQLITE_ENABLE_SHARED_SCHEMA
 +  assert( pDb->pSPool==0 || IsSharedSchema(db) );
 +  if( pDb->pSPool ){
 +    /* See if there is a free schema object in the schema-pool. If not,
 +    ** disconnect from said schema pool and continue. This function will
 +    ** connect to a (possibly different) schema-pool before returning. */
 +    Schema *pNew = sqlite3SchemaExtract(pDb->pSPool);
 +    if( pNew ){
 +      pDb->pSchema = pNew;
 +      return SQLITE_OK;
 +    }
 +    rc = sqlite3SchemaDisconnect(db, iDb, 1);
 +    if( rc!=SQLITE_OK ) goto error_out;
 +    assert( pDb->pSchema && pDb->pSPool==0 );
 +  }
 +#endif
 +
    db->init.busy = 1;
  
-   /* Construct the in-memory representation schema tables (sqlite_master or
-   ** sqlite_temp_master) by invoking the parser directly.  The appropriate
+   /* Construct the in-memory representation schema tables (sqlite_schema or
+   ** sqlite_temp_schema) by invoking the parser directly.  The appropriate
    ** table name will be inserted automatically by the parser so we can just
    ** use the abbreviation "x" here.  The parser will also automatically tag
    ** the schema table as read-only. */
    initData.pzErrMsg = pzErrMsg;
    initData.mInitFlags = mFlags;
    initData.nInitRow = 0;
 +  initData.cksum = 0;
+   initData.mxPage = 0;
    sqlite3InitCallback(&initData, 5, (char **)azArg, 0);
    db->mDbFlags &= mask;
    if( initData.rc ){
diff --cc src/shell.c.in
Simple merge
diff --cc src/sqlite.h.in
index 242acfafe082f2b7417c22c771cd31b99e2676aa,dbcc0e989343aea4df97b0d56a544b146834bbd4..515be26ad028d3958cc330430afe8ab043996a4e
@@@ -573,9 -573,10 +573,11 @@@ int sqlite3_exec
  #define SQLITE_OPEN_NOFOLLOW         0x01000000  /* Ok for sqlite3_open_v2() */
  
  /* Reserved:                         0x00F00000 */
 +#define SQLITE_OPEN_SHARED_SCHEMA    0x01000000  /* Ok for sqlite3_open_v2() */
 +
+ /* Legacy compatibility: */
+ #define SQLITE_OPEN_MASTER_JOURNAL   0x00004000  /* VFS only */
  
 -
  /*
  ** CAPI3REF: Device Characteristics
  **
diff --cc src/sqliteInt.h
index 5726ef4c49639a3c008fe26287907546decfe00e,b4c5325ace2cd487e93a1f412b6ace865e6e6ed7..74d0f599e2d0ca66d72977f455a501e068184988
@@@ -3340,6 -3364,8 +3384,7 @@@ struct Parse 
    AutoincInfo *pAinc;  /* Information about AUTOINCREMENT counters */
    Parse *pToplevel;    /* Parse structure for main program (or NULL) */
    Table *pTriggerTab;  /* Table triggers are being coded for */
 -  Parse *pParentParse; /* Parent parser if this parser is nested */
+   AggInfo *pAggList;   /* List of all AggInfo objects */
    int addrCrTab;       /* Address of OP_CreateBtree opcode on CREATE TABLE */
    u32 nQueryLoop;      /* Est number of iterations of a query (10*log2(N)) */
    u32 oldmask;         /* Mask of old.* columns referenced */
@@@ -3617,7 -3639,7 +3661,8 @@@ typedef struct 
    int rc;             /* Result code stored here */
    u32 mInitFlags;     /* Flags controlling error messages */
    u32 nInitRow;       /* Number of rows processed */
 +  u64 cksum;          /* Schema checksum for REUSE_SCHEMA mode */
+   Pgno mxPage;        /* Maximum page number.  0 for no limit. */
  } InitData;
  
  /*
diff --cc src/status.c
Simple merge
diff --cc src/tokenize.c
Simple merge
diff --cc src/trigger.c
Simple merge
diff --cc src/vacuum.c
Simple merge
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbe.h
Simple merge
diff --cc src/vdbeaux.c
Simple merge
diff --cc src/vtab.c
Simple merge
index 8c9519770cb9e8c8d7685a2e8f935b1ff8550b17,be917b732040d23163a0c9ea9ecfc2e171696a84..98ade3e85143911494f7cda3285ebe1502c934e8
@@@ -40,8 -40,8 +40,8 @@@ static char *stress_thread_2(int iTid, 
    Error err = {0};                /* Error code and message */
    Sqlite db = {0};                /* SQLite database connection */
    while( !timetostop(&err) ){
 -    opendb(&err, &db, "test.db", 0);
 +    opendb(&err, &db, "test.db", 0, 0);
-     sql_script(&err, &db, "SELECT * FROM sqlite_master;");
+     sql_script(&err, &db, "SELECT * FROM sqlite_schema;");
      clear_error(&err, SQLITE_LOCKED);
      closedb(&err, &db);
    }
@@@ -265,8 -265,8 +265,8 @@@ static char *stress2_workload19(int iTi
    Sqlite db = {0};                /* SQLite database connection */
    const char *zDb = (const char*)pArg;
    while( !timetostop(&err) ){
 -    opendb(&err, &db, zDb, 0);
 +    opendb(&err, &db, zDb, 0, 0);
-     sql_script(&err, &db, "SELECT * FROM sqlite_master;");
+     sql_script(&err, &db, "SELECT * FROM sqlite_schema;");
      clear_error(&err, SQLITE_LOCKED);
      closedb(&err, &db);
    }
Simple merge