]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge the latest trunk enhancements into the reuse-schema branch. reuse-schema
authordrh <>
Mon, 22 Jun 2026 14:45:57 +0000 (14:45 +0000)
committerdrh <>
Mon, 22 Jun 2026 14:45:57 +0000 (14:45 +0000)
FossilOrigin-Name: 2296020d75a0a598b515bc16e96f9d59b78d2504edfee651607b2a3cc63a8e6b

20 files changed:
1  2 
Makefile.msc
main.mk
manifest
manifest.uuid
src/alter.c
src/analyze.c
src/build.c
src/main.c
src/os_win.c
src/pager.c
src/prepare.c
src/shell.c.in
src/sqlite.h.in
src/sqliteInt.h
src/trigger.c
src/vdbe.c
src/vdbeaux.c
src/where.c
test/shell1.test
test/testrunner.tcl

diff --cc Makefile.msc
Simple merge
diff --cc main.mk
Simple merge
diff --cc manifest
index 0657e7ca6d8d22ab484027d02dcd8cd28d6e01e3,6b6af0e084d7365c86350394bdd7f2db0f682aef..a55862fb5cd98de0bd0f8e454e15016b72f4b0f5
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Merge\sall\sthe\slatest\strunk\senhancements\sand\sfixes\sinto\sthe\sreuse-schema\sbranch.
- D 2026-05-23T11:26:44.879
 -C Add\sthe\sBTREE_HINT_TABLECURSOR\scursor-hint.\sThis\sis\snot\scurrently\sused\sby\sstock\sSQLite.
 -D 2026-06-22T11:02:28.169
++C Merge\sthe\slatest\strunk\senhancements\sinto\sthe\sreuse-schema\sbranch.
++D 2026-06-22T14:45:57.531
  F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@@ -7,7 -7,7 +7,7 @@@ F AGENTS.md 44ddfb38ef23e277888bd70ae37
  F LICENSE.md 6bc480fc673fb4acbc4094e77edb326267dd460162d7723c7f30bee2d3d9e97d
  F Makefile.in 5fda086f33b144da08119255da1d2557f983d0764a13707f05acf0159fd89ba5
  F Makefile.linux-generic bd3e3cacd369821a6241d4ea1967395c962dfe3057e38cb0a435cee0e8b789d0
- F Makefile.msc be7092c21713cdbfc6f03d8812e421cb00a9e9d82fa96867e956d6482a23e4ae
 -F Makefile.msc ae6c8f8c39ed9cec7e3fc27390209117a943acd81941b5e81e8cd828b1875d93
++F Makefile.msc a6fada039116aa41f101e2242330429c4b5b4d9a128d31215dbbd8001c8da506
  F README.md f00091ffb5c6379b783afb57ca5f443a5742e119082f37c407f64a5e16c56346
  F VERSION 99cf3be5f13d091183e4314b7fc2e0c0e69accfbe64608b45a313338bbdd7b62
  F art/icon-243x273.gif 9750b734f82fdb3dc43127753d5e6fbf3b62c9f4e136c2fbf573b2f57ea87af5
@@@ -48,12 -48,12 +48,12 @@@ F autosetup/find_tclconfig.tcl e64886ff
  F autosetup/jimsh0.c 740dc8cbfaedaff1f27b54b32e0015b22fa6c1a439492b9795968d61e56bab75
  F autosetup/pkg-config.tcl 4e635bf39022ff65e0d5434339dd41503ea48fc53822c9c5bde88b02d3d952ba
  F autosetup/proj.tcl 67683f214977a416baafc4c1020f9940ff047a7306b2292c5872d6287460b7d5
- F autosetup/sqlite-config.tcl 2205b8bcc193a5d46584ebc1cf44c7a93a977d155e20dc38b18dcce720e58074
+ F autosetup/sqlite-config.tcl a503f8b418547c2872348dbcb71abb09726f3970088625ec90d8000035b06b32
  F autosetup/system.tcl 51d4be76cd9a9074704b584e5c9cbba616202c8468cf9ba8a4f8294a7ab1dba9
  F autosetup/teaish/README.txt b40071e6f8506500a2f7f71d5fc69e0bf87b9d7678dd9da1e5b4d0acbf40b1ca
 -F autosetup/teaish/core.tcl e014dd95900c7f9a34e8e0f460f47e94841059827bce8b4c49668b0c7ae3f1a0
 +F autosetup/teaish/core.tcl 1ebbe849d8e716424a3ffe9384c7e8b352b3e1194d3d4a153b125cc5176b3715
  F autosetup/teaish/feature.tcl 18194fb79a24d30e5bbdeab40999616f39278b53a27525349ded033af2fd73be
 -F autosetup/teaish/tester.tcl 1799514c2652db49561b3386c5242b94534d1663f2cfac861a955e071895fdd0
 +F autosetup/teaish/tester.tcl 091745984473faea6985254b9986c6dfd0cce06f68bc515ba4afc1e6b3742fa8
  F configure 9a00b21dfd13757bbfb8d89b30660a89ec1f8f3a79402b8f9f9b6fc475c3303a x
  F contrib/sqlitecon.tcl eb4c6578e08dd353263958da0dc620f8400b869a50d06e271ab0be85a51a08d3
  F doc/F2FS.txt c1d4a0ae9711cfe0e1d8b019d154f1c29e0d3abfe820787ba1e9ed7691160fcd
@@@ -372,14 -370,15 +371,15 @@@ F ext/misc/btreeinfo.c 5fe97f798a9ee90e
  F ext/misc/cksumvfs.c 9d7d0cf1a8893ac5d48922bfe9f3f217b4a61a6265f559263a02bb2001259913
  F ext/misc/closure.c c983987a8d7846c3e52b1885ed3e20af7d4ca52a81a8f94ec6d1cd68f93acc86
  F ext/misc/completion.c 3f5db28e88c3313103b2dd86d910a2944fd500c46754e473493968ce81e994a4
