1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-01 06:27:03 +03:00
Commit Graph

30255 Commits

Author SHA1 Message Date
drh
5b0592a36f Merge the 3.50.3 changes into the reuse-schema-3.50 branch
FossilOrigin-Name: 5a70ffd63cb493fcb111bf21db51025d0596e25c879db0ed9ff1d4d721e8b1f6
2025-07-17 14:02:44 +00:00
drh
a4643b451a Version 3.50.3
FossilOrigin-Name: 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543
version-3.50.3
2025-07-17 13:25:10 +00:00
drh
75b03b9c11 Optimize allocation of large tombstone arrays in fts5.
FossilOrigin-Name: 63595b74956a9391f03a273204c80ecd0ba946846b7aa0195b9095fe8b6a78e5
2025-07-15 14:21:08 +00:00
drh
65ffbcd7c0 Rework the fix to the problem described by
forum post b9647a113b so that it
provides a more complete fix that covers cases that were not resolved by
the original fix, and so that it does not cause performance regressions.

FossilOrigin-Name: 4084ac20f425bb992e567cff9cc6e304504c5198a41a9ce1304920c6411b7989
2025-07-07 16:28:59 +00:00
1587604c6b Work around the Emscripten 4.10 regression described in [https://github.com/emscripten-core/emscripten/issues/24656 | Emscripten ticket #24656].
FossilOrigin-Name: db96ff7bbcef4a5b26a86d7ea6a5b2e4acb3262c5e01419f9bed6d63c78db477
2025-07-07 14:42:30 +00:00
drh
8bf6452870 Fix a parsing error introduced by the addition of the ability to disable
comments.

FossilOrigin-Name: 602f8a639c912d1c17bd9eba2f4e8834eb5a205ee525e5d94894468c759f14f2
2025-07-07 02:23:40 +00:00
7a6ff62658 Propagate the -ldl and -lpthread flags, if needed, into sqlite3.pc, per request in [forum:44a58c807353162f | forum post 44a58c807353162f]. This resolves usage of that pkgconf file on some OSes.
FossilOrigin-Name: b4db6ddeed8e32e635f636afe3a4c7969e384d7cc0c14038f0c9eab2f4c9d97e
2025-07-04 18:38:23 +00:00
drh
52c70825b1 Increment the patch level to 3.
FossilOrigin-Name: cf6d599ce96a89c0d0d01b30b743c970be2034c9a711db1ca3def42fbb02538f
2025-07-01 12:56:17 +00:00
drh
993c1b4872 When attempting to optimize "expr AND false" to "false" and
"expr IN ()" to "false", take care not to delete aggregate functions
in the "expr" as doing so can change the meaning of the query.

FossilOrigin-Name: 355c7902de8da79f35f6d729d0fc5bdd74cdc1a1b249cf440ef74839ec025850
2025-07-01 12:49:32 +00:00
11422669a3 Minor API doc typo fixes from brickviking.
FossilOrigin-Name: 581a088df726b3afbc87d819b7cf25d79ae01f3abf77207da8c3fc84481e534f
2025-06-30 11:01:42 +00:00
972838facf Minor API doc typo fixes from brickviking.
FossilOrigin-Name: 45acc26bb01b24fbc9caaed4b27980173b8adb199c6ff8eeebb4425159f5dd45
2025-06-29 07:32:57 +00:00
drh
dd7f0c0ef7 Merge the 3.50.2 changes into the reuse-schema-3.50 branch.
FossilOrigin-Name: b66f853a242c33e270ab744adbd277c4343ef1fd6b88e5f72b43deda94590d7a
2025-06-28 14:35:51 +00:00
drh
9d7c5df7f0 Version 3.50.2
FossilOrigin-Name: 2af157d77fb1304a74176eaee7fbc7c7e932d946bf25325e9c26c91db19e3079
version-3.50.2
2025-06-28 14:00:48 +00:00
drh
ffedaa7278 Raise an error right away if the number of aggregate terms in a query
exceeds the maximum number of columns.

FossilOrigin-Name: 4ae45291e6aac984af49c6da8e03216cf96b97b2ca7b11d5bcdb90b1f827fdaf
2025-06-27 19:56:00 +00:00
drh
d1b5b50088 API doc typo fixes and closing DD element tags from brickviking.
FossilOrigin-Name: 61135722473b72e9976e960fac70df6562574068203d2b10320cc59acb04e766
2025-06-27 12:51:40 +00:00
drh
fb76a024a3 Minor API doc fixes sent off-list from brickviking.
FossilOrigin-Name: a9e9cefd0520170a3cde271f3f49c919ff3d6307e17f0e2a4be5ca23c2cf4b05
2025-06-26 15:41:43 +00:00
drh
a231b5d192 Cherry-pick of documentation updates from trunk - no code changes.
FossilOrigin-Name: c53906260ec80c51f1071346eaf505490250dcee0631ff173751030b9e332868
2025-06-19 13:48:37 +00:00
drh
af3f9228a9 Avoid writing frames with no checksums into the wal file if a
savepoint is rolled back after dirty pages have already been
spilled into the wal file.  Also fix a corner case in the previous
check-in on this branch.

FossilOrigin-Name: c232fa2bfc1a3f2c659a1d3bb26f98f2b39f20777eebd4d08e53c21d018d3b59
2025-06-17 19:32:23 +00:00
drh
6460f4d474 Fix an issue going back to version 3.39.0 with transitive IS constraints
in queries that make use of RIGHT JOIN.

FossilOrigin-Name: 6c5f4c8af90cfe2f1b06485f8cf61d7e6d4ad92f5209e84aa1c6d1a938780a64
2025-06-16 18:04:21 +00:00
drh
591d201df5 Have sqlite3_setlk_timeout() take the database handle mutex. This fixes an assert() failure that could occur if sqlite3_setlk_timeout() were called on a threadsafe handle.
FossilOrigin-Name: 954efdd30da169e508f27ddf2f94bc2c3b6cc3f4fd13ffa650ab53d3e35df566
2025-06-12 13:27:10 +00:00
0e7d0e2490 Help ext/wasm 'make snapshot' find the wasm docs dir when it's run from outside of my usual checkout structure.
FossilOrigin-Name: 0e04136bc5a72b47b476258ac234364f677d7ee50e3f3710b23f3e2c6e163df5
2025-06-12 10:56:16 +00:00
drh
a773b16b2f Fix a problem with UPDATEs on fts5 tables that contain blob values.
FossilOrigin-Name: 2b4577d83ca6a9f404300a719e1e0920dc40302d9cd9f30d1fc204b109e2726f
2025-06-11 17:24:46 +00:00
drh
0810690f29 Increase the version number for this branch to 3.50.2.
FossilOrigin-Name: e9652e398ef2f6d5eed41a16231cf3af038c5c14433704fdcf1945c872659aaf
2025-06-11 00:06:38 +00:00
drh
b586004cc8 Fix the concat_ws() SQL function so that it includes empty strings in the
concatenation.

FossilOrigin-Name: e0ce6dab46ba965e28413fee62f32589c4da29a789f93745b6055bf62ebf129e
2025-06-11 00:05:27 +00:00
drh
714426f62c Improved selection of the divisor when subdividing nested Bitvec objects.
This fixes a potential stack overflow that can occur when the database size
is within 60 pages of the maximum allowed by the file format.

FossilOrigin-Name: 5d40152bfed84675547bcfd3627e67c2023520fba63f078671780ece6ce736a5
2025-06-10 20:06:29 +00:00
drh
cc279d5bd7 Adjustments to ext/misc/fileio.c in an attempt to get it to build using mingw.
FossilOrigin-Name: ac786b92e3e24e2f1c4f4093acc2c357da38b0e986f6e29fec858398c6ec04d9
2025-06-10 16:56:02 +00:00
drh
e7785c3b7d Update the reuse-schema branch to the 3.50.1 patch release.
FossilOrigin-Name: b5463d75604c6be244f47061e64cdb14b27417521bcba1fd3fe230f2948cbd91
2025-06-06 15:43:39 +00:00
drh
979a07af38 Version 3.50.1
FossilOrigin-Name: b77dc5e0f596d2140d9ac682b2893ff65d3a4140aa86067a3efebe29dc914c95
version-3.50.1
2025-06-06 14:52:32 +00:00
drh
36350af403 Fix harmless compiler warning introduced by the setlk-snapshot-fix merge.
FossilOrigin-Name: cbab5d86517f0c57c6025aaddbb9408e29bccdc8b158d2b8d40bd2f3b333ef69
2025-06-05 13:14:46 +00:00
drh
d7cb1ea7ba Fixes to ensure SQLITE_ENABLE_SETLK_TIMEOUT builds use a blocking lock
and do not call xSleep() when (a) opening a snapshot transaction, and
(b) when blocked by another process running recovery.

FossilOrigin-Name: 8ac4525a2e3100bb5b9460cc49bb64f007911180d5f51461282b1de0201328b6
2025-06-05 11:57:20 +00:00
74db1f3235 Merge TEA README updates from [bf7be67e3f]. No code changes.
FossilOrigin-Name: 65c5e66af77a233c6255cb9fca5887269bb38566d3c5482569b8697c72e355ae
2025-06-05 08:33:08 +00:00
af388ef35f tea build: add an info-exists check after a 'scan' call, as scan does not create its target vars on error. Problem reported at [forum:fde857fb8101a4be | forum post fde857fb8101a4be] and triggers when the 'vsatisfies' test for the host's Tcl version fails (so the build would fail anyway, but will fail more informatively with this fix).
FossilOrigin-Name: a7eb03e26345abb450f15f0e25eb843bee1320837d41d272ec1aada8b5bf7ab5
2025-06-04 18:40:03 +00:00
d282fbc59c Apply the duplicate 'export default' workaround to the (untested and unsupported) node-specific build rules in mkwasmbuilds.c to resolve a problem reported off-list by Thomas Steiner.
FossilOrigin-Name: c8523d9e145ebdc74dc0516d4eed55e96f324166edcf0f65766de3a7622d561f
2025-06-03 18:11:27 +00:00
drh
d95ba2fb03 Relax query flattener constraint (3b) and thereby allow flattening the RHS of
a LEFT JOIN even if the RHS contains a virtual table.  This is a performance
optimization that would not normally be found on a patch branch, but
downstream needs it and does not want to wait on the next full release.

FossilOrigin-Name: 916dde1f409d5cb9300da464daa1e06e6fcee3d8a6a68d469fa9580ae8700bfa
2025-06-03 17:46:24 +00:00
drh
9412d98419 Fix an off-by-one error in sqlite3_rsync.
FossilOrigin-Name: e13a9492c102d8ad756fc4b0b86d7008303a1fa7660c41b574add6e111ed9b0c
2025-06-03 10:30:31 +00:00
drh
1daead7a11 Fix JSONB edit so that when it is trying to reduce the size of an element
it understands 0xf0 (8-byte) sizes.

FossilOrigin-Name: cee271122784bf88f576ce29ead2c54f2833e5326f24a4cce8efa4d4c8ec9f32
2025-06-02 23:41:56 +00:00
drh
13efb2f676 Improve the accuracy of affinity and collating sequence analysis for
NATURAL JOINs to the left of RIGHT JOINs where source tables are views
or subqueries.

FossilOrigin-Name: d6a8b1ea5ca7e0d4e640144a4b3ada516486564bb5922af688328399c4cc4427
2025-06-02 18:42:49 +00:00
drh
6510bebf48 Update the version number to 3.50.1
FossilOrigin-Name: 86f0e4eabe1010c00955edf19e6d7e251ca03c33dd6eed38460148473aea8e42
2025-06-01 21:55:17 +00:00
drh
7c1d13bcd8 Fix an off-by-one error in the size computation of a vdbe-sorter.
FossilOrigin-Name: d5ab065727969c1b74c0f6cb2ef8d47f552e7071f790cf6fb43ac26248525086
2025-06-01 21:49:45 +00:00
drh
ce3887bde4 Cherrypick obscure (fuzzer-generated) RIGHT JOIN bug fixes from trunk.
FossilOrigin-Name: a61da8169b4ac64c20b3f1dfe3bb2a57c5e6517828b0224bcde3ee93949733e1
2025-05-31 18:46:44 +00:00
drh
175c3582f0 Add "include <stddef.h>" to fts5 and rtree to ensure that they use the
system version of the offsetof() macro when it is available, as the
built-in version triggers ubsan errors with clang.

FossilOrigin-Name: 6ceb1322ef10c1586a7ca97b377dce0c6e35d9abbdbff5a01e841a487eac08cb
2025-05-30 11:55:07 +00:00
drh
4cb03d18a4 Extend the fix for ticket 623eff57e76d45f6]so that it covers RIGHT JOIN
in addition to LEFT JOIN.

