]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge latest trunk into this branch.
authordan <dan@noemail.net>
Tue, 5 Feb 2019 19:51:15 +0000 (19:51 +0000)
committerdan <dan@noemail.net>
Tue, 5 Feb 2019 19:51:15 +0000 (19:51 +0000)
FossilOrigin-Name: c089cc4fbe2e5e53d76154146870d14fc3b8d342a49580e41a5616817099715c

17 files changed:
1  2 
manifest
manifest.uuid
src/alter.c
src/analyze.c
src/build.c
src/callback.c
src/main.c
src/prepare.c
src/shell.c.in
src/sqlite.h.in
src/sqliteInt.h
src/tclsqlite.c
src/trigger.c
src/vacuum.c
src/vdbe.h
src/vdbeaux.c
src/vtab.c

diff --cc manifest
index 340dcf0c5bf66d75042756a05ba81c4e0e7aadbf,781914daf5d389b1d2d4c3172553dc6ccaa6087e..4fcd53ea16e3c89a2610cb0a137f7f71b81417a0
+++ b/manifest
@@@ -1,12 -1,12 +1,12 @@@
- C Fix\smemory\sleaks\son\sthis\sbranch.
- D 2019-02-05T19:15:36.531
 -C Update\sthe\stester.tcl\s--malloctrace\soption\sso\sthat\sit\suses\seu-addr2line\sinstead\sof\saddr2line.
 -D 2019-02-05T16:53:26.720
++C Merge\slatest\strunk\sinto\sthis\sbranch.
++D 2019-02-05T19:51:15.766
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
- F Makefile.in edbb6e20bb1decf65f6c64c9e61004a69bdf8afb39cdce5337c916b03dfcd1e3
+ F Makefile.in 178d8eb6840771149cee40b322d1b3be30d330198c522c903c1b66fb5a1bfca4
  F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
- F Makefile.msc 5402eae167757dae275cd99c21d21d77db2ec1877c58b4f790ef747a60b95c9f
+ F Makefile.msc 5df60c70edb157feb2148a14c687551969599bd065875a0b959b6b139721ca72
  F README.md 377233394b905d3b2e2b33741289e093bc93f2e7adbe00923b2c5958c9a9edee
- F VERSION 654da1d4053fb09ffc33a3910e6d427182a7dcdc67e934fa83de2849ac83fccb
+ F VERSION 453e2f4529ca208196d5567db28d549d7151f79efd33f6e6cfe6e613e583a0be
  F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
  F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
  F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
@@@ -438,18 -448,18 +448,18 @@@ F spec.template 86a4a43b99ebb3e75e6b9a7
  F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
  F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786
  F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
- F src/alter.c 59fa34093fdf62a4049f847c651216f8fc91da494f86cbea35207b115dc4e82c
- F src/analyze.c 44f9189faccf08fbd547b3e232bec559f3669eeec3118751f26512e901698db5
- F src/attach.c 4bd5b92633671d3e8ce431153ebb1893b50335818423b5373f3f27969f79769a
 -F src/alter.c cb691d6cd330312b7951c9d3bc0bc29804bbe80beac1cdd137d824b119b6f28a
 -F src/analyze.c 58db66344a5c58dcabb57f26696f6f2993956c830446da40b444051d2fdaf644
++F src/alter.c 995b37de876639f1b6c14fcf15f3ee1004e3cbea354ebb43d7f5c4de0d649a64
++F src/analyze.c 1f1af7b08ae033e93e290a5db828772c52f1a8219ed6ff90d35e6d1410b5b6d4
+ F src/attach.c 3f9b0f6c79500cc40f4e543bc130a0b4ee13f52b45cbb6735608776cbdb79f0e
  F src/auth.c 0fac71038875693a937e506bceb492c5f136dd7b1249fbd4ae70b4e8da14f9df
  F src/backup.c 78d3cecfbe28230a3a9a1793e2ead609f469be43e8f486ca996006be551857ab
  F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33
  F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
