]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge latest trunk changes into this branch.
authordan <Dan Kennedy>
Wed, 10 Feb 2021 20:20:35 +0000 (20:20 +0000)
committerdan <Dan Kennedy>
Wed, 10 Feb 2021 20:20:35 +0000 (20:20 +0000)
FossilOrigin-Name: d29c41bd2670ccd205ca6190aa071c0ac7e9748bd9425fbfec0aa7acc8ae0aeb

19 files changed:
1  2 
Makefile.in
main.mk
manifest
manifest.uuid
src/alter.c
src/attach.c
src/build.c
src/ctime.c
src/fkey.c
src/main.c
src/prepare.c
src/shell.c.in
src/sqlite.h.in
src/sqliteInt.h
src/tokenize.c
src/trigger.c
src/vdbe.c
src/vdbeaux.c
src/vtab.c

diff --cc Makefile.in
Simple merge
diff --cc main.mk
Simple merge
diff --cc manifest
index 854b996b48a6c280831e2743ab036103949953cc,b1b2a3bcbdc48652321bd76f8822122e6b79f485..971eb872616c34f27722a431ce4725f5bb173d36
+++ b/manifest
@@@ -1,11 -1,11 +1,11 @@@
 -C Fix\sa\slongstanding\sproblem\scausing\san\sRBU\svacuum\sto\somit\sreleasing\ssome\slocks\sbefore\sfinishing.
 -D 2021-02-10T20:00:40.512
 +C Merge\slatest\strunk\schanges\sinto\sthis\sbranch.
- D 2020-12-17T11:30:12.233
++D 2021-02-10T20:20:35.198
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
- F Makefile.in 2ebc6d03e09710d5dddc6e8417276ff8ef7bfaaa0cb6ced02791889f2601560f
 -F Makefile.in 9cae1bffe5cb811216bf7425395e7fc0594daa2ce31f625835a9d0c3fb25315f
++F Makefile.in 9ed0edeb277c6722a1e028a3b4754ebd465039aeb3c9a059629278859836efba
  F Makefile.linux-gcc f609543700659711fbd230eced1f01353117621dccae7b9fb70daa64236c5241
 -F Makefile.msc ad07bbd645132533e1fd7164a03acfa9afecda378b3787c10f62ab4c7c45e6ea
 +F Makefile.msc adc7fa1be430e6081e07bfafb2f14032dbb5ff056d1c812c634382815ececc81
  F README.md 1514a365ffca3c138e00c5cc839906108a01011a6b082bad19b09781e3aa498a
  F VERSION 92f3e4c5cdee6f0779aef1eae857dfc21d0eabb1f2af169dc90e63cd76b15bb2
  F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
@@@ -34,13 -34,12 +34,13 @@@ F autoconf/tea/win/rules.vc c511f222b80
  F config.guess 883205ddf25b46f10c181818bf42c09da9888884af96f79e1719264345053bd6
  F config.h.in 6376abec766e9a0785178b1823b5a587e9f1ccbc
  F config.sub c2d0260f17f3e4bc0b6808fccf1b291cb5e9126c14fc5890efc77b9fd0175559
- F configure 7736c168f4fd717c8052e58428a89e645d15cf0e5a3d051e248aad859a3cb140 x
- F configure.ac efdb70036084ea637226e378a14f932e70c0df9f1bc846a24a909c0e1613524a
+ F configure 91893a81f698778dda4d8fb24bfca606ded31ef02bcfbc2ab072d30fb67138d6 x
+ F configure.ac 412b65c6107e41c098ad7f5f2e6a3f74ac02ffc6e92b9a6264b9f1060c235a04
  F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad
  F doc/F2FS.txt c1d4a0ae9711cfe0e1d8b019d154f1c29e0d3abfe820787ba1e9ed7691160fcd
- F doc/lemon.html c5d8ba85ac1daef7be8c2d389899480eb62451ff5c09b0c28ff8157bb8770746
+ F doc/lemon.html 1bb72ece6271df0d901d233551dd985f2c6ba30d09382cf2d321ed951ab57491
  F doc/pager-invariants.txt 27fed9a70ddad2088750c4a2b493b63853da2710
 +F doc/shared_schema.md 759fc374709fccf4e5d2d0cbd05f8fedd38fb022bdd8a6c5b5f492684c7023b9
  F doc/trusted-schema.md 33625008620e879c7bcfbbfa079587612c434fa094d338b08242288d358c3e8a
  F doc/vdbesort-memory.md 4da2639c14cd24a31e0af694b1a8dd37eaf277aff3867e9a8cc14046bc49df56
  F doc/vfs-shm.txt e101f27ea02a8387ce46a05be2b1a902a021d37a