- F ext/misc/compress.c 8191118b9b73e7796c961790db62d35d9b0fb724b045e005a5713dc9e0795565
- F ext/misc/csv.c 5e9d4dd749e762c144104c0f01db5bf4458735b19081ebe481a64e589a66687a
+ F ext/misc/compress.c 5cc142aa82d1589a31c384657d0418c0eb0871348a2201e5dca32d24a0dd6654
+ F ext/misc/csv.c 5ca451b9ce77322c4ce8476766e7ed18160e5c8b19e7cab76e13006d631b9e8f
  F ext/misc/dbdump.c 678f1b9ae2317b4473f65d03132a2482c3f4b08920799ed80feedd2941a06680
- F ext/misc/decimal.c 432e5b03a0e2a68a1846a9852a565a1b546ca9b295deda834e4653f0f5577daa
+ F ext/misc/decimal.c 75f206e86072bd772041e6731d153517094e298a4b8c763a9f68d73d21b52651
 -F ext/misc/diskused.c 8acb4f27488fd8b9bdb0a3d300a7bd761b797b6e7858ac8038398263cededc48
++F ext/misc/diskused.c 8acb4f27488fd8b9bdb0a3d300a7bd761b797b6e7858ac8038398263cededc48 w ext/misc/analyze.c
  F ext/misc/eval.c 04bc9aada78c888394204b4ed996ab834b99726fb59603b0ee3ed6e049755dc1
  F ext/misc/explain.c 9670c8ff7b255eea7845abc5123a4958e74016c16990b10497e56380f91704b9
- F ext/misc/fileio.c 936c0a7b3382a047d833ad33f62ba59a3847b79ea745bf529797cd344966fbb0
- F ext/misc/fossildelta.c 6aa3f15279cd2d796583e3ff654be7d2df745fdbea7987c1640e78ce1fac899e
+ F ext/misc/fileio.c a8caf3ffb59af6e9870d1a1c739981727ba165cd667bda085fa21ccfc8694059
+ F ext/misc/fossildelta.c 37b67b2710a0dd2da7b3aeea19388a069471eb0fc04702a0521237770d0d04f1
  F ext/misc/fuzzer.c decaca5a3479dfba69576cd41d4e17161eaf154a5438e12d316bbc5853571802
  F ext/misc/ieee754.c 2901d08a586d00a1d3c0fd89e03c57ee9e2b5f013b0daab9e49c7a48a9d5946b
  F ext/misc/memstat.c 03ab52d2d841eb3f55118105c1964d5225f152b23bd708844c648b48d14ccbcf
@@@ -576,10 -574,9 +575,10 @@@ F ext/session/sessionrowid.test 85187c2
  F ext/session/sessionsize.test 8fcf4685993c3dbaa46a24183940ab9f5aa9ed0d23e5fb63bfffbdb56134b795
  F ext/session/sessionstat1.test 5e718d5888c0c49bbb33a7a4f816366db85f59f6a4f97544a806421b85dc2dec
  F ext/session/sessionwor.test 6fd9a2256442cebde5b2284936ae9e0d54bde692d0f5fd009ecef8511f4cf3fc
- F ext/session/sqlite3session.c 9d1cce13a48d821a31b36d99123ab25da87c3ae8b3bb96a926dfcc233a35ba9c
+ F ext/session/sqlite3session.c ce9f2ce2cc6b17f46854788e47016ba9be1b59ca4037728b6c025397b98edb12
  F ext/session/sqlite3session.h ca7c4422c1514a95056cc8d333217df6b1829d39058126b1de85d10cd62d7a9c
- F ext/session/test_session.c 05c1f90c04de5474158bf8f7712a6f7a1d47477ce0402bbe0e55fc4a9ef1f49b
+ F ext/session/test_session.c d3275da24b8d362e3c2b393c00d5248f75f1cd474dadf29d8c4683f75cb52e6d
 +F ext/wasm/EXPORTED_FUNCTIONS.fiddle 7fb73f7150ab79d83bb45a67d257553c905c78cd3d693101699243f36c5ae6c3
  F ext/wasm/GNUmakefile 65feef4ec48e62249f90278c4c08a3fe3c69e2461ff560b61c03cd73606e0949
  F ext/wasm/README-dist.txt f01081a850ce38a56706af6b481e3a7878e24e42b314cfcd4b129f0f8427066a
  F ext/wasm/README.md 2e87804e12c98f1d194b7a06162a88441d33bb443efcfe00dc6565a780d2f259
@@@ -603,15 -599,15 +602,15 @@@ F ext/wasm/api/sqlite3-api-oo1.c-pp.js 
  F ext/wasm/api/sqlite3-api-prologue.js 0084e15d66fbcd75cacbaa58e3b473d5e57082c30f3122be7fdadff5589cf6b6
  F ext/wasm/api/sqlite3-api-worker1.c-pp.js 1fa34e9b0e3b90a8898e4f700d7125e44c81877f182627bb8564b97989bc6e78
  F ext/wasm/api/sqlite3-license-version-header.js 98d90255a12d02214db634e041c8e7f2f133d9361a8ebf000ba9c9af4c6761cc
 -F ext/wasm/api/sqlite3-opfs-async-proxy.c-pp.js 25e31482b04293a33d7599f1459eb552b3eb36ca10c02c816122d3308bf80cb2
 +F ext/wasm/api/sqlite3-opfs-async-proxy.c-pp.js 3f85af55609f1452b29c476e59893cbeed417c59560795f50911318e916083b1
  F ext/wasm/api/sqlite3-vfs-helper.c-pp.js 3f828cc66758acb40e9c5b4dcfd87fd478a14c8fb7f0630264e6c7fa0e57515d