- F src/btree.c 3ef104ecae8b1b5f0458be1f5fa7c1ecf25fdc322a9d63bb8151f89eb32d381e
- F src/btree.h febb2e817be499570b7a2e32a9bbb4b607a9234f6b84bb9ae84916d4806e96f2
- F src/btreeInt.h 620ab4c7235f43572cf3ac2ac8723cbdf68073be4d29da24897c7b77dda5fd96
- F src/build.c 6466a704dbf63090db20434e0cecbc04b005b2fbbaff505282fbc149a0e0537c
- F src/callback.c 7e4f5445db375d4620af892077215dcced0177970137de6331c8735022342b86
+ F src/btree.c 84b7c5c3829b60823e15e7a8407462b69be3818f96518fef28f97ac0fbbca72b
+ F src/btree.h 63b94fb38ce571c15eb6a3661815561b501d23d5948b2d1e951fbd7a2d04e8d3
+ F src/btreeInt.h cd82f0f08886078bf99b29e1a7045960b1ca5d9d5829c38607e1299c508eaf00
 -F src/build.c fe6e3753c4cfc76f9c621a24ef5f6fd62aac5aa6c843710b542509f493274eca
 -F src/callback.c 25dda5e1c2334a367b94a64077b1d06b2553369f616261ca6783c48bcb6bda73
++F src/build.c 5c99b58734e8a5ddb94b1f5734b550d91a762926d11094067aeb5e85da0541bf
++F src/callback.c e81b2c1812d01d8c43286a00d8635a99b6b02eacdd2eb4d9a1d30b5122d79cf1
  F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
  F src/ctime.c 109e58d00f62e8e71ee1eb5944ac18b90171c928ab2e082e058056e1137cc20b
  F src/date.c ebe1dc7c8a347117bb02570f1a931c62dd78f4a2b1b516f4837d45b7d6426957
@@@ -465,10 -475,10 +475,10 @@@ F src/hash.c a12580e143f10301ed5166ea49
  F src/hash.h ab34c5c54a9e9de2e790b24349ba5aab3dbb4fd4
  F src/hwtime.h 747c1bbe9df21a92e9c50f3bbec1de841dc5e5da
  F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
- F src/insert.c 6b81aae27b196925d8ff78824f4bbd435d6a40cd38dc324685e21735bb402109
- F src/legacy.c 134ab3e3fae00a0f67a5187981d6935b24b337bcf0f4b3e5c9fa5763da95bf4e
- F src/loadext.c 448eab53ecdb566a1259ee2d45ebff9c0bc4a2cf393774488775c33e4fbe89bf
- F src/main.c 23f7d6395e30d9fbd2abfe4e5bae6c9bf8ce5e854d15e934ca9571c22eb3eef5
+ F src/insert.c 3ed9ceaa4b7d56a6f2613355e1cd1ae5cfe31712bce2bf5aa93c5f1f130704b2
+ F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
+ F src/loadext.c e6f10875d52aca3b7e57ce1ec174aeafc9b6c00b43000cd30d791f9cb490b7a6
 -F src/main.c 27d7265625ea6eaccdfe7c53ef41adc179c9357a077702a860c1a3b0a037a16f
++F src/main.c fcd4375915d94fcdfe710510ad112f4845d40dfaf8de5cc82f7f22856a7ee649
  F src/malloc.c 07295435093ce354c6d9063ac05a2eeae28bd251d2e63c48b3d67c12c76f7e18
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de
@@@ -489,32 -499,32 +499,32 @@@ F src/os.h 48388821692e87da174ea198bf96
  F src/os_common.h b2f4707a603e36811d9b1a13278bffd757857b85
  F src/os_setup.h 0dbaea40a7d36bf311613d31342e0b99e2536586
  F src/os_unix.c f6e91b8fd82af7afbfd073c4974ad6cdb8e62d9f65ceddb45167835a0567fdc0
- F src/os_win.c 070cdbb400097c6cda54aa005356095afdc2f3ee691d17192c54724ef146a971
+ F src/os_win.c 85d9e532d0444ab6c16d7431490c2e279e282aa0917b0e988996b1ae0de5c5a0
  F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