@@@ -463,7 -463,7 +464,7 @@@ F ext/userauth/userauth.c 7f00cded7dcaa
  F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
  F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
  F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
- F main.mk 4e4d6ff9cc79b84c724d8d529474b6ca54215b22758da9cbd620646edeb784a6
 -F main.mk 443a4ec1ca89ad267cbde45dadc68861154b99c7bd26e7b7dc74303a664002b8
++F main.mk 139b827fcfebe187ca52128dbe2977751662a86a4f99a4e004f309b634469b85
  F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
  F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
  F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
@@@ -475,37 -475,37 +476,37 @@@ F spec.template 86a4a43b99ebb3e75e6b9a7
  F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
  F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786
  F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
- F src/alter.c 5f81b936ed65586ae57d126b16ed928e336d6f99df09a700b3d96a0ebb99068a
 -F src/alter.c 36cae0d6e3e91a1996e1a472f8c7242c31a4e38ba4295e3056da198c04fd2a87
 -F src/analyze.c 01c6c6765cb4d40b473b71d85535093730770bb186f2f473abac25f07fcdee5c
 -F src/attach.c e80162a47411f296bea550ed8fafd730481f4aa71e89ece23ba9c957eed15d4a
++F src/alter.c 916ec1f34adc34b596a4afcf2c2403f145a7b836dc81b713a24bc206142159f4
 +F src/analyze.c 8b522a57784406d75f544e6d67f3fe7a7196702d3d954b7678bb4b4fe789e5a4
- F src/attach.c 2fb83ab273c2f8df9511c8b12f0c70f99712d8bbda87a40bbfcd810af7594a14
- F src/auth.c a3d5bfdba83d25abed1013a8c7a5f204e2e29b0c25242a56bc02bb0c07bf1e06
++F src/attach.c de9c50292a436937512b9fdc79d521e1d803469891a9d430476649b7feeadcbd
+ F src/auth.c 08954fdc4cc2da5264ba5b75cfd90b67a6fc7d1710a02ccf917c38eadec77853
  F src/backup.c 3014889fa06e20e6adfa0d07b60097eec1f6e5b06671625f476a714d2356513d
  F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33
  F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
- F src/btree.c 0f9cb686871ae668817673f0823b55d1bcadbc86ea28bd22c590b064a8322d5a
+ F src/btree.c 694020ad8a3af3d79b09f74c8f1421272a419cdea42a13401e3b0f7dea6e9c3e
  F src/btree.h 285f8377aa1353185a32bf455faafa9ff9a0d40d074d60509534d14990c7829e
  F src/btreeInt.h 7614cae30f95b6aed0c7cac7718276a55cfe2c77058cbfd8bef5b75329757331
- F src/build.c 33e7b9f5d7c574148d54fe62fd997341adc3d411a3fae42e5aaa3528214ef238
 -F src/build.c 1bae5588bfdf21bdf41e634f0a053d633fb1ae3a2896117b4eea76412b76c2e0
 -F src/callback.c d0b853dd413255d2e337b34545e54d888ea02f20da5ad0e63585b389624c4a6c
++F src/build.c e3b7c76a75cbd5e47355dfa8f03273c88b7dc572b4f05890c18956a17a4d8d75
 +F src/callback.c d8cdf5d697a31cf54a2b64bce9001fe24f3522a566f44c9fe1eb3a0c7e291c56
  F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
- F src/ctime.c fbb38984bd42a7119829603ebc1323ed3623c1bf0b521e9b77508c1e52d476d8
 -F src/ctime.c 2a322b9a3d75771fb4d99e0702851f4f68dda982507a0f798eefb0712969a410
