Skip to content

Commit b1b9aed

Browse files
committed
Merge sqlite-release(3.50.3) into prerelease-integration
2 parents 4ef52e4 + bfc94fd commit b1b9aed

File tree

19 files changed

+229
-112
lines changed

19 files changed

+229
-112
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.50.2
1+
3.50.3

ext/fts5/fts5_index.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1950,9 +1950,9 @@ static void fts5SegIterSetNext(Fts5Index *p, Fts5SegIter *pIter){
19501950
** leave an error in the Fts5Index object.
19511951
*/
19521952
static void fts5SegIterAllocTombstone(Fts5Index *p, Fts5SegIter *pIter){
1953-
const int nTomb = pIter->pSeg->nPgTombstone;
1953+
const i64 nTomb = (i64)pIter->pSeg->nPgTombstone;
19541954
if( nTomb>0 ){
1955-
int nByte = SZ_FTS5TOMBSTONEARRAY(nTomb+1);
1955+
i64 nByte = SZ_FTS5TOMBSTONEARRAY(nTomb+1);
19561956
Fts5TombstoneArray *pNew;
19571957
pNew = (Fts5TombstoneArray*)sqlite3Fts5MallocZero(&p->rc, nByte);
19581958
if( pNew ){

ext/fts5/test/fts5corrupt8.test

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,5 +90,58 @@ do_execsql_test 3.7 {
9090
SELECT * FROM sqlite_schema
9191
}
9292

93+
#-------------------------------------------------------------------------
94+
reset_db
95+
96+
proc hex_to_blob {hex} {
97+
binary encode hex $hex
98+
}
99+
db func hex_to_blob hex_to_blob
100+
101+
do_execsql_test 4.0 {
102+
CREATE VIRTUAL TABLE x1 USING fts5(x, content='', contentless_delete=1);
103+
BEGIN;
104+
INSERT INTO x1(rowid, x) VALUES(1, 'a b c d e f g h');
105+
INSERT INTO x1(rowid, x) VALUES(2, 'a b c d e f g h');
106+
COMMIT;
107+
DELETE FROM x1 WHERE rowid=1;
108+
}
109+
110+
do_execsql_test 4.1 {
111+
SELECT hex(block) FROM x1_data WHERE id=10
112+
} {
113+
00000000FF00000101010200010101010101010102
114+
}
115+
116+
do_execsql_test 4.2.1 {
117+
UPDATE x1_data SET block=
118+
X'00000000FF00000101010200010101010101819C9B95A8000102'
119+
WHERE id=10;
120+
}
121+
122+
do_catchsql_test 4.2.2 {
123+
SELECT * FROM x1('c d e');
124+
} {1 {out of memory}}
125+
126+
do_execsql_test 4.3.1 {
127+
UPDATE x1_data SET block=
128+
X'00000000FF000001010102000101010101019282AFF9A0000102'
129+
WHERE id=10;
130+
}
131+
132+
do_catchsql_test 4.3.2 {
133+
SELECT * FROM x1('c d e');
134+
} {1 {out of memory}}
135+
136+
do_execsql_test 4.4.1 {
137+
UPDATE x1_data SET block=
138+
X'00000000FF000001010102000101010101018181808080130102'
139+
WHERE id=10;
140+
}
141+
142+
do_catchsql_test 4.3.2 {
143+
SELECT * FROM x1('c d e');
144+
} {1 {out of memory}}
145+
93146
finish_test
94147

ext/wasm/fiddle.make

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,8 @@ fiddle.emcc-flags = \
4040
-sWASM_BIGINT=$(emcc.WASM_BIGINT) \
4141
-sEXPORT_NAME=$(sqlite3.js.init-func) \
4242
-Wno-limited-postlink-optimizations \
43-
$(emcc.exportedRuntimeMethods) \
43+
$(emcc.exportedRuntimeMethods),FS \
4444
-sEXPORTED_FUNCTIONS=@$(abspath $(EXPORTED_FUNCTIONS.fiddle)) \
45-
-sEXPORTED_RUNTIME_METHODS=FS,wasmMemory \
4645
$(SQLITE_OPT.full-featured) \
4746
$(SQLITE_OPT.common) \
4847
$(SHELL_OPT) \

manifest

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
C Version\s3.50.2
2-
D 2025-06-28T14:00:48.788
1+
C Version\s3.50.3
2+
D 2025-07-17T13:25:10.611
33
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
44
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
55
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -8,7 +8,7 @@ F Makefile.in c3e414df4dc8dfb12f1f6baf129fcb6d18cd0ebd3c9109370fb3fceeeef9a37a
88
F Makefile.linux-generic bd3e3cacd369821a6241d4ea1967395c962dfe3057e38cb0a435cee0e8b789d0
99
F Makefile.msc 0206f28988bb6634c7e8aff05bf6cfa65d6dfe1d2b6bd95160dd99290a83dfc7
1010
F README.md e28077cfbef795e99c9c75ed95aa7257a1166709b562076441a8506ac421b7c1
11-
F VERSION 56fffb7f40e1117f5ab0cfe06e918a82d522c686d1dfff7f570f4ca414eb256a
11+
F VERSION 613f62a5375c819156a56fa263adc08f8ee5998f45a946d3c5d594385b2ef736
1212
F art/icon-243x273.gif 9750b734f82fdb3dc43127753d5e6fbf3b62c9f4e136c2fbf573b2f57ea87af5
1313
F art/icon-80x90.gif 65509ce3e5f86a9cd64fe7fca2d23954199f31fe44c1e09e208c80fb83d87031
1414
F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
@@ -114,7 +114,7 @@ F ext/fts5/fts5_buffer.c f1e6d0324d7c55329d340673befc26681a372a4d36086caa8d1ec7d
114114
F ext/fts5/fts5_config.c e7d8dd062b44a66cd77e5a0f74f23a2354cd1f3f8575afb967b2773c3384f7f8
115115
F ext/fts5/fts5_expr.c be9e5f7f11d87e7bd3680832c93c13050fe351994b5052b0215c2ef40312c23a
116116
F ext/fts5/fts5_hash.c a6266cedd801ab7964fa9e74ebcdda6d30ec6a96107fa24148ec6b7b5b80f6e0
117-
F ext/fts5/fts5_index.c d171f2a507abccb3d524bf461b01f0d3971a9bf221be622ac7c671a991cb62ee
117+
F ext/fts5/fts5_index.c 5896ca188574f728426a8f03752dfbf4fad48d1a4b7450b29d8d3acae1739761
118118
F ext/fts5/fts5_main.c 57933c18efe1058d8871199875c7a59744dabc3904f3aefbf9ff4a4e11fc79e2
119119
F ext/fts5/fts5_storage.c 19bc7c4cbe1e6a2dd9849ef7d84b5ca1fcbf194cefc3e386b901e00e08bf05c2
120120
F ext/fts5/fts5_tcl.c 7fb5a3d3404099075aaa2457307cb459bbc257c0de3dbd52b1e80a5b503e0329
@@ -168,7 +168,7 @@ F ext/fts5/test/fts5corrupt4.test dc08d19f5b8943e95a7778a7d8da592042504faf18dd93
168168
F ext/fts5/test/fts5corrupt5.test bcf0801b0c991eadae3cb8e978e82b4bf01412cb4df41874a90d5aa279c7cc96
169169
F ext/fts5/test/fts5corrupt6.test 2d72db743db7b5d9c9a6d0cfef24d799ed1aa5e8192b66c40e871a37ed9eed06
170170
F ext/fts5/test/fts5corrupt7.test 4e830875c33b9ea3c4cf1ba71e692b63893cbb4faae8c69b1071889dc26e211c
171-
F ext/fts5/test/fts5corrupt8.test b81d802e41631e98100f49a1aadeeffef860e30a62d6ed7d743c2797c477239e
171+
F ext/fts5/test/fts5corrupt8.test ffaaad3524c79621042eaf176d9206f68c5f07611c4d24943e60a3b6ea0026e8
172172
F ext/fts5/test/fts5delete.test 2a5008f8b1174ef41d1974e606928c20e4f9da77d9f8347aed818994d89cced4
173173
F ext/fts5/test/fts5detail.test 54015e9c43ec4ba542cfb93268abdf280e0300f350efd08ee411284b03595cc4
174174
F ext/fts5/test/fts5determin.test 1b77879b2ae818b5b71c859e534ee334dac088b7cf3ff3bf76a2c82b1c788d11
@@ -674,7 +674,7 @@ F ext/wasm/demo-worker1.html 2c178c1890a2beb5a5fecb1453e796d067a4b8d3d2a04d65ca2
674674
F ext/wasm/demo-worker1.js 08720227e98fa5b44761cf6e219269cee3e9dd0421d8d91459535da776950314
675675
F ext/wasm/dist.make 92ef4ffe33022a50f92d602acabad10bd8dd91759f3eb7df27fc6d7d37072b96
676676
F ext/wasm/example_extra_init.c 2347cd69d19d839ef4e5e77b7855103a7fe3ef2af86f2e8c95839afd8b05862f
677-
F ext/wasm/fiddle.make c6d7a3d6cc03bb5f21acb295c1233820d0dbf5c6a89b28dc2e093edcc001c45a
677+
F ext/wasm/fiddle.make 2df87f12bcbae2c966c2cef34ce71bb1584c440c69e14ca6d32f443d8d550dc5
678678
F ext/wasm/fiddle/fiddle-worker.js 850e66fce39b89d59e161d1abac43a181a4caa89ddeea162765d660277cd84ce
679679
F ext/wasm/fiddle/fiddle.js 2a2f27b4be2674f501fff61c4a09e44dcf2295731a26b5c28e439f3a573bd269
680680
F ext/wasm/fiddle/index.html 7fcfb221165183bef0e05d5af9ceb79b527e799b1708ab05de0ec0eaebd5b7bf
@@ -718,7 +718,7 @@ F mptest/mptest.c aa41ace6dbc5050d76b02548d3521e6bbccae4f0
718718
F mptest/multiwrite01.test dab5c5f8f9534971efce679152c5146da265222d
719719
F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
720720
F sqlite3.1 acdff36db796e2d00225b911d3047d580cd136547298435426ce9d40347973cc
721-
F sqlite3.pc.in 0977c03a4da7c4204bd60e784a0efb8d51a190448aba78a4e973fe7192bdaf03
721+
F sqlite3.pc.in e6dee284fba59ef500092fdc1843df3be8433323a3733c91da96690a50a5b398
722722
F src/alter.c fc7bbbeb9e89c7124bf5772ce474b333b7bdc18d6e080763211a40fde69fb1da
723723
F src/analyze.c 03bcfc083fc0cccaa9ded93604e1d4244ea245c17285d463ef6a60425fcb247d
724724
F src/attach.c 9af61b63b10ee702b1594ecd24fb8cea0839cfdb6addee52fba26fa879f5db9d
@@ -729,14 +729,14 @@ F src/btmutex.c 30dada73a819a1ef5b7583786370dce1842e12e1ad941e4d05ac29695528daea
729729
F src/btree.c da98489a981c347cc3a3982ea2810bbb583511a73cc34762547f30dbb4cda7f0
730730
F src/btree.h 18e5e7b2124c23426a283523e5f31a4bff029131b795bb82391f9d2f3136fc50
731731
F src/btreeInt.h 9c0f9ea5c9b5f4dcaea18111d43efe95f2ac276cd86d770dce10fd99ccc93886
732-
F src/build.c 67c1db4c5e89a8519fe9b6dafc287f6bc3627696b5b8536dc5e06db570d8c05f
732+
F src/build.c 67159d31bfc565e5f23a7be8159325bae599bddd19fc584ac2511b947cf341d3
733733
F src/callback.c acae8c8dddda41ee85cfdf19b926eefe830f371069f8aadca3aa39adf5b1c859
734734
F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
735735
F src/date.c 9db4d604e699a73e10b8e85a44db074a1f04c0591a77e2abfd77703f50dce1e9
736736
F src/dbpage.c fcb1aafe00872a8aff9a7aa0ef7ff1b01e5817ec7bbd521f8f3e1e674ac8d609
737737
F src/dbstat.c 73362c0df0f40ad5523a6f5501224959d0976757b511299bf892313e79d14f5c
738738
F src/delete.c 03a77ba20e54f0f42ebd8eddf15411ed6bdb06a2c472ac4b6b336521bf7cea42
739-
F src/expr.c 41f193b96b3757db1a82e7590823ca833f6215b38d7b17c98d181208cf9cdd6b
739+
F src/expr.c 7e7f57247e864aaa46af2fd6bf3f7433dbefffc470687158340e5d68a15c4469
740740
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
741741
F src/fkey.c 928ed2517e8732113d2b9821aa37af639688d752f4ea9ac6e0e393d713eeb76f
742742
F src/func.c de47a8295503aa130baae5e6d9868ecf4f7c4dbffa65d83ad1f70bdbac0ee2d6
@@ -775,7 +775,7 @@ F src/os_win.c b8d3cfdf2f40e2f9715b7d8df64f3c0c7ee18743a2dd0c4fc70c1d57fa1aadc7
775775
F src/os_win.h 4c247cdb6d407c75186c94a1e84d5a22cbae4adcec93fcae8d2bc1f956fd1f19
776776
F src/pager.c 23c0f17deb892da6b32fef1f465507df7ab5cd01d774288cb43695658a649259
777777
F src/pager.h 6137149346e6c8a3ddc1eeb40aee46381e9bc8b0fcc6dda8a1efde993c2275b8
778-
F src/parse.y e426d7323311554c75b0aebc426d0fe3c88d9777ffefed236f343ad9e661dc4c
778+
F src/parse.y 619c3e92a54686c5e47923688c4b9bf7ec534a4690db5677acc28b299c403250
779779
F src/pcache.c 588cc3c5ccaaadde689ed35ce5c5c891a1f7b1f4d1f56f6cf0143b74d8ee6484
780780
F src/pcache.h 1497ce1b823cf00094bb0cf3bac37b345937e6f910890c626b16512316d3abf5
781781
F src/pcache1.c 131ca0daf4e66b4608d2945ae76d6ed90de3f60539afbd5ef9ec65667a5f2fcd
@@ -787,10 +787,10 @@ F src/resolve.c d40fe18d7c2fd0339f5846ffcf7d6809866e380acdf14c76fb2af87e9fe13f64
787787
F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
788788
F src/select.c 7a21df5db6bb1a4c1bb6d9fb76c8e2485a22ff8306519ad69d8ddf0d5fa10903
789789
F src/shell.c.in ba53a52dafb167ac6320703da741386c34fbcabe8c078a188bb9f89808e3ef8f
790-
F src/sqlite.h.in 18897d0b0cc064c9d6139cb0f56682d5da9ad0cc098b04f492458cdc0fc30e01
790+
F src/sqlite.h.in 9ae373d11e1b11ac9c81c508523ae37f1619e739858280078ee9fb4e1e62d3ed
791791
F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479
792792
F src/sqlite3ext.h 0bfd049bb2088cc44c2ad54f2079d1c6e43091a4e1ce8868779b75f6c1484f1e
793-
F src/sqliteInt.h e29d71b90bde0b2e06c813bd40d2265d1292a2ad7062ef7b2a1b9207dc9ecd98
793+
F src/sqliteInt.h 08a7dcb8db162875b3dd5229eb0bf75691150ac54fea1ff3670391bd6ef40546
794794
F src/sqliteLimit.h 6d817c28a8f19af95e6f4921933b7fbbca48a962bce0eb0ec81e8bb3ef38e68b
795795
F src/status.c 0e72e4f6be6ccfde2488eb63210297e75f569f3ce9920f6c3d77590ec6ce5ffd
796796
F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
@@ -846,7 +846,7 @@ F src/test_windirent.h f8245d8002aa0d4322192d35b0f8bbfc757479e90d60fd0beb386d391
846846
F src/test_window.c 6d80e11fba89a1796525e6f0048ff0c7789aa2c6b0b11c80827dc1437bd8ea72
847847
F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
848848
F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c
849-
F src/tokenize.c 3e37ac2b6cbb9b0abe33827b0153c27595269afd7152b48019808974481aca2c
849+
F src/tokenize.c 8400646d2830afc2f2dc465a75e3a92e4bedeea623f19dbd79c0c12d0dd6dda2
850850
F src/treeview.c d85ce76e6d1498d781957c07cb234da6d77ce0ed2d196480d516f54dabc62279
851851
F src/trigger.c 3ffb8ed6b64dbcc0ccae6e82435d01be3bf547e13b814e2d46f7df9bef84748e
852852
F src/update.c 3e5e7ff66fa19ebe4d1b113d480639a24cc1175adbefabbd1a948a07f28e37cf
@@ -869,9 +869,9 @@ F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
869869
F src/wal.c 20be6f0a25a80b7897cf2a5369bfd37ef198e6f0b6cdef16d83eee856056b159
870870
F src/wal.h ba252daaa94f889f4b2c17c027e823d9be47ce39da1d3799886bbd51f0490452
871871
F src/walker.c d5006d6b005e4ea7302ad390957a8d41ed83faa177e412f89bc5600a7462a014
872-
F src/where.c 45a3b496248a0b36d91ce34da3278d54f8fa20e9d3fbd36d45a42051d1118137
872+
F src/where.c 4b9f73b1633b4dcddd82abc69aa6384dbef528289e8daa29521c3112b82fd1b9
873873
F src/whereInt.h ecdbfb5551cf394f04ec7f0bc7ad963146d80eee3071405ac29aa84950128b8e
874-
F src/wherecode.c 65670d1ef85ef54a4db3826d63be8b646c9ac280962166b645950901ed1bda29
874+
F src/wherecode.c 66684a11713667f532a69214ac552acee7e0825e2f1b71abaebe05511d190fb4
875875
F src/whereexpr.c 1c60db88b6e8472f4864b98014d1b2d9d16bdd42d5d181ec515acbcdeddc18db
876876
F src/window.c d01227141f622f24fbe36ca105fbe6ef023f9fd98f1ccd65da95f88886565db5
877877
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
@@ -900,8 +900,8 @@ F test/altermalloc2.test 17fb3724c4b004c469c27dc4ef181608aa644555fbd3f3236767584
900900
F test/altermalloc3.test 8040e486368403f2fdd6fc3998258b499bd4cc2f3ddbb5f8f874cd436f076e81
901901
F test/alterqf.test 8ec03d776de9c391daa0078ea8f838903bdcfb11dfae4ba3576b48436834ccba
902902
F test/altertab.test 8a2712f9076da5012a002d0b5cc0a421398a5bf61c25bab41b77c427586a7a27
903-
F test/altertab2.test 4bad0fa9b1ad6e62d07bc2ddb0807fb98ba80ee06d6593db2e514ec1821cae3a
904-
F test/altertab3.test b331ae34e69594e19605e3297805202d6156fcc8f75379dfd972a2e51cae8721
903+
F test/altertab2.test 0889ba0700cc1cdb7bc7d25975aa61fece34f621de963d0886e2395716b38576
904+
F test/altertab3.test 471b8898d10bbc6488db9c23dc76811f405de6707d2d342b1b8b6fd1f13cd3c8
905905
F test/altertrig.test aacc980b657354fe2d3d4d3a004f07d04ccc1a93e5ef82d68a79088c274ddc6b
906906
F test/amatch1.test b5ae7065f042b7f4c1c922933f4700add50cdb9f
907907
F test/analyze.test 2fb21d7d64748636384e6cb8998dbf83968caf644c07fcb4f76c18f2e7ede94b
@@ -1530,7 +1530,7 @@ F test/pagerfault2.test caf4c7facb914fd3b03a17b31ae2b180c8d6ca1f
15301530
F test/pagerfault3.test 1003fcda009bf48a8e22a516e193b6ef0dd1bbd8
15311531
F test/pageropt.test 84e4cc5cbca285357f7906e99b21be4f2bf5abc0
15321532
F test/pagesize.test 5769fc62d8c890a83a503f67d47508dfdc543305
1533-
F test/parser1.test 6ccdf5e459a5dc4673d3273dc311a7e9742ca952dd0551a6a6320d27035ce4b3
1533+
F test/parser1.test 131f4733472252d53d8ed681115257866f55740ab697fa05900d766049348f27
15341534
F test/pcache.test c8acbedd3b6fd0f9a7ca887a83b11d24a007972b
15351535
F test/pcache2.test af7f3deb1a819f77a6d0d81534e97d1cf62cd442
15361536
F test/pendingrace.test e99efc5ab3584da3dfc8cd6a0ec4e5a42214820574f5ea24ee93f1d84655f463
@@ -1577,7 +1577,7 @@ F test/round1.test 29c3c9039936ed024d672f003c4d35ee11c14c0acb75c5f7d6188ff16190c
15771577
F test/rowallock.test 3f88ec6819489d0b2341c7a7528ae17c053ab7cc
15781578
F test/rowhash.test 0bc1d31415e4575d10cacf31e1a66b5cc0f8be81
15791579
F test/rowid.test d27191b5ce794c05bf61081e8b2c546a1844c1641321dcaf7fb785234256cc8e
1580-
F test/rowvalue.test 9c873b2f6e7ce72b24ef133f93515c07a6a7dac4846a344ebc2af7b8bfdf5147
1580+
F test/rowvalue.test 8a3f0fea3a3cbbfc7cb9885b76185a774cd8d891e0c133e289567c755d39eb9f
15811581
F test/rowvalue2.test 060d238b7e5639a7c5630cb5e63e311b44efef2b
15821582
F test/rowvalue3.test 103e9a224ca0548dd0d67e439f39c5dd16de4200221a333927372408c025324c
15831583
F test/rowvalue4.test bac9326d1e886656650f67c0ec484eb5f452244a8209c6af508e9a862ace08ed
@@ -2209,10 +2209,10 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
22092209
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
22102210
F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
22112211
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
2212-
P 4ae45291e6aac984af49c6da8e03216cf96b97b2ca7b11d5bcdb90b1f827fdaf
2213-
R de044a43142203d291ffaa11945f35d7
2212+
P 63595b74956a9391f03a273204c80ecd0ba946846b7aa0195b9095fe8b6a78e5
2213+
R 987003a9608f543153f11a48f885adf4
22142214
T +sym-release *
2215-
T +sym-version-3.50.2 *
2215+
T +sym-version-3.50.3 *
22162216
U drh
2217-
Z 74a7bf04be5e68b03e7a14d88f83dabb
2217+
Z 351123ab09d4bd77e28a506f711aa720
22182218
# Remove this line to create a well-formed Fossil manifest.

manifest.uuid

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2af157d77fb1304a74176eaee7fbc7c7e932d946bf25325e9c26c91db19e3079
1+
3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543

sqlite3.pc.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ Name: SQLite
99
Description: SQL database engine
1010
Version: @PACKAGE_VERSION@
1111
Libs: -L${libdir} -lsqlite3
12-
Libs.private: @LDFLAGS_MATH@ @LDFLAGS_ZLIB@ @LDFLAGS_ICU@
12+
Libs.private: @LDFLAGS_MATH@ @LDFLAGS_ZLIB@ @LDFLAGS_DLOPEN@ @LDFLAGS_PTHREAD@ @LDFLAGS_ICU@
1313
Cflags: -I${includedir}

src/build.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4219,7 +4219,6 @@ void sqlite3CreateIndex(
42194219
assert( j<=0x7fff );
42204220
if( j<0 ){
42214221
j = pTab->iPKey;
4222-
pIndex->bIdxRowid = 1;
42234222
}else{
42244223
if( pTab->aCol[j].notNull==0 ){
42254224
pIndex->uniqNotNull = 0;

src/expr.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1144,7 +1144,7 @@ Expr *sqlite3ExprAnd(Parse *pParse, Expr *pLeft, Expr *pRight){
11441144
return pLeft;
11451145
}else{
11461146
u32 f = pLeft->flags | pRight->flags;
1147-
if( (f&(EP_OuterON|EP_InnerON|EP_IsFalse))==EP_IsFalse
1147+
if( (f&(EP_OuterON|EP_InnerON|EP_IsFalse|EP_HasFunc))==EP_IsFalse
11481148
&& !IN_RENAME_OBJECT
11491149
){
11501150
sqlite3ExprDeferredDelete(pParse, pLeft);

src/parse.y

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1429,12 +1429,21 @@ expr(A) ::= expr(A) between_op(N) expr(X) AND expr(Y). [BETWEEN] {
14291429
** expr1 IN ()
14301430
** expr1 NOT IN ()
14311431
**
1432-
** simplify to constants 0 (false) and 1 (true), respectively,
1433-
** regardless of the value of expr1.
1432+
** simplify to constants 0 (false) and 1 (true), respectively.
1433+
**
1434+
** Except, do not apply this optimization if expr1 contains a function
1435+
** because that function might be an aggregate (we don't know yet whether
1436+
** it is or not) and if it is an aggregate, that could change the meaning
1437+
** of the whole query.
14341438
*/
1435-
sqlite3ExprUnmapAndDelete(pParse, A);
1436-
A = sqlite3Expr(pParse->db, TK_STRING, N ? "true" : "false");
1437-
if( A ) sqlite3ExprIdToTrueFalse(A);
1439+
Expr *pB = sqlite3Expr(pParse->db, TK_STRING, N ? "true" : "false");
1440+
if( pB ) sqlite3ExprIdToTrueFalse(pB);
1441+
if( !ExprHasProperty(A, EP_HasFunc) ){
1442+
sqlite3ExprUnmapAndDelete(pParse, A);
1443+
A = pB;
1444+
}else{
1445+
A = sqlite3PExpr(pParse, N ? TK_OR : TK_AND, pB, A);
1446+
}
14381447
}else{
14391448
Expr *pRHS = Y->a[0].pExpr;
14401449
if( Y->nExpr==1 && sqlite3ExprIsConstant(pParse,pRHS) && A->op!=TK_VECTOR ){

0 commit comments

Comments
 (0)