- F src/pager.c f803ffcd8440b5249549ea103158a1c659bf060961b2389f9fede66a3a352d0b
- F src/pager.h ecc554a55bc55d1c4ba5e17137b72e238e00bd81e72ff2662d8b9c8c10ae3963
- F src/parse.y 6840fe7c0b5eb4dd25ee5d075213bc8255ed4c0678d71bfb6744d0520d91c179
- F src/pcache.c 4196eb6ed3bbf00b80596c8e0b4f50e57eb7d890c19fb27a7354306abb7f983d
- F src/pcache.h 072f94d29281cffd99e46c1539849f248c4b56ae7684c1f36626797fee375170
- F src/pcache1.c 716975564c15eb6679e97f734cec1bfd6c16ac3d4010f05f1f8e509fc7d19880
- F src/pragma.c 0bb05b1788d7af5fdc7f40f5655a79a140dece8fd2523402eb2103925e4739c2
- F src/pragma.h fdd03d78a7497f74a3f652909f945328480089189526841ae829ce7313d98d13
- F src/prepare.c 24812a79d17c4271b3989d7f2891bc16bb0c87e43806ede192fe0c4e2b283ed4
- F src/printf.c 0f1177cf1dd4d7827bf64d840768514ec76409abecaca9e8b577dbd065150381
+ F src/pager.c 857dde3e525f665cfab23b6765bf04ca6638c0759ae7da6d63acfb463e230aa6
+ F src/pager.h 217921e81eb5fe455caa5cda96061959706bcdd29ddb57166198645ef7822ac3
+ F src/parse.y 741a270b7f2f85bc5d026d06fb5a9ccba5335304ff2831e1cb44b36cd0da6006
+ F src/pcache.c 696a01f1a6370c1b50a09c15972bc3bee3333f8fcd1f2da8e9a76b1b062c59ee
+ F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586
+ F src/pcache1.c fffd5250a323579384a3b3904302b9fe87e186ba24602af3013f749a0234ae98
+ F src/pragma.c af67dedaad8bafe9a5f9adcec32a0da6dd118617dd8220ad1d118f5a6bf83a02
+ F src/pragma.h 66f3e237cbba0a40a322d4a5bb58fcffa35bff8289ca9e5635424300479f1a38
 -F src/prepare.c 78027c6231fbb19ca186a5f5f0c0a1375d9c2cec0655273f9bd90d9ff74a34b3
++F src/prepare.c ca6afe2f9a2522567cfac7231a0b7458a9da701c791c9170fd241229ed9c6b83
+ F src/printf.c cbf27c320091a83279d1738f68a27a9fe01698c607ce80516ab6bdb5a9c36a1a
  F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
- F src/resolve.c bc8c79e56439b111e7d9415e44940951f7087e9466c3a9d664558ef0faf31073
+ F src/resolve.c c8f207247472c41ac73d738e1c1a80719ad253d1dbb617ed57740492b2a6c097
  F src/rowset.c d977b011993aaea002cab3e0bb2ce50cf346000dff94e944d547b989f4b1fe93
- F src/select.c 61e867a906f140b73baf4ce7a201ad6dcba30820969f5618ee40e9a0d32c6f5f
- F src/shell.c.in 9f517c22e3c9a08ab634330789f74454ec9a7e0596c8faed221c6b43ee980b96
- F src/sqlite.h.in 29a3b2eab328c5a345ef6be09ff77dc6dabbfe1a36e05c19204591d084a73d80
+ F src/select.c 8e22fda41a737c391e8b797f7c71e7ded1d107c31181b07bb10b3d4f22a28cd9
 -F src/shell.c.in 72a09544a79ac9cb799eeb5a2e15de26e3921b78aa5610c525c4295f1580bf4e
 -F src/sqlite.h.in 7da74fd5bd7a9dbe92297060f036935520b26e240457287c5e67c7b9db51a986
++F src/shell.c.in d3c5b1c021dd66b71086c62679bcdaa8cb66521efa74cbdebf55ae19073c578b
++F src/sqlite.h.in 528af7447d87ca678409b3280faa3905bab5fab265590821b0df0c8bc956e3a2
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
  F src/sqlite3ext.h 960f1b86c3610fa23cb6a267572a97dcf286e77aa0dd3b9b23292ffaa1ea8683
- F src/sqliteInt.h 3fa010615553494385ca7ac03d6815393171f52aa7d1858cda8506c6d89e9d2c
 -F src/sqliteInt.h f657e35d824fdc17ddf46bb85f0193df3b965e8354ded9ec37825057e3224bcc