++F src/ctime.c 3552554374bfb39a48f8b0064e11cbcd7f2f5af46bc8136f31f7f79ef3851be5
  F src/date.c dace306a10d9b02ee553d454c8e1cf8d3c9b932e137738a6b15b90253a9bfc10
  F src/dbpage.c 8a01e865bf8bc6d7b1844b4314443a6436c07c3efe1d488ed89e81719047833a
  F src/dbstat.c 3aa79fc3aed7ce906e4ea6c10e85d657299e304f6049861fe300053ac57de36c
- F src/delete.c 927cf8f900583e79aca8f1a321979e0a8f053babd9a690b44b38f79de2cc09fe
- F src/expr.c 0d196ed5a2ebf96be7e8df88add4fabfad0dce16c0fed81a4b8f6a26e259797f
+ F src/delete.c 352ea931218c45a3daf17472d4141b9c7fc026d85da3f1ade404ea5bb6d67f77
+ F src/expr.c 47c85263e6d179424e6b09e2c79db5704ab5b8cbc2fae2ee3285faa2566f2e74
  F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
- F src/fkey.c 6cf1e15c986e5a393399ce337e4c085bf872117b8b095b04c79ae39d1f6a069a
- F src/func.c 2163afb2cfabb71768f9254b95dbab3b7d4cd94394f6cffb86704e0b7e6ccabe
 -F src/fkey.c 73adaca988d0dd517d373b432dc9dfa2cd7fa3108b114260132a80832de19037
++F src/fkey.c 5e41765582f7fd265245fc743670d37d1a34fb0150fc963793a2db1f1bee6a4b
+ F src/func.c 2ea99e9e0531b7f020d5e8e167d25344d618afc718ddc94dd91fa8fef1c85a91
  F src/global.c ed55af196a9b66e198aaeda3f5454c3aa7d7d050c6c938181fd044b70d180a81
  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 7300982986b0aae32382ce57438998b92efa64e9a7169378e83c1c5d0e2ecdb3
+ F src/insert.c 3d17e465c4cdb7e02e4b2a9d0a6cee08d23c478a01bd7eb5c5d4024fc70c5e5c
  F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
  F src/loadext.c 8c9c8cd2bd8eecdb06d9b6e89de7e9e65bae45cc8fc33609cc74023a5c296067
- F src/main.c 72b8badf580e56e4d9043075b1fe481bd260441491527c9d2b53de22e2bdf9ee
 -F src/main.c 1c5de7b3fabcdf05f4fe563aab5d81d175b89c67a8678a12ba86629356afa356
++F src/main.c 14210385b0d75ea5fd974449a085462a7431263a17fc36974ec17a3d4ff83ebd
  F src/malloc.c c1af4ac5a463648cd2953fd4ac679b3ba9022ce5ec794a60806150ad69dfd33a
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de
@@@ -534,23 -534,23 +535,23 @@@ F src/parse.y 67ba503780de64b967ae195b7
  F src/pcache.c 385ff064bca69789d199a98e2169445dc16e4291fa807babd61d4890c3b34177
  F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586
  F src/pcache1.c 6596e10baf3d8f84cc1585d226cf1ab26564a5f5caf85a15757a281ff977d51a
 -F src/pragma.c 6daaaecc26a4b09481d21722525b079ce756751a43a79cc1d8f122d686806193
 -F src/pragma.h 8dc78ab7e9ec6ce3ded8332810a2066f1ef6267e2e03cd7356ee00276125c6cf
 -F src/prepare.c f288cbc35f79eb32e162de7e80a63ebe00d80e639dcfac071bee11570cbdb16f
 +F src/pragma.c f134be99f539e2d8c934169750059fb32a9f0de5d109110d083c2ceb7d4c3a30
 +F src/pragma.h ce2b135cde481eeb198af0dfc4781d58528ce80b17580a2b747b8fd4bc969e44
- F src/prepare.c e33874b74b80cb2874dd3834362dbebec88f5c1ac940ebc256c3fbc7e5293979
++F src/prepare.c b94c07cdcac57ba933d0def66f5848e588213be805edd2cd55a322d9eb488d75
  F src/printf.c 30e92b638fac71dcd85cdea1d12ecfae354c9adee2c71e8e1ae4727cde7c91ed
  F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
- F src/resolve.c 1948a92ca9eab776632816b97e57c61d933474a78aad4f4ef835c916a83dbb1c
+ F src/resolve.c 89e4faf6171e179edf279905e8e45c4f9dd108777dc60716396729fbd7cb045e
  F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