FossilOrigin-Name: cbd9aabaa5f54434c7b744cc9bb439cc702e35d74397d7157f7f06bdf67d8b14
2025-05-30 11:00:57 +00:00
8dcef6c925 Squelch an interesting but harmless struct initialization warning emitted after an emsdk update. Fix JS breakage introduced by changes in Emscripten 4.0.7: manually export the HEAPxyz symbols which used to be exposed by default.
FossilOrigin-Name: 042c6c6e9568f2ccd14b39812393e71481d04c42d768b4b56f71c02daad6b470
2025-05-30 10:18:47 +00:00
726b2db511 Fix the missing -lm link flag for the sqlite3 shell when building the autoconf bundle with --disable-static-shell, as reported in [forum:5adf1c932a | forum post 5adf1c932a].
FossilOrigin-Name: 80d5a9daa6b34b628d6b5ef8b852d0a29a71fda46dd797091d9cdd3342037a9c
2025-05-29 20:33:39 +00:00
drh
f766ca9ae3 Update the reuse-schema branch to version 3.50.0
FossilOrigin-Name: 4b1a38ff6bba84d54667a4a12cad1dcecc05f1c466ab55231725ecf01a99bdf8
2025-05-29 14:59:57 +00:00
drh
3f52361352 Version 3.50.0
FossilOrigin-Name: dfc790f998f450d9c35e3ba1c8c89c17466cb559f87b0239e4aab9d34e28f742
major-release version-3.50.0
2025-05-29 14:26:00 +00:00
drh
b3c1884b65 Do not use a partial index unless the WHERE clause uses one or more columns
from the table being indexed.  This resolves the issue reported by
[forum:/forumpost/a8704b30f3|forum post 2025-05-28T13:03:40Z]. Test cases
are in TH3.

FossilOrigin-Name: f037ca064daeb81cb386da2a372d8e2d2dce55a3a13bc7bea4968ca51bf2843a
2025-05-28 16:56:23 +00:00
drh
b3bcf489a4 Do not use a partial index if the truth of the WHERE clause does not depend
on at least one column from the table being indexed.

FossilOrigin-Name: cbe2a392e45d40778570656d2ef2db43e58ad6453bd9d4b936fecfd963e22736
2025-05-28 14:59:42 +00:00
drh
f08f71a21d Slight change to tool/split-sqlite3c.tcl to make it compatible with jimsh
FossilOrigin-Name: fe670ddda933007386eb10facf4048ee88671f74b1fd41dfc3120beb717b8c9e
2025-05-26 23:20:23 +00:00
drh
f96d44e5de Fix a bug in the speedtest.tcl testing script that was introduced by
[7e9845433ff26bdc]

FossilOrigin-Name: e4ffa86aa6ca82a42933281f6cbfca7bad702797eb8d6e684a1992e68dc1cfb7
2025-05-26 17:29:13 +00:00