++F src/sqliteInt.h e58c4cad951936e53871976ba4e9ede918950cc5c5854aee442f6fc63ca05928
  F src/sqliteLimit.h 1513bfb7b20378aa0041e7022d04acb73525de35b80b252f1b83fedb4de6a76b
 -F src/status.c 46e7aec11f79dad50965a5ca5fa9de009f7d6bde08be2156f1538a0a296d4d0e
 +F src/status.c 41d9cc5d5f9d2a470dcf0a28432c66e25c15b86e51535283e9aef632adf02ac8
  F src/table.c b46ad567748f24a326d9de40e5b9659f96ffff34
- F src/tclsqlite.c b15e46bdc1b14e994a358d51ce0bf8b7d7d4615cda96634ca0498ee39bc83b9c
- F src/test1.c b95363b0bc9e1ecc61964ca5a22c137422af4808a54a7bbb1a4f7d6d6257f704
 -F src/tclsqlite.c 6b19e7562195aaf881f3e35e2472dc01ae3cb156961db5126c3d616744729b7e
++F src/tclsqlite.c b17e7c1629311de001887ad5afa4ed9bfddd85be0bbb7e6fdf16352162c98081
+ F src/test1.c 64cdc914a77102e008dfae7adaa4ded54c2d4953d1464ea8709805a2aab755eb
  F src/test2.c 3efb99ab7f1fc8d154933e02ae1378bac9637da5
  F src/test3.c 61798bb0d38b915067a8c8e03f5a534b431181f802659a6616f9b4ff7d872644
  F src/test4.c 18ec393bb4d0ad1de729f0b94da7267270f3d8e6
@@@ -567,24 -577,24 +577,24 @@@ 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 9e781e1ca80eefe7b5d6a9e2cd5c678c847da55fd6f093781fad7950934d4c83
- F src/treeview.c 7b12ac059de54c939b6eb0dbffc9410c29c80d2470cee5cbe07d5ff9ea2d9253
- F src/trigger.c 9ec37388378ba50a433d3a2b7daaca5d712185977c0d3180ab5043c32ed4a8d0
- F src/update.c 1816d56c1bca1ba4e0ef98cac2f49be62858e9df1dc08844c7067eb41cc44274
+ F src/tokenize.c 0a065eaa31f494ba31ac21d4a5d24a5a7865a7d849459f8c6266df1ac6b9aedf
+ F src/treeview.c c6ff90da4cc1813ff2d9bb11f17d4d927db62c47e552faa1835edc47269d753d
 -F src/trigger.c bb034c08eca111e66a19cda045903a12547c1be2294b5570d794b869d9c44a73
++F src/trigger.c 5714a8d2e38ba38720783a4a56bb43f3709d7421d2ee7a8f61460ded73b03b3d
+ F src/update.c 0b973357d88092140531e07ff641139c26fb4380b0b9f5ed98c5f7691b4604d1
  F src/upsert.c 0dd81b40206841814d46942a7337786932475f085716042d0cb2fc7791bf8ca4
  F src/utf.c 810fbfebe12359f10bc2a011520a6e10879ab2a163bcb26c74768eab82ea62a5
- F src/util.c d9eb0a6c4aae1b00a7369eadd7ca0bbe946cb4c953b6751aa20d357c2f482157
- F src/vacuum.c 6da236d4897c0227c0bef7c8f5be718482b65c8fc158fc46ffda2c529df1ba2f
- F src/vdbe.c 005e691ea4c7d51e6c1a69d9389aeb34700884c85f51681817ddea3fdc2fc39b
- F src/vdbe.h faedef405cf4e0679b46286576cebb307255d1a5c65908f470628255833faec4
- F src/vdbeInt.h 8a52b8db3d20f9755a965d864b8653052c7ef1ccadceb2e057047cd421f6336e
- F src/vdbeapi.c ecccfce6f614c33a95952efeec969d163e8349eac314ee2b7b163eda921b5eb0
- F src/vdbeaux.c 5e83d8a9e6513d14f17810c70a87d4876bf9f2b55eb78bec8571fe37a37ade1a
+ F src/util.c 82a2e3f691a3b654be872e305dab1f455e565dedf5e6a90c818c1ab307c00432
 -F src/vacuum.c a9f389f41556c0ec310bc9169dc9476603c30a0a913ad92bfbc75c86886967ca