- F ext/wasm/api/sqlite3-vfs-kvvfs.c-pp.js 27fb135ba3b805b66c90a7333b56080345bf1db79335c3e48b6d01ad7aa09607
+ F ext/wasm/api/sqlite3-vfs-kvvfs.c-pp.js 96f79583dc12f836eadf3c6430a0beaed859306b67e8fd7b0fada8d22cc2393f
  F ext/wasm/api/sqlite3-vfs-opfs-sahpool.c-pp.js 4325cb9a5ebfbff7cd3060e309b167116a2a1bcb9f8d69dd8e6d023dbdd783bb
  F ext/wasm/api/sqlite3-vfs-opfs-wl.c-pp.js 3dbd918ef037cd8fa9c7b4dccb3c8637b228638654c429e7df6acab5981c75e2
  F ext/wasm/api/sqlite3-vfs-opfs.c-pp.js 3da8fe72dc9e76614a9c102b92e777ce03f81d788b607701c828d8fcbac44b06
  F ext/wasm/api/sqlite3-vtab-helper.c-pp.js 366596d8ff73d4cefb938bbe95bc839d503c3fab6c8335ce4bf52f0d8a7dee81
- F ext/wasm/api/sqlite3-wasm.c ddf9d435b2e901eaceb805ff694e9609c2f32b5cf89a4f164e734a6fa303fdd2
+ F ext/wasm/api/sqlite3-wasm.c 0bcc42b1faff0e4543bba1b595fe9cfde80e0c29e3abc475bce725f2a326a8e5
 -F ext/wasm/api/sqlite3-worker1-promiser.c-pp.js 46919740f8176c10f691431a81c769c35657e3b537e2ed2bde691f9017b0ee8a
 +F ext/wasm/api/sqlite3-worker1-promiser.c-pp.js c5ac33e39f21a3481812d7333ca6e18853640d423a01960ca8dbc6e7c5c3c21c
  F ext/wasm/api/sqlite3-worker1.c-pp.js 21b20d3b8d43471d1647123616a7e5435b1e4b6fa447714f91ffc7f950ea01e8
  F ext/wasm/common/SqliteTestUtil.js dae753b95e72248c4395d8de8359e0d055cd9928488e8dd84aef89e46d23b32e
  F ext/wasm/common/emscripten.css 11bd104b6c0d597c67d40cc8ecc0a60dae2b965151e3b6a37fa5708bac3acd15
@@@ -663,7 -659,7 +662,7 @@@ F ext/wasm/tests/opfs/sahpool/index.htm
  F ext/wasm/tests/opfs/sahpool/sahpool-pausing.js f264925cfc82155de38cecb3d204c36e0f6991460fff0cb7c15079454679a4e2
  F ext/wasm/tests/opfs/sahpool/sahpool-worker.js bd25a43fc2ab2d1bafd8f2854ad3943ef673f7c3be03e95ecf1612ff6e8e2a61
  F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0
- F main.mk 1a78e8173c8be50085f7aa148b98544d0f40b55f368c6e6fff7f30870c6ab43a
 -F main.mk 77e33a16a795abd4a07a55f7eb2e11136326998db597b67c8655d5d2d9b98054
++F main.mk 43d8a3d692477381010c5dacc53aa9389dcc4187a2f4fc6e2d553c4f7138a0b9
  F make.bat a136fd0b1c93e89854a86d5f4edcf0386d211e5d5ec2434480f6eea436c7420c
  F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
  F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
@@@ -674,38 -670,38 +673,38 @@@ F mptest/multiwrite01.test dab5c5f8f953
  F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
  F sqlite3.1 1b9c24374a85dfc7eb8fa7c4266ee0db4f9609cceecfc5481cd8307e5af04366
  F sqlite3.pc.in e6dee284fba59ef500092fdc1843df3be8433323a3733c91da96690a50a5b398
- F src/alter.c 1aa2fa20836fc8a812cf4f32e8f00e7b29a3909bf42c1bf4c281c35c723dd659
- F src/analyze.c cad85c559c13633e249023f081202f2dd22355cf00d8f384bc22528810e8f593
 -F src/alter.c da59ac700b52ba5d0e4dd099fb1818975cf8a79a546594da586b4e1eba3ae405
 -F src/analyze.c 73162482c656187823217f4c00758c9ee13a420c8745bc542129e0279b792287
 -F src/attach.c c58278c7d2d954785591c4fde81669ec3e4d52f348c453b028a19ae8adf4f338
++F src/alter.c 4f2a43a8bb681d9beb336e635bf3ffcaf7dd6402f7c550d3f62fe3d68660f3dc
++F src/analyze.c a55ed05f0333f9743f902aa4c9cedf68fffde1f3d782b22a90018777d02fa5ae
 +F src/attach.c a2a684e97207259d94d2850e31879de0952c265fe98b5bc6fab72adbba1cf846
  F src/auth.c b5ece4e1edccad082c0332fa0087df225473bae0feea9269f824312201377185
  F src/backup.c 6ebe22ccbedfcb92423833992130e8d65824be4e6599c3a03f540ab38fc7d13c
  F src/bitvec.c e242d4496774dfc88fa278177dd23b607dce369ccafb3f61b41638eea2c9b399
  F src/btmutex.c 30dada73a819a1ef5b7583786370dce1842e12e1ad941e4d05ac29695528daea