- F src/select.c c9b68506e5d8cc8d0e4b307b97a9800b050ac37dada80ae9c66f680f8fac3e09
- F src/shell.c.in e18bd7ab9f43919f26a5dafc3d22f9286913216163ea7911438d7c2cade91f59
- F src/sqlite.h.in cdee22392f1d6ca1437a8d112079252ead4e9fd85f8a3077c19a2b0a0338cce2
+ F src/select.c 738cb746189f721f59972993c13085fa2975c4cbfd04ba26445f3b42c81237dc
 -F src/shell.c.in 9ebc74e4f05cfbd0f4a36060fdaeff1da4e9af4458358722bc08c5a1ab9a0879
 -F src/sqlite.h.in 8855a19f37ade8dad189a9e48233a2ebe1b46faf469c7eb0906a654e252dcc57
++F src/shell.c.in 05f0188127f8b53bd39c8316fe93fc904ce4008974239ee7560e347ee6fc522d
++F src/sqlite.h.in c332fd33f0c45224760824d1ea2091e2bc52eb855d7339a94c165804b8534d7d
  F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
  F src/sqlite3ext.h 61b38c073d5e1e96a3d45271b257aef27d0d13da2bea5347692ae579475cd95e
- F src/sqliteInt.h a697022ddc03711530fd1f29b187f3148c1d268c2665ba1838f1ad90d483d5cf
 -F src/sqliteInt.h fc56cfde306778a431c133803676fdd1c962ee3e75b5f2483c20fa069cb056e4
++F src/sqliteInt.h 2ecdd62dc8ce3479021ba1cce92ba263651a917430beea42e880a4232bd65fc7
  F src/sqliteLimit.h d7323ffea5208c6af2734574bae933ca8ed2ab728083caa117c9738581a31657
 -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 2197966d2f7211ef9eefaa6c3c7dd2c7d786d1f33f2aadef2f08c8c79eceec26
  F src/test2.c 3efb99ab7f1fc8d154933e02ae1378bac9637da5
  F src/test3.c 61798bb0d38b915067a8c8e03f5a534b431181f802659a6616f9b4ff7d872644
@@@ -606,25 -605,25 +607,25 @@@ 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 369a8ef43e4e3ef2818ad6cf6ef7b167973fc297ca93af4dfab4453db214ec3e
 -F src/tokenize.c c64c49d7c2ec4490c2fef1f24350167ba16b03b0c6cee58ad1a1d70a4325d4e9
++F src/tokenize.c 382c5be7316c2a34279653ccf454adeb9c83b9b94c73fb309d5deb62d34cc58a
  F src/treeview.c 4b92992176fb2caefbe06ba5bd06e0e0ebcde3d5564758da672631f17aa51cda
- F src/trigger.c e9eb8ceb72f852057951b1bfb94be677573682f49c77aab13e3e5a3dd36f3f91
- F src/update.c 9f126204a6acb96bbe47391ae48e0fc579105d8e76a6d9c4fab3271367476580
 -F src/trigger.c 983c7c8464c46840dac1ffe0461a6c447ac12c965746975c108eb5f4283e8801
++F src/trigger.c f0dcab655df496f31120573884447e364a20196efa220faf21f4d0842977842c
+ F src/update.c 0f5a61f0787199983530a33f6fffe4f52742f35fcdf6ccfad1078b1a8bc17723
  F src/upsert.c df8f1727d62b5987c4fd302cd4d7c0c84ae57cd65683c5a34a740dfe24039235
  F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
- F src/util.c c0c7977de7ef9b8cb10f6c85f2d0557889a658f817b0455909a49179ba4c8002
+ F src/util.c 41c7a72da1df47864faa378a1c720b38adb288c6838cb6be5594511b6287a048
 -F src/vacuum.c 492422c1463c076473bae1858799c7a0a5fe87a133d1223239447c422cd26286
 -F src/vdbe.c b3c9a3f9d546d4848a2a8c88a3c40875cd6ba3d248d9b99d01b1eeb38b29c171
 -F src/vdbe.h 83603854bfa5851af601fc0947671eb260f4363e62e960e8a994fb9bbcd2aaa1
 +F src/vacuum.c 724188c5afbba905b310e8d8e78530956d16e6d60a3ba8a1105d05732d7d8601