++F src/vacuum.c 7dbed4a756f014f3ce54e6ae3c403ee725e8179cf73fc6dd5c064e5627649f9f
+ F src/vdbe.c b7b6f965153607072917dbd81d654a268abf4872c58d556701d1549550766c02
 -F src/vdbe.h 712bca562eaed1c25506b9faf9680bdc75fc42e2f4a1cd518d883fa79c7a4237
++F src/vdbe.h 323218c4bfd64c719ba85d05fbc87cdd126991cadb39e73ccac7b59f30c3d53e
+ F src/vdbeInt.h a76d5eed62c76bcd8de7afd3147fac1bc40c5a870582664bcd7d071ef437c37f
+ F src/vdbeapi.c 57a2d794a8833f269b878dbc24e955369bdb379af6c4e93ebc5ce1a20fa3daf4
 -F src/vdbeaux.c 4fa28b32452f6197dba7c8780dde11576b9a6d8ce6f35adbb69efc3e7d37fa0c
++F src/vdbeaux.c 2f4fefdf74c484193de632c3c417c5886512f7a57f69a65dbdb858a58bc3f55a
  F src/vdbeblob.c f5c70f973ea3a9e915d1693278a5f890dc78594300cf4d54e64f2b0917c94191
- F src/vdbemem.c 7b3305bc4a5139f4536ac9b5f61da0f915e49d2e3fdfa87dfdfa9d7aba8bc1e9
+ F src/vdbemem.c 3173f0275cf8643a03ed02084ee56b97fc1a17a2edb5907facec504f59c3172d
  F src/vdbesort.c 90aad5a92608f2dd771c96749beabdb562c9d881131a860a7a5bccf66dc3be7f
  F src/vdbetrace.c 79d6dbbc479267b255a7de8080eee6e729928a0ef93ed9b0bfa5618875b48392
- F src/vtab.c df409cbabcb98568981da6f3b6ae5465fc82da6f213bbdbb535a25714836b7e6
 -F src/vtab.c 2462b7d6fd72b0b916477f5ef210ee49ab58cec195483ebdac0c8c5e3ec42cab
++F src/vtab.c 79b66d04b97febfe94fbfcb5f6da16849f2fac5fdf8be418ad7b99a0f85702f2
  F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
  F src/wal.c 3f4f653daf234fe713edbcbca3fec2350417d159d28801feabc702a22c4e213f
  F src/wal.h 606292549f5a7be50b6227bd685fa76e3a4affad71bb8ac5ce4cb5c79f6a176a
@@@ -1202,11 -1222,9 +1222,11 @@@ F test/rdonly.test 64e2696c322e3538df0b
  F test/regexp1.test 497ea812f264d12b6198d6e50a76be4a1973a9d8
  F test/regexp2.test 40e894223b3d6672655481493f1be12012f2b33c
  F test/reindex.test 44edd3966b474468b823d481eafef0c305022254
- F test/releasetest.tcl c5b474f9880073fc3b69729ee05d5284653a9ee101af572204917d9dcb1d9015 x
- F test/resetdb.test 684a6ffde5a5141bba79f3101981cc38dcfc3403f61e643b7b3aa68bef0b8408
+ F test/releasetest.tcl b290d538ffcb2ff711f09eadc7396c1a42580f3fb078605471dc8875ca0b4d1e x
+ F test/resetdb.test 8062cf10a09d8c048f8de7711e94571c38b38168db0e5877ba7561789e5eeb2b
  F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb
 +F test/reuse1.test b020ae24435771c741f322f3e97c2b1777ab33d0e149cb15f86b1e19ed98b3cb
 +F test/reuse2.test 39f4a78ddf2d9b1fe3e4131c70497db628cd3a313a4520860b98af2e024bf98d
  F test/rollback.test 06680159bc6746d0f26276e339e3ae2f951c64812468308838e0a3362d911eaa
  F test/rollback2.test bc868d57899dc6972e2b4483faae0e03365a0556941474eec487ae21d8d38bb6
  F test/rollbackfault.test 0e646aeab8840c399cfbfa43daab46fd609cf04a
@@@ -1342,13 -1361,13 +1363,13 @@@ F test/sync.test 89539f4973c010eda56384
  F test/sync2.test 8f9f7d4f6d5be8ca8941a8dadcc4299e558cb6a1ff653a9469146c7a76ef2039
  F test/syscall.test a39d9a36f852ae6e4800f861bc2f2e83f68bbc2112d9399931ecfadeabd2d69d
  F test/sysfault.test c9f2b0d8d677558f74de750c75e12a5454719d04