- F src/btree.c 8aa7c903ef0181ff92c8365545ae75a1d648f57151b60c03c11b0a51da979edb
- F src/btree.h e823c46d87f63d904d735a24b76146d19f51f04445ea561f71cc3382fd1307f0
- F src/btreeInt.h 9c0f9ea5c9b5f4dcaea18111d43efe95f2ac276cd86d770dce10fd99ccc93886
- F src/build.c 0a7a5f508236fe805f023ca699e1d368a9e2ce3d613ae5e044fbcd524c94c309
+ F src/btree.c 515cf62220ceb483ba9a31ebb3d7565ea9d63ffc3d61bb974b2815fef393df0e
+ F src/btree.h d19e634e0fafd63d13b198df3a6306317a88a0d3daef7af8686e24a014933837
+ F src/btreeInt.h 4f512ad31083216b6789762d4c345b73367985d3b39421c9ba7c0902d09fb38b
 -F src/build.c 09946336c3011c2ae2faccdf04e33336e1cd51fd836651be0cd7eb5814f7f6a0
 -F src/callback.c 3605bbf02bd7ed46c79cd48346db4a32fc51d67624400539c0532f4eead804ad
++F src/build.c 7f96d2c0366e12370236a758770652e09b19c7e5449f99b08d6d11014c835122
 +F src/callback.c 9942c75ac062c57e69072fe350fcba9e28699c36ed8cf63cf850ca2378293269
  F src/carray.c 3efe3982d5fb323334c29328a4e189ccaef6b95612a6084ad5fa124fd5db1179
  F src/complete.c f216b970ce99c5a657556cf1f17e7ddd494515d3beb63df426bf59ff43bd3d9a
- F src/date.c 61e92f1f7e2e88e1cd91e91dc69eb2b2854e7877254470f9fabd776bfac922b8
+ F src/date.c 86d9530729eeb5b3d833e7403de495f4d4b79f3d5f7e74bcc8abda237f5aeafb
  F src/dbpage.c c6a9de13b0a01f0bc94a41e16213ab1ecd15ccfe86df7255ced40fda9446257d
  F src/dbstat.c 73362c0df0f40ad5523a6f5501224959d0976757b511299bf892313e79d14f5c
  F src/delete.c 59eeca3fb88c29329afc41bb803ee568b120d9dd7470b5f38ab55cc38390b451
- F src/expr.c d2188a699ded4522f15cf23d4c82da0ad73dcda09cd943982906824ef019947f
+ F src/expr.c e97dd9f6ada4c448764e225d8963091bf630b3efb2c92e4d0762571cca2a14e5
  F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
  F src/fkey.c 931f74cec1dc8038a0217ef340c91ce147dd1bbed08dc40c47ee0ec6edfffb08
- F src/func.c e8525e6c5493149680b0ebd3352e7f004ee7283181f24809b603329afe911443
- F src/global.c a19e4b1ca1335f560e9560e590fc13081e21f670643367f99cb9e8f9dc7d615b
+ F src/func.c 7e049176003271095ba560bca90995c8cb7c1e944aee539513daba015b172a18
+ F src/global.c 7eea537ac0c113ac55cb2dd4d8fc2a6a91ae478be34231b4efaffc46817fee85
  F src/hash.c 03c8c0f4be9e8bcb6de65aa26d34a61d48a9430747084a69f9469fbb00ea52ca
  F src/hash.h 46b92795a95bfefb210f52f0c316e9d7cdbcdd7e7fcfb0d8be796d3a5767cddf
- F src/hwtime.h 21c2cf1f736e7b97502c3674d0c386db3f06870d6f10d0cf8174e2a4b8cb726e
+ F src/hwtime.h 5cb15147c8583d0fc4748e1c12ea6f38c9deaeefa147a4d8d379fd9bc81fee9a
  F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
- F src/insert.c 8dbc22f6ddcc5f0af3abf11daeb89b1978f00059cda15ebc61251fa7724fc7ee
- F src/json.c fadf5f0a00c1af99dbc6ac78dd3c2064c40bb28e602a5746f7c66c1ec8cbb006
+ F src/insert.c e6e9b574b4863649e2c433f2260f226183e697df1ab73fcb8da9a85d5abcd390
+ F src/json.c f058c449acb9fdb1d3d1bb9f7e97b225ba773f5b6fdcec4310d3f49980125ed4
  F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
- F src/loadext.c 78d5b06f18996ffa1203129b28fea043f63a87a4117539678f1d761c30b4ff65
- F src/main.c e007f0b39137b3e4eeef125b5d6302a8c14a571d5ac12c5b3609c09a517b77e9
+ F src/loadext.c 5cd4cd7ec6e1a46416806899086363fbf95eecd3bfb9a388b436c9a77243c902
 -F src/main.c efd782fadd65b8e67952f439d56d7605134582346573018a614a8e082e074bd7
++F src/main.c 98342b2218d8a3083d56c5b7ec56151d8c7c73d508d44583fc9ea9e5ce298eea
  F src/malloc.c 422f7e0498e1c9ef967f06283b6f2c0b16db6b905d8e06f6dbc8baaa3e4e6c5a
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c 3bb59158c38e05f6270e761a9f435bf19827a264c13d1631c58b84bdc96d73b2
@@@ -721,36 -717,36 +720,36 @@@ F src/mutex_noop.c 9d4309c075ba9cc7249e
  F src/mutex_unix.c caec9862aeebad01f6c8997cf709a239abeb0715fcce1895720b87fe7e2ef42f
  F src/mutex_w32.c d44e94c064f8ab39e0318fb6fa00171cf7e5645bd4241129b07d655a8ddbd44b
  F src/notify.c 57c2d1a2805d6dee32acd5d250d928ab94e02d76369ae057dee7d445fd64e878