- F src/vdbe.c f7079a162c0b33847c8353b4eda24e01998fb566e581d1a9987b7005923d96da
++F src/vdbe.c 6396a90a51ddd37156e58f55b8da1dd5a71648c7cba2306f295f012d4c2985cb
 +F src/vdbe.h 9e947bd4a40e3b65159b699571c8246c209f6bda6e13979a1ab623faa2f0d23f
- F src/vdbeInt.h 3ca5e9fd6e095a8b6cf6bc3587a46fc93499503b2fe48951e1034ba9e2ce2f6e
- F src/vdbeapi.c c5e7cb2ab89a24d7f723e87b508f21bfb1359a04db5277d8a99fd1e015c12eb9
- F src/vdbeaux.c 533d41dab3537c81727142af61a409797f5922d474504ec6123e4819e7d1e538
+ F src/vdbeInt.h 3df118924e1711f1bbc8e30c46260d0ab6c3b029b32dd411f789111f76434f3c
+ F src/vdbeapi.c 4a43e303ec3354c785f453e881521969378e85628278ab74ba4a9df790c0d93b
 -F src/vdbeaux.c c8e96fb57ee6f7150845325ffb8d7fd4e340ff4f73aa527a6f26a485db8b9955
 -F src/vdbeblob.c 253ed82894924c362a7fa3079551d3554cd1cdace39aa833da77d3bc67e7c1b1
++F src/vdbeaux.c f90ee925ede10dfdc05aae91fd0ff30ee0418a30f559d4be1ce337440f239f14
 +F src/vdbeblob.c 40028e015fe557a945c99edb6cbf844ea96d853c3e8ac4eb5c1e49bff59f154e
  F src/vdbemem.c 947f2a65910edb4014dc981d33e414a68c51f169f9df8c4c493a0ba840b6eb1f
  F src/vdbesort.c f5b5e473a7cee44e47a94817b042fd7172cf3aa2c0a7928a8339d612bcfdec5a
  F src/vdbetrace.c 666c6fd9f1b62be6999e072a45b913e3c2c3518bc60dfd4d54fe304130acb724
  F src/vdbevtab.c f99b275366c5fc5e2d99f734729880994ab9500bdafde7fae3b02d562b9d323c
- F src/vtab.c 54b6ab9f5ab772f56e9f3a95543207943e775ec699b7cbbfd3a99c264cad377f
 -F src/vtab.c 81e1a336ba47eccc5cadb80de15f03afabd83c55ff9648e3a98d8988d4c264aa
++F src/vtab.c f348e8f4487ad2227f7a53b2ca001746afb89a9f55f950b84bfe20a00e1e4b57
  F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
  F src/wal.c 69e770e96fd56cc21608992bf2c6f1f3dc5cf2572d0495c6a643b06c3a679f14
  F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a
@@@ -1285,13 -1286,7 +1288,14 @@@ F test/releasetest.tcl fb76d8fcc95ac29d
  F test/releasetest_data.tcl b9cb30360759b80d92d4ea86b84ebfd8035b97f9078a482deb3cf9d0b2442655
  F test/resetdb.test 8062cf10a09d8c048f8de7711e94571c38b38168db0e5877ba7561789e5eeb2b
  F test/resolver01.test f4022acafda7f4d40eca94dbf16bc5fc4ac30ceb
+ F test/returning1.test 684e1c73d961422a7376c932fcdd6dacf02bad21d12f749cfe8c19991ef379f6
 +F test/reuse1.test faa2ce5ff566d936b8a10d9e22ba2ee66a54ce89fdcf8aef561df6b15b0ff3d3
 +F test/reuse2.test 5dd9c98579358f0d5a90d25e36dd6e678a03e23446b6c7f2630a8da22ae7ca94
 +F test/reuse3.test 876d15c42d61b1f6ab718cd8169912514ad314d7fe1cd9788080aa62168ba0d1
 +F test/reuse4.test adaad66253aea6cc748674328abe69b650c5c78b8676ed1162d3de09742519f9
 +F test/reuse5.test bbe6cf7384ef90f134392edd93d626385ef0bf6f40eefc3d993535cd0861d83b
 +F test/reuse6.test f4674f9967aee2a0b49c02832120b8b495291c0d87aae084c54e6c0cc18132fe
 +F test/reusefault.test ef646a0fb51d50ddfb4b7cd872f88e7d36eaba64bde7797b3418c3774e1c8d14
  F test/rollback.test 06680159bc6746d0f26276e339e3ae2f951c64812468308838e0a3362d911eaa
  F test/rollback2.test bc868d57899dc6972e2b4483faae0e03365a0556941474eec487ae21d8d38bb6
  F test/rollbackfault.test 0e646aeab8840c399cfbfa43daab46fd609cf04a