- F test/tabfunc01.test 54300134f76db817685194d2f0e63e3fbf7380b45e0d426e00a9aee752497cfb
- F test/table.test b708f3e5fa2542fa51dfab21fc07b36ea445cb2f
+ F test/tabfunc01.test 20e98ffe55f35d8d33fd834ca8bf9d4b637e560af8fcd00464b4154d90a4db45
+ F test/table.test eb3463b7add9f16a5bb836badf118cf391b809d09fdccd1f79684600d07ec132
  F test/tableapi.test ecbcc29c4ab62c1912c3717c48ea5c5e59f7d64e4a91034e6148bd2b82f177f4
  F test/tableopts.test dba698ba97251017b7c80d738c198d39ab747930
 -F test/tclsqlite.test dca8aa30d84175e7d8c8fc43d3ffa11fa56e23fbdac2679d03833a0f326edf34
 +F test/tclsqlite.test 049da602775bebfadfa2fae0710e1099a38ef2fc9f76c7546be3ba8fdbb02263
  F test/tempdb.test 4cdaa23ddd8acb4d79cbb1b68ccdfd09b0537aaba909ca69a876157c2a2cbd08
- F test/tempdb2.test 4749545409c6d7438b435c3f05cdd139cf4145a954a6908d19e3443ffd8724b3
+ F test/tempdb2.test 2479226e4cb96f4c663eccd2d12c077cf6bda29ca5cc69a8a58a06127105dd62
  F test/tempfault.test 0c0d349c9a99bf5f374655742577f8712c647900
  F test/temptable.test d2c9b87a54147161bcd1822e30c1d1cd891e5b30
  F test/temptable2.test d2940417496e2b9548e01d09990763fbe88c316504033256d51493e1f1a5ce6a
@@@ -1778,7 -1804,7 +1806,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 5dfbef8349e47f9d9fcdbb648ecd18b5bc7eebdb1a3ddaf91789d036b7de8a90
- R afc552fccf62fcbff9210a438b2241ca
 -P d840e9bb023a1e84a7739d764a0f6cf608fc3183ff8c366fcdb486ebd932f0c1
 -R ea7e86862ddb85c5a7b59ce084622209
++P e9c5e1891ff4f7e57131031f068efea87027ddab0cd7846e0514a105853be47d 79c073878d56fc638b751b0e61295df182f7ee6f8ebd7319c1eeac1608abbac8
++R e0bf86af82e0dd6cb9c64eb21edaa738
  U dan
- Z 9f5446cffa6464b6e56079738d9c74c0
 -Z 8eeb937aab4d4557109f58c2979ba7c0
++Z e90b87b039ce6a2df58baedc3ca48d1e
diff --cc manifest.uuid
index ed771f57bd78af172d5480550923fa1d0448d27f,61b5861a1361598477036cf36220974de7238c76..e24f36606ca0bf09d0649cb909dd1757b7fad62f
@@@ -1,1 -1,1 +1,1 @@@
- e9c5e1891ff4f7e57131031f068efea87027ddab0cd7846e0514a105853be47d
 -79c073878d56fc638b751b0e61295df182f7ee6f8ebd7319c1eeac1608abbac8