- F src/os.c 509452169d5ea739723e213b8e2481cf0e587f0e88579a912d200db5269f5f6d
+ F src/os.c 9566966dd14376099fe8f715e744ab4fef204f55bd89126c5ddd06eb37df9457
  F src/os.h 1ff5ae51d339d0e30d8a9d814f4b8f8e448169304d83a7ed9db66a65732f3e63
  F src/os_common.h 6c0eb8dd40ef3e12fe585a13e709710267a258e2c8dd1c40b1948a1d14582e06
- F src/os_kv.c e7d96727db5b67e39d590a68cc61c86daf4c093c36c011a09ebfb521182ec28d
+ F src/os_kv.c 26ccc36ea963d328682fa685a106d7404617a2284ecdc7a35fb38d0c9242f440
  F src/os_setup.h 8efc64eda6a6c2f221387eefc2e7e45fd5a3d5c8337a7a83519ba4fbd2957ae2
  F src/os_unix.c 83759942d1ea8d59daed50901c123016f845fada74caf3496b8a2537c9a08838
- F src/os_win.c dc22fa8901d5d721e97ee11f4e1fdf974d4afccc77ae5194139c86c47eca51e3
 -F src/os_win.c 68b1c31693a5aeeb8126f618c95f7b53fb39e254836f9a95fbf2733461a7e01d
++F src/os_win.c 4117e0592ef00c18fa3dd1a2535b0b2b017b628323b12a6b4d6d6e3db5c53bfb
  F src/os_win.h c06ccc3a090cf54202ea58981c298817f3309d4c9e4d52ad0a02927346493721
- F src/pager.c d47ef44a7e5ad1da936f19f7f9a0f8f17e5dca997758e27e905d50bc65754d36
 -F src/pager.c f88073a00933c885b167b6d25afc4d1b83c1706943572f5653fb64a7f5bde105
++F src/pager.c 9d9c4a0142498b365707f1d907dfcf316c0f00c46605e9f2dc2bc5b896b6fd83
  F src/pager.h 6137149346e6c8a3ddc1eeb40aee46381e9bc8b0fcc6dda8a1efde993c2275b8
  F src/parse.y d5a3c5b0277a441c38b35071c05e2b61ff5fc918a63309c809f4b6706179c320
  F src/pcache.c 588cc3c5ccaaadde689ed35ce5c5c891a1f7b1f4d1f56f6cf0143b74d8ee6484
  F src/pcache.h 092b758d2c5e4dabb30eae46d8dfad77c0f70b16bf3ff1943f7a232b0fe0d4ba
- F src/pcache1.c 131ca0daf4e66b4608d2945ae76d6ed90de3f60539afbd5ef9ec65667a5f2fcd
+ F src/pcache1.c d7ee0f95992501a65379f620b3de1430b64e52e397769938668a9fd9dd1c8145
 -F src/pragma.c 789ef67117b74b5be0a2db6681f7f0c55e6913791b9da309aefd280de2c8a74d
 -F src/prepare.c d055c59c23b917367ed199a52888132316aa9cb9f7653ca71f0c45bd267206fd
 +F src/pragma.c 16bfe475bb6bcc14eb9dbb2847fec6383fb7361fc4cd23b390e3e10daf089bd7
- F src/prepare.c e8068198fe52a0e01584981dc74d35b0b6380ed1cac9fdce6f0629b01fe34450
- F src/printf.c 2bc09ee91d69c709528575bbbee2199e16d6a7e68e1508ac7cf998a7289170ca
++F src/prepare.c afaac9cda0e461943c9d41dec62072682da1ac6a2739247262826da105fc2e5e
+ F src/printf.c 6916d50913c3271aefe96d3483701ceca8644331ec4c7b23a5aa54a9ba36230f
  F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
- F src/resolve.c 7e936a09405cb59e2b3e51a3ad23753e4803afc5269c5171a54c9bdd70f4fc50
+ F src/resolve.c d0724113da9f5c0430d2052808ce59519f51ae7c4fbb1f5ef21fe3a832956086
  F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
- F src/select.c 4c05cde130f26991b7411d8c6809e0630625e18078742c963a047b4b9cc01d49
- F src/shell.c.in b4f2605ab32ef5c3f2391ccdc3b9bf3f26bc98489bcf25efc2f793fa8e17f7a6
- F src/sqlite.h.in 12e7c5d452f41fbf8c570c983e277a7e27f5fb860b44f960f0ec5ef069820de5
+ F src/select.c 80ea6935f8470b97d1212bc1b759b7fadb28351797877f493d0cf598be1fef5e
 -F src/shell.c.in a4e83895cfa336065ad7f7a7dea8fc2a19d050f7ce7466621c67208acaac9e44
 -F src/sqlite.h.in 8c70db561507478176b942a3f88cac396e00993eafb827ed31d48c191f327408
++F src/shell.c.in 413928afa0080aa57c00ae6355fd3429eb7c9e911504f8406917cc7834e564fb
++F src/sqlite.h.in a3c0f58a193b397d8e3975f8ce6c364359c18302e588b49c64ebeeef2fa9a40e
  F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479
- F src/sqlite3ext.h 9788c301f95370fa30e808861f1d2e6f022a816ddbe2a4f67486784c1b31db2e
- F src/sqliteInt.h a3c8abf0ac843fd13bd87b9952c5349643c6a83fa88317cd787c393d76245cfa
+ F src/sqlite3ext.h 0efd4723bad9124ea1f581d9f1ea0254ac1c6f3e5fb29e4f3dcf36c72485a456
 -F src/sqliteInt.h 92563b8edc673513b82d87bf6a8d7aeb554b2c7b7d5e30992fbca04010db79ac