@@@ -1901,7 -1899,8 +1909,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 846e8444f761a4f3e3e0fb89e87b329799a6e8dd32ac7580dc20eb6ff9ed0d36 2a6cd6833e44dd6a2ac388815f43be6508f6fa6db5e451e964276a6c87e6c5ae
- R 04e4b24540263b7819b2517f7180918b
 -P bd1e9e0a4c0e07901ef59fe3b7e6f7b9cc66ccfcd5192f576e1620820891de99 fb36ac4dc60ccc6c5fba3f23e13fcab985f27ebef0527c929806cda5f9d3660c
 -R f4fc3fdf82de1da25700d7b06c4d78f5
 -T +closed fb36ac4dc60ccc6c5fba3f23e13fcab985f27ebef0527c929806cda5f9d3660c
++P 9f41f604055553f0c62d4c0d5a00c6a43d1a938f36901238c52c065702b9c536 66c07a07b21e46529780eec3c82a84c494d586f8b7ed80b78d358e23b80458c7
++R 4d316b89af8d740abb8f0a043fc6d895
  U dan
- Z e0c0174ae97094c5a1097ed7b89818f2
 -Z e97f611a0a7197a91080c2d49e7edf82
++Z abac2550f706de6d85186e619c872031
diff --cc manifest.uuid
index d61ef231389c99a148f0bfb5d14f833d3cf4e202,8ca0b467748fc705b64d00769cf42ba6eb81e9a5..dd1d759129c07b322a201d81ac196048c066ec55
@@@ -1,1 -1,1 +1,1 @@@
- 9f41f604055553f0c62d4c0d5a00c6a43d1a938f36901238c52c065702b9c536
 -66c07a07b21e46529780eec3c82a84c494d586f8b7ed80b78d358e23b80458c7
++d29c41bd2670ccd205ca6190aa071c0ac7e9748bd9425fbfec0aa7acc8ae0aeb
diff --cc src/alter.c
Simple merge
diff --cc src/attach.c
Simple merge
diff --cc src/build.c
Simple merge
diff --cc src/ctime.c
Simple merge
diff --cc src/fkey.c
Simple merge
diff --cc src/main.c
Simple merge
diff --cc src/prepare.c
Simple merge
diff --cc src/shell.c.in
Simple merge
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/sqliteInt.h
index 4a263119ab63dac3b5546c2b64ca36eba831b90e,093ce762106977b42142d7ce9fb84dd64954b76e..b1019e4f46a309e83696803485ba6f4764620532
@@@ -1136,8 -1137,8 +1137,9 @@@ typedef struct Bitvec Bitvec
  typedef struct CollSeq CollSeq;
  typedef struct Column Column;
  typedef struct Db Db;
+ typedef struct DbFixer DbFixer;
  typedef struct Schema Schema;
 +typedef struct SchemaPool SchemaPool;
  typedef struct Expr Expr;
  typedef struct ExprList ExprList;
  typedef struct FKey FKey;
@@@ -3424,8 -3425,12 +3445,11 @@@ 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 */
+   union {
+     int addrCrTab;         /* Address of OP_CreateBtree on CREATE TABLE */
+     Returning *pReturning; /* The RETURNING clause */
+   } u1;
    u32 nQueryLoop;      /* Est number of iterations of a query (10*log2(N)) */
    u32 oldmask;         /* Mask of old.* columns referenced */
    u32 newmask;         /* Mask of new.* columns referenced */