++c089cc4fbe2e5e53d76154146870d14fc3b8d342a49580e41a5616817099715c
diff --cc src/alter.c
Simple merge
diff --cc src/analyze.c
Simple merge
diff --cc src/build.c
index 6d5250fa4b036a19f19834afb4016b50b22d7acd,3c4b9db62b59c405e28b4f5d6d95aca801c10203..dfc4c43bcfc175137bd2030121f22da826e0b6f4
@@@ -543,14 -550,16 +549,17 @@@ void sqlite3ResetOneSchema(sqlite3 *db
  void sqlite3ResetAllSchemasOfConnection(sqlite3 *db){
    int i;
    sqlite3BtreeEnterAll(db);
-   assert( db->nSchemaLock==0 );
 -  for(i=0; i<db->nDb; i++){
 +  for(i=0; i<db->nDb; i=(i?i+1:2)){
      Db *pDb = &db->aDb[i];
      if( pDb->pSchema ){
-       sqlite3SchemaClear(pDb->pSchema);
+       if( db->nSchemaLock==0 ){
+         sqlite3SchemaClear(pDb->pSchema);
+       }else{
+         DbSetProperty(db, i, DB_ResetWanted);
+       }
      }
    }
 +  sqlite3SchemaClear(db->aDb[1].pSchema);
    db->mDbFlags &= ~(DBFLAG_SchemaChange|DBFLAG_SchemaKnownOk);
    sqlite3VtabUnlockList(db);
    sqlite3BtreeLeaveAll(db);
diff --cc src/callback.c
Simple merge
diff --cc src/main.c
Simple merge
diff --cc src/prepare.c
index 48a4bf55e6de6ce18db2cd9068bc2eb0a571856b,3f1a79b14b683d825e43f11ae810dedb49444747..367d85fd6dd1b5756d264fa130529ca10b5d1731
@@@ -44,26 -44,19 +44,39 @@@ static void corruptSchema
    }
  }
  
 +/*
 +** Update the Schema.cksum checksum to account for the database object
 +** specified by the three arguments following the first.
 +*/
 +void schemaUpdateChecksum(
 +  InitData *pData,                /* Schema parse context */
 +  const char *zName,              /* Name of new database object */
 +  const char *zRoot,              /* Root page of new database object */
 +  const char *zSql                /* SQL used to create new database object */
 +){
 +  int i;
 +  u64 cksum = pData->cksum;
 +  if( zName ){
 +    for(i=0; zName[i]; i++) cksum += (cksum<<3) + zName[i];
 +  }
 +  if( zRoot ) for(i=0; zRoot[i]; i++) cksum += (cksum<<3) + zRoot[i];
 +  if( zSql ) for(i=0; zSql[i]; i++) cksum += (cksum<<3) + zSql[i];
 +  pData->cksum = cksum;
 +}
 +
+ /*
+ ** Check to see if any sibling index (another index on the same table)
+ ** of pIndex has the same root page number, and if it does, return true.
+ ** This would indicate a corrupt schema.
+ */
+ int sqlite3IndexHasDuplicateRootPage(Index *pIndex){
+   Index *p;
+   for(p=pIndex->pTable->pIndex; p; p=p->pNext){
+     if( p->tnum==pIndex->tnum && p!=pIndex ) return 1;
+   }
+   return 0;
+ }
  /*
  ** This is the callback routine for the code that initializes the
  ** database.  See sqlite3Init() below for additional information.
@@@ -138,21 -132,14 +152,18 @@@ int sqlite3InitCallback(void *pInit, in
      */
      Index *pIndex;
      pIndex = sqlite3FindIndex(db, argv[0], db->aDb[iDb].zDbSName);
-     if( pIndex==0 ){
-       /* This can occur if there exists an index on a TEMP table which
-       ** has the same name as another index on a permanent index.  Since
-       ** the permanent table is hidden by the TEMP table, we can also
-       ** safely ignore the index on the permanent table.
-       */
-       /* Do Nothing */;
-     }else if( sqlite3GetInt32(argv[1], &pIndex->tnum)==0 ){
-       corruptSchema(pData, argv[0], "invalid rootpage");
+     if( pIndex==0
+      || sqlite3GetInt32(argv[1],&pIndex->tnum)==0
+      || pIndex->tnum<2
+      || sqlite3IndexHasDuplicateRootPage(pIndex)
+     ){
+       corruptSchema(pData, argv[0], pIndex?"invalid rootpage":"orphan index");
      }
    }
 +
 +  if( iDb!=1 && (db->openFlags & SQLITE_OPEN_REUSE_SCHEMA) ){
 +    schemaUpdateChecksum(pData, argv[0], argv[1], argv[2]);
 +  }
    return 0;
  }
  
diff --cc src/shell.c.in
index 6df26602ecc468b6b09f5ff3eae42f3dc75bdf04,7295a7374aaad0adb1ad111f4762f909ec364fd9..8b25cfe78e2307e7380e7988cd80746996f46650
@@@ -1065,7 -1077,20 +1077,21 @@@ struct ShellState 
  #define SHELL_OPEN_ZIPFILE     3      /* Use the zipfile virtual table */
  #define SHELL_OPEN_READONLY    4      /* Open a normal database read-only */
  #define SHELL_OPEN_DESERIALIZE 5      /* Open using sqlite3_deserialize() */