++F src/sqliteInt.h 3cba26cd2508b5d93cdd6a55fc51f938b86b6f4a371252dbc5665099629b5f11
  F src/sqliteLimit.h c70656b67ab5b96741a8f1c812bdd80c81f2b1c1e443d0cc3ea8c33bb1f1a092
 -F src/status.c 7565d63a79aa2f326339a24a0461a60096d0bd2bce711fefb50b5c89335f3592
 +F src/status.c 426bbfac49c3501675d3c2db63834a29d78e14587695e81327f86689d7eb1593
  F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
 -F src/tclsqlite.c 7401c73c917a4d1b380c896a324c8d8eb533a999559d9e339d479596553bebfd
 +F src/tclsqlite.c 2a8c7f54fc667a4d4aa71c93bf547b7ca05d33bd3f96394ec80462c25a7bb1ed
  F src/tclsqlite.h 614b3780a62522bc9f8f2b9fb22689e8009958e7aa77e572d0f3149050af348a
  F src/test1.c fe1316579a1778eb96d0bd12807f9dddc5e3984f5950127e2e1718c050cb6304
  F src/test2.c 2b9ab96bba63a1c369d5769390475259ad210f144a877805f2e32e563f9e93c1
@@@ -803,32 -798,32 +802,32 @@@ F src/test_wsd.c 41cadfd9d97fe8e3e4e44f
  F src/threads.c 85d8b9f05f78211c61e3739ab5db761d7118766d1916ae7f2764735106bc4e13
  F src/tokenize.c e9d52d9f7374d82dadcd11726bea8a597d43709d6672704f3f0375bf1d726912
  F src/treeview.c feaa59f14db4f7b5aacca9c5ad5aeb562c1f98262c1ffd74371f4186ade91fc5
- F src/trigger.c 5497958d682b6269924b19c7a2c821b8f5e3909eefc2fcad7a7f0a17947e425d
 -F src/trigger.c 5028874dd1f4fd3085bacd55c30114b5ad651525508656f65af09adf227181d5
++F src/trigger.c 3aec93e6d1f57994c19541723bfab5b0df71917ebd094cadaf57f296e12605d4
  F src/update.c 3e5e7ff66fa19ebe4d1b113d480639a24cc1175adbefabbd1a948a07f28e37cf
- F src/upsert.c 215328c3f91623c520ec8672c44323553f12caeb4f01b1090ebdca99fdf7b4f1
+ F src/upsert.c dd9f0fcccbfb4f20e1026a21a7254ba3f2c08e9cfa92affaff5b5ec3b00ea549
  F src/utf.c 7267c3fb9e2467020507601af3354c2446c61f444387e094c779dccd5ca62165
  F src/util.c 98cf12c8ba65623a76c1eb6e6afa98ff40107c9919bf79af42f4bfc70e654232
 -F src/vacuum.c d3d35d8ae893d419ade5fa196d761a83bddcbb62137a1a157ae751ef38b26e82
 -F src/vdbe.c 6397694fa506aa1841dc8bb6a17c514aa602a4ad2515024fcd5880558c1ef57f
 -F src/vdbe.h 70e862ac8a11b590f8c1eaac17a0078429d42bc4ea3f757a9af0f451dd966a71
 +F src/vacuum.c 13b7c418199d6344e341eb6ae3759b7886f925c0f5920d30925dbe45fc933fbd
- F src/vdbe.c a7ac9e57659412c74ff8dd24e3cfdd7dbfec70cb5037733631d6d3137c3eb5b7
++F src/vdbe.c 1cc30eeb37858f16e230c35350106ddda495b93ec4e94e5e9e8e051f074bb1d8
 +F src/vdbe.h e085d965c37e722b60303ec9345f42bd14a89e0c5ae9760ce648f24d6848fd86
  F src/vdbeInt.h c31ba4dc8d280c2b1dc89c6fcee68f2555e3813ab34279552c20b964c0e338b1
- F src/vdbeapi.c 6cdcbe5c7afa754c998e73d2d5d2805556268362914b952811bdfb9c78a37cf1
- F src/vdbeaux.c 821cf38a1f43425a190d8dc18ef0b7978686af37bfcac53bcf96005ea9b79c9f
+ F src/vdbeapi.c 15c55a4be8edc06055502e15f60f444c8fc5cb6134e38b8486742e89670d5e8f
 -F src/vdbeaux.c a052c43fcf342651f655e6771003c175d49b237a9473c3c4d79d44725f494dae
 -F src/vdbeblob.c b3f0640db9642fbdc88bd6ebcc83d6009514cafc98f062f675f2c8d505d82692
++F src/vdbeaux.c fb2cc2684046da43bb69f5860480c3c3dfef6e94449f267a1a5ae4db1d38d33a
 +F src/vdbeblob.c ad7e1db18b53074702ce267f48106c12fb1ac76b54b6eb3aefa4188411eb7c46
- F src/vdbemem.c efacb8f229422d2a4db0ed38e49b7f3897862a98d82b261aa3b43d7a2d98c6da
+ F src/vdbemem.c 6e7ad67507c9a8e625b46256a9c003929331d6a27b99bbe139b8f0dab636e1f2
  F src/vdbesort.c b69220f4ea9ffea5fdef34d968c60305444eea909252a81933b54c296d9cca70
  F src/vdbetrace.c 49e689f751505839742f4a243a1a566e57d5c9eaf0d33bbaa26e2de3febf7b41
  F src/vdbevtab.c fc46b9cbd759dc013f0b3724549cc0d71379183c667df3a5988f7e2f1bd485f3
 -F src/vtab.c 5437ce986db2f70e639ce8a3fe68dcdfe64b0f1abb14eaebecdabd5e0766cc68
 +F src/vtab.c 8654846109b73203cab31319ab7a9fc0164fe81c18204b80f9aef80929eed972
  F src/vxworks.h 9d18819c5235b49c2340a8a4d48195ec5d5afb637b152406de95a9436beeaeab