diff --cc src/tokenize.c
index 19bd617d4840dda41d3fa575e8716fda7374b1fb,712447c4ca67923afda02bf53eb52674617d1132..35b541f1065792f9881af50d1461926454d3abc9
@@@ -713,20 -713,9 +713,8 @@@ int sqlite3RunParser(Parse *pParse, con
    if( !IN_RENAME_OBJECT ){
      sqlite3DeleteTrigger(db, pParse->pNewTrigger);
    }
-   if( pParse->pWithToFree ) sqlite3WithDelete(db, pParse->pWithToFree);
    sqlite3DbFree(db, pParse->pVList);
-   while( pParse->pAinc ){
-     AutoincInfo *p = pParse->pAinc;
-     pParse->pAinc = p->pNext;
-     sqlite3DbFreeNN(db, p);
-   }
-   while( pParse->pZombieTab ){
-     Table *p = pParse->pZombieTab;
-     pParse->pZombieTab = p->pNextZombie;
-     sqlite3DeleteTable(db, p);
-   }
 -  db->pParse = pParse->pParentParse;
 -  pParse->pParentParse = 0;
 +  db->pParse = pParentParse;
    assert( nErr==0 || pParse->rc!=SQLITE_OK );
    return nErr;
  }
diff --cc src/trigger.c
index 5e8ab725140f82d4a64df8619c1974a0a656ef19,1d4c2790c35d641d10c3d9dce41cbd2075344985..f44c22b682f25876767d053bdd1e3402120d2f73
@@@ -54,37 -55,32 +55,47 @@@ Trigger *sqlite3TriggerList(Parse *pPar
    if( pParse->disableTriggers ){
      return 0;
    }
+   pTmpSchema = pParse->db->aDb[1].pSchema;
+   p = sqliteHashFirst(&pTmpSchema->trigHash);
+   if( p==0 ){
+     return pTab->pTrigger;
+   }
+   pList = pTab->pTrigger;
    if( pTmpSchema!=pTab->pSchema ){
-     HashElem *p;
 +    sqlite3 *db = pParse->db;
-     for(p=sqliteHashFirst(&pTmpSchema->trigHash); p; p=sqliteHashNext(p)){
 +#ifdef SQLITE_ENABLE_SHARED_SCHEMA
 +    char *zSchema = 0;
 +    if( IsSharedSchema(db) ){
 +      zSchema = db->aDb[sqlite3SchemaToIndex(db, pTab->pSchema)].zDbSName;
 +    }
 +#endif
 +    assert( sqlite3SchemaMutexHeld(db, 0, pTmpSchema) );
+     while( p ){
        Trigger *pTrig = (Trigger *)sqliteHashData(p);
 +#ifdef SQLITE_ENABLE_SHARED_SCHEMA
-       if( (zSchema==0 && pTrig->pTabSchema==pTab->pSchema)
-        || (zSchema!=0 && 0==sqlite3StrICmp(pTrig->zTabSchema, zSchema)) )
++      if( ( (zSchema==0 && pTrig->pTabSchema==pTab->pSchema)
++         || (zSchema!=0 && 0==sqlite3StrICmp(pTrig->zTabSchema, zSchema)) 
++          ) && 0==sqlite3StrICmp(pTrig->table, pTab->zName)
++      ){
 +#else 
-       if( pTrig->pTabSchema==pTab->pSchema )
+       if( pTrig->pTabSchema==pTab->pSchema
+        && 0==sqlite3StrICmp(pTrig->table, pTab->zName)
+       ){
 +#endif
-       {
-         if( 0==sqlite3StrICmp(pTrig->table, pTab->zName) ){
-           pTrig->pTabSchema = pTab->pSchema;
-           pTrig->pNext = (pList ? pList : pTab->pTrigger);
-           pList = pTrig;
-         }
-       }
+         pTrig->pNext = pList;
+         pList = pTrig;
+       }else if( pTrig->op==TK_RETURNING ){
+         assert( pParse->bReturning );
+         assert( &(pParse->u1.pReturning->retTrig) == pTrig );
+         pTrig->table = pTab->zName;
+         pTrig->pTabSchema = pTab->pSchema;
+         pTrig->pNext = pList;
+         pList = pTrig;
+       }        
+       p = sqliteHashNext(p);    
      }
    }
-   return (pList ? pList : pTab->pTrigger);
+   return pList;  
  }
  
  /*
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbeaux.c
Simple merge
diff --cc src/vtab.c
Simple merge