- #define SHELL_OPEN_REUSESCHEMA 6      /* Open for schema reuse */
+ #define SHELL_OPEN_HEXDB       6      /* Use "dbtotxt" output as data source */
++#define SHELL_OPEN_REUSESCHEMA 7      /* Open for schema reuse */
+ /* Allowed values for ShellState.eTraceType
+ */
+ #define SHELL_TRACE_PLAIN      0      /* Show input SQL text */
+ #define SHELL_TRACE_EXPANDED   1      /* Show expanded SQL text */
+ #define SHELL_TRACE_NORMALIZED 2      /* Show normalized SQL text */
+ /* Bits in the ShellState.flgProgress variable */
+ #define PROGRESS_QUIET   0x01         /* Omit announcing every progress callback */
+ #define PROGRESS_RESET   0x02         /* Reset the count when the progres
+                                       ** callback limit is reached, and for each
+                                       ** top-level SQL statement */
+ #define PROGRESS_ONCE    0x04         /* Cancel the --limit after firing once */
  
  /*
  ** These are the allowed shellFlgs values
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/sqliteInt.h
index 12191d4052fc065766d96d66ed67c2ec36d0ab8d,774d3e50115db5de50cce51b9e55cbe5068abe03..7f863c0c2328a54300afb32417f6d1628030088f
@@@ -3356,7 -3367,7 +3374,8 @@@ typedef struct 
    int iDb;            /* 0 for main database.  1 for TEMP, 2.. for ATTACHed */
    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 */
  } InitData;
  
  /*
diff --cc src/tclsqlite.c
Simple merge
diff --cc src/trigger.c
Simple merge
diff --cc src/vacuum.c
index 57344bb030c067e8e86e4eb9ff31103eff0bc12b,8042f107b437507e9bafa97b4be5e84a7814b5c4..d7e4566403181821f23c1171e786d82e4f1c6019
@@@ -123,10 -123,16 +123,17 @@@ void sqlite3Vacuum(Parse *pParse, Toke
  #endif
    }
    if( iDb!=1 ){
-     sqlite3VdbeAddOp1(v, OP_Vacuum, iDb);
+     int iIntoReg = 0;
 +    sqlite3SchemaWritable(pParse, iDb);
+     if( pInto && sqlite3ResolveSelfReference(pParse,0,0,pInto,0)==0 ){
+       iIntoReg = ++pParse->nMem;
+       sqlite3ExprCode(pParse, pInto, iIntoReg);
+     }
+     sqlite3VdbeAddOp2(v, OP_Vacuum, iDb, iIntoReg);
      sqlite3VdbeUsesBtree(v, iDb);
    }
+ build_vacuum_end:
+   sqlite3ExprDelete(pParse->db, pInto);
    return;
  }
  
diff --cc src/vdbe.h
index b6b3204790ba97df326c388270796a812570b062,041a91c51fe93e2dbbfd73d69a9bd9b3c9930806..303ae0e2d08b9faa0ebe0d619a4dae8c21bcefc9
@@@ -215,8 -214,14 +214,14 @@@ VdbeOp *sqlite3VdbeAddOpList(Vdbe*, in
  # define ExplainQueryPlan(P)
  # define ExplainQueryPlanPop(P)
  # define ExplainQueryPlanParent(P) 0
+ # define sqlite3ExplainBreakpoint(A,B) /*no-op*/
+ #endif
+ #if defined(SQLITE_DEBUG) && !defined(SQLITE_OMIT_EXPLAIN)
+   void sqlite3ExplainBreakpoint(const char*,const char*);
+ #else
+ # define sqlite3ExplainBreakpoint(A,B) /*no-op*/
  #endif
 -void sqlite3VdbeAddParseSchemaOp(Vdbe*,int,char*);
 +void sqlite3VdbeAddParseSchemaOp(Parse*,int,char*);
  void sqlite3VdbeChangeOpcode(Vdbe*, u32 addr, u8);
  void sqlite3VdbeChangeP1(Vdbe*, u32 addr, int P1);
  void sqlite3VdbeChangeP2(Vdbe*, u32 addr, int P2);
diff --cc src/vdbeaux.c
Simple merge
diff --cc src/vtab.c
Simple merge