- F src/wal.c 7340d4f9bb827bd349127cac6b2cf0cb7f76b9fda645f7b9b0bf7a6e0b1e2e7c
+ F src/wal.c abfd99239725a258af4f733681b24dd7a9ee298babe389a36d29c197e2443ebf
  F src/wal.h ba252daaa94f889f4b2c17c027e823d9be47ce39da1d3799886bbd51f0490452
  F src/walker.c d5006d6b005e4ea7302ad390957a8d41ed83faa177e412f89bc5600a7462a014
- F src/where.c 148d34f2d6af07f30cc6ecbbe56e73027639792b2adb19d770341bc199ce5078
 -F src/where.c e76636ee3a58a3fc84e6a0362c69dd61234c24a77cfc9219b8db8cc2278ae5b7
++F src/where.c 143a4192fa680ebc320c865cebcc007baa9ef3aaa1372d7d5edc5c51a8f07132
  F src/whereInt.h 8d94cb116c9e06205c3d5ac87af065fc044f8cf08bfdccd94b6ea1c1308e65da
- F src/wherecode.c 4d573077652f79780d6b50840ab8cbb72053dbb4eb230780dd2a146ab034475d
- F src/whereexpr.c d111a5cb6147253a54010d883474b6aecc0b3009d352c087ee5295d74697bfef
- F src/window.c c0a38cd32473e8e8e7bc435039f914a36ca42465506dc491c65870c01ddac9fb
+ F src/wherecode.c bc39ccbe3648f01157038b16cc55bdbff128590972b7185521b5526dc2815765
+ F src/whereexpr.c 00e778c829a6ac6bf2bb8899cd1e39ccc48670d665b5891e99632180a2768a15
+ F src/window.c 0d7dacdf2e84c6ee8ff498d5cc881dd245fcb2f14f6c5976e97e112ce96e90dc
  F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
  F test/affinity2.test 4d7a34d328e58ca2a2d78fd76c27614a41ca7ddf4312ded9c68c04f430b3b47d
  F test/affinity3.test 9b7d1133e11d5edd7805573c4ab6f3ba73b0b74a1f280d5b130d4bf3506a93ff
@@@ -1641,15 -1629,15 +1642,15 @@@ F test/sharedB.test 1a84863d7a2204e0d42
  F test/shared_err.test 32634e404a3317eeb94abc7a099c556a346fdb8fb3858dbe222a4cbb8926a939
  F test/sharedlock.test 5ede3c37439067c43b0198f580fd374ebf15d304
  F test/shell-prompt.sql 8a320a78812d75349bd5e1a95178f7ff1f2194bb4cceee572865d127c51684b3
- F test/shell1.test b46953a435db5d22ccd4ccdb63740478a4b1e348977b81aad2ae514fa29df0e4
- F test/shell2.test dc541d2681503e55466a24d35a4cbf8ca5b90b8fcdef37fc4db07373a67d31d3
 -F test/shell1.test 72893bc7957ff6402552ce4e31aa98a94478fa91bf5c4009a458711ad2e6efac
++F test/shell1.test d55bac0e858fd54cde1a5fafea0696a438fe9066a01b00a1348db291633026ae
+ F test/shell2.test e0842ea6a28f86f1ef235e117b3a381d16b999e7bdd9655b1de663026dd8ea27
 -F test/shell3.test 91efdd545097a61a1f72cf79c9ad5b49da080f3f10282eaf4c3c272cd1012db2
 +F test/shell3.test 05ee11f53272c76557406f9ac8b36eadea17fff967772db98bcb4067e342c849
  F test/shell4.test e25580a792b7b54560c3a76b6968bd8189261f38979fe28e6bc6312c5db280db
  F test/shell5.test a0c43d82a811a463a5d07d6418c5a045ab01a072544db8aa31ae394e93845d8d
  F test/shell6.test 596f2eb385a1097d4e9130b4d4f663a24cba294b35f13b774b8f13553dec307d
- F test/shell7.test 43fd8e511c533bab5232e95c7b4be93b243451709e89582600d4b6e67693d5c3
+ F test/shell7.test 6b006d296b569a7ec78b8168af77578b3bde8f58b79c32d9f46cff1eaf763a29
  F test/shell8.test 38c9e4d7e85d2a3ecfacaa9f6cda4f7a81bf4fffb5f3f37f9cd76827c6883192
 -F test/shell9.test c0e8871061a92151450b3332279a893b516fa73a6c46d4f51a0998407cbf8c89
 +F test/shell9.test ae86ac0ad4ed2c8be0950b7fb0f217bf43217e2d424fe5998191cfcaa93ef812
  F test/shellA.test 05cdaafa1f79913654487ce3aefa038d4106245d58f52e02faf506140a76d480
  F test/shellB.test 82622da7783c32ce931138bec3d5016e802d70361b9f9364b5d49c1dfc2f5af9
  F test/shmlock.test 9f1f729a7fe2c46c88b156af819ac9b72c0714ac6f7246638a73c5752b5fd13c
@@@ -1734,10 -1722,10 +1735,10 @@@ F test/temptable2.test 76821347810ecc88
  F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
  F test/temptrigfault.tes fc5918e64f3867156fefe7cfca9d8e1f495134a5229b2b511b0dc11c07f2eab4
  F test/temptrigger.test a00f258ed8d21a0e8fd4f322f15e8cfb5cef2e43655670e07a753e3fb4769d61
 -F test/tester.tcl 2d943f60200e0a36bcd3f1f0baf181a751cd3604ef6b6bd4c8dc39b4e8a53116
 +F test/tester.tcl cb0cd9807cc34a3ea2849f049515ce2301fb838357ae671a12c8cc53a6ab2f91
  F test/testloadext.c 862b848783eaed9985fbce46c65cd214664376b549fae252b364d5d1ef350a27
- F test/testrunner.tcl 425c86336bfc657b501946d0690decc1a4cc38bb1713d9ea5d775ba58268393a x
 -F test/testrunner.tcl 8171b887ab78d55b73fd971e22690eff0fabec913fbf3b5fbeaf159b3f00b2dc x
 -F test/testrunner_data.tcl 4b3cf036d39c98b83f9289a5c047eb01089c932d4f59a81bf764f6800589b959
++F test/testrunner.tcl 08b29c83a7c81f47b802c9bb827ce22883279b09ce0b3ed94858b4cacd409f44 x
 +F test/testrunner_data.tcl 03269d1bf3706560241234534e79b37a82120ec33a32a0400e2ca0299486b514
  F test/testrunner_estwork.tcl 81e2ae10238f50540f42fbf2d94913052a99bfb494b69e546506323f195dcff9
  F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899
  F test/thread002.test c24c83408e35ba5a952a3638b7ac03ccdf1ce4409289c54a050ac4c5f1de7502
@@@ -2221,8 -2208,9 +2222,8 @@@ F tool/warnings-clang.sh bbf6a1e685e534
  F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
  F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
  F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
- P 578bfc438ad81692d720019060a59302ce448926f3720d31375dce050a4a7af3 64b707f4b3177384b611df5f5e4ca7da44d86313f74ff943a00581a6dd924b08
- R daadcff7508e54bf1dd28760c4bda61a
 -P c9171221160f241b450d425f41bb53b42362dccfad4c3fdf64dd5c3562ed4096 d48c6d2dcd50128f35bba8931371e708d24b63f2ea7a5988af8864d18ef5d14e
 -R ac3180d079383592c198cf1b45b910ff
 -T +closed d48c6d2dcd50128f35bba8931371e708d24b63f2ea7a5988af8864d18ef5d14e
 -U dan
 -Z 136a44434452d883960fef6aa0671265
++P b974acea28f77ffa7e80f641733966d004641fa8e7971ace9b332d706acd8dd4 35b3ff4007fc1abd36233a6b3b75bb6a123edc062f36437247c3dfe779868b70
++R e58832ddb86bc79a34f6abd2202ed76e
 +U drh
- Z fc054aba4f6ed6452643095267f4cdaf
++Z 81dfce6027a6efbabc882429e3596434
  # Remove this line to create a well-formed Fossil manifest.
diff --cc manifest.uuid
index aaf6b588f82256e08a3120e65b20ff815a44e4dc,1af266994ab298f68da378b3d74c0d2fc6f74b8c..e01dc37aa34a8d459f7249bf1e285996fafc1849
@@@ -1,1 -1,1 +1,1 @@@
- b974acea28f77ffa7e80f641733966d004641fa8e7971ace9b332d706acd8dd4
 -35b3ff4007fc1abd36233a6b3b75bb6a123edc062f36437247c3dfe779868b70
++2296020d75a0a598b515bc16e96f9d59b78d2504edfee651607b2a3cc63a8e6b
diff --cc src/alter.c
Simple merge
diff --cc src/analyze.c
Simple merge
diff --cc src/build.c
Simple merge
diff --cc src/main.c
Simple merge
diff --cc src/os_win.c
Simple merge
diff --cc src/pager.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
Simple merge
diff --cc src/trigger.c
index 3b1fdbabc76935fdefcdb605c3398b15250b13e5,6ac9c1ffdbf77aade44ee2b54d67563cb7740b92..887c559081e9d75f1d43d66d058fa5edfbbc2daf
@@@ -1274,12 -1243,24 +1274,26 @@@ static TriggerPrg *codeRowTrigger
    SubProgram *pProgram = 0;   /* Sub-vdbe for trigger program */
    int iEndTrigger = 0;        /* Label to jump to if WHEN is false */
    Parse sSubParse;            /* Parse context for sub-vdbe */
+   int nDepth;                 /* Trigger depth */
+   /* Ensure that triggers are not chained too deep.  This test is linear
+   ** in the chaining depth, but sensible code ought not be chaining
+   ** triggers excessively, so that shouldn't be a problem.
+   */  
+   pTop = pParse;
+   for(nDepth=0; pTop->pOuterParse; pTop = pTop->pOuterParse, nDepth++){}
+   if( nDepth>=db->aLimit[SQLITE_LIMIT_TRIGGER_DEPTH] ){
+     sqlite3ErrorMsg(pParse, "triggers nested too deep");
+     return 0;
+   }
  
 -  assert( pTrigger->zName==0 || pTab==tableOfTrigger(pTrigger) );
+   pTop = sqlite3ParseToplevel(pParse);
 +  assert( pTrigger->zName==0 || IsSharedSchema(pParse->db)
 +      || pTab==tableOfTrigger(pTrigger)
 +  );
    assert( pTop->pVdbe );
  
    /* Allocate the TriggerPrg and SubProgram objects. To ensure that they
    ** are freed if an error occurs, link them into the Parse.pTriggerPrg 
    ** list of the top-level Parse object sooner rather than later.  */
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbeaux.c
Simple merge
diff --cc src/where.c
Simple merge
Simple merge
Simple merge