drh
acc213b42f
Improve the integrity-check error message when floating point index values
...
are off by one or two ULPs. Change the name of the eiib1.test test module
to expridx1.test.
FossilOrigin-Name: 4e996c183ea8d270b4448b471d4d032e13cef89f537674599d1e7c367cc2d0f8
2026-03-18 15:51:15 +00:00
drh
1539575e05
Take care not to overread the record header when decoding the record
...
in vdbeIsMatchingIndexKey().
FossilOrigin-Name: 3a275b5848767b61011b9d1d3d1a62328a80906386375d1b1e13fd92b6983e05
2026-03-18 14:47:20 +00:00
dan
f0648f6924
Pad the allocation in vdbeIsMatchingKey() a little to avoid undefined behaviour if the record is corrupt and getVarint32() reads past the end of it.
...
FossilOrigin-Name: 9b0671a4f58098948d530f5e238b483a0e9f1309021aff0d6b5ea90e6c8f4e7b
2026-03-18 14:01:21 +00:00
drh
15a3b2d4e1
Adjust the fix at [f7389cdb129d3386] so that integrity_check output still
...
appears prior to the SQLITE_CORRUPT return.
FossilOrigin-Name: efd9a7a6c862f778da9cd74e38f674e5d1094aa1c566ea3e68553e83f59502d3
2026-03-18 13:49:06 +00:00
drh
765ff2189a
Simplification to the logic that decides whether or not an index
...
field matches when floating point values are close but not exact.
FossilOrigin-Name: 3897017c0e871c676d44786a6f11205fd4b7a947d9d1359109037a123eda6b9b
2026-03-18 12:36:01 +00:00
drh
3ca448dee5
Fix harmless signed/unsigned compiler warnings.
...
FossilOrigin-Name: aa211fa1d49b6734913e957f9e4b9825709a1493d275f7dfaf9123dc8c7232dc
2026-03-18 11:15:57 +00:00
dan
3f2d7d4aaa
Fix some cases where integrity-check would fail to identify real values in indexed expressions that are with 2 ULPs of each other.
...
FossilOrigin-Name: 40c5966f7b784f181365c81fc559aee9463c374ee56677cf6e0aecaed39d2b28
2026-03-18 11:06:10 +00:00
drh
00989bcd9f
Fix harmless "unused variable" compiler warning.
...
FossilOrigin-Name: 3380eb1ea71d6bf8325dbe49f4bac7623b3b6193f3b36dedd9411188cfc80b89
2026-03-18 11:04:15 +00:00
dan
362b9cecdb
Modify integrity-check so that it is only tolerant of very small distortions of real values in indexed expression fields.
...
FossilOrigin-Name: 82e6de835bde306778425d18ab1a15ae80fdf01af7f577ead89c09f9d53b5b2f
2026-03-17 21:17:42 +00:00
drh
f4e6483cda
Improved error handling in OP_IFindKey and in vdbeIsMatchingIndexKey().
...
FossilOrigin-Name: f7389cdb129d3386b7dfb8acacf84816cf10864c6800a9bd9a61c6364b850a31
2026-03-17 18:55:24 +00:00
dan
ae2820ab28
When integrity-check finds a missing index entry, search a small range (currently 10) of entries around the missing key for an entry that matches all non-virtual and non-expression fields.
...
FossilOrigin-Name: 978cedcbd33165dadc7dffc118bde359eff6751ec9842230880cb827d9f7845f
2026-03-17 17:05:45 +00:00
drh
bdbad43f33
Do not run index healing on an invalid cursor.
...
FossilOrigin-Name: eb6403f02c113f58030c0b4143d91b6327ee21dcb324d3f235c2bf6bf3d6577c
2026-03-17 13:13:02 +00:00
drh
d6965b1dab
Merge recent trunk enhancements into the idxdelete-tolerance branch
...
FossilOrigin-Name: 9d84fdb7819a9850919e2c1977811bcf514b3baad29eb8cc9fc78451d500c8b6
2026-03-17 12:16:47 +00:00
drh
ccf2babd42
Fix an assertion fault that could occur in RTree when given a corrupt
...
database.
FossilOrigin-Name: ed29fe973e6cbf291eff6fc582aeb34556ea4f8df105ec61b361e4cdda017e62
2026-03-17 12:07:49 +00:00
dan
2953e950c8
Fix display of P4_INDEX values in EXPLAIN output.
...
FossilOrigin-Name: e717017f0213441da2ef8a9e1f1e88ebfdefa26fc4773711968417c0bd6ebe5f
2026-03-17 11:26:57 +00:00
dan
8736da94bc
Fix compiler warning an inefficiency introduced by previous commit.
...
FossilOrigin-Name: 03058d73d3a88ab30e874b4231cc5b263b874a577f8bf5189a452d7376e25a47
2026-03-17 11:22:51 +00:00
drh
b302c4d39c
Typo fix in sqlite3Multiply128(): The datatype should be *unsigned*.
...
FossilOrigin-Name: b459f6ff63325f71d4056dad2ebb536e0d414c973f3c6e167e8f67e94e6f0e2d
2026-03-17 11:19:16 +00:00
dan
022f2f96bc
Change the sqlite3VdbeFindDeleteKey() routine so that all index fields that are not expressions or virtual columns must match the table for the delete to succeed.
...
FossilOrigin-Name: eccd9fcfa7e34ddcdeb671544c6afac7aa0d4665c5e1df7c8e53c41387ed0386
2026-03-17 11:17:54 +00:00
drh
5a73386511
Fix a harmless compiler warning.
...
FossilOrigin-Name: aa23d6cc69471eacb3fb0d789c34169e047e4a09a50beb430eb8e8e63b5bce78
2026-03-17 10:19:11 +00:00
drh
1c1f7c259e
Merge trunk enhancements into the idxdelete-tolerance branch
...
FossilOrigin-Name: 5f5ab3eb3618b6a2799355df50bfdf94121161f7cadba6253963036d9f284f08
2026-03-17 09:53:02 +00:00
drh
cf93c51790
Enhance text→float conversions for exact rounding in all cases.
...
FossilOrigin-Name: 704ddfd0df57c2b137af88264df20a540e3f8f114a58ae5e31b40ab8259bb63e
2026-03-17 09:49:07 +00:00
drh
b50ce08591
Include the float-point table generator utility in the tools directory.
...
FossilOrigin-Name: 4ab10b251d870af8297b9e505452393f6000f83784c822ff128e7aec06f8c72f
2026-03-17 09:45:47 +00:00
drh
e9018e5ff5
Reorder bounds checking in sqlite3Fp10Convert2()
...
FossilOrigin-Name: 23ad656edb3a63e7e6602770e1f2c4a5ef1f3d41565e7f13408b5305619dfa3d
2026-03-17 09:18:36 +00:00
dan
4cc023bd01
Remove a couple of unused variables.
...
FossilOrigin-Name: f66cb3dc275d3f31e57576466e697a6c7c5179144babab08d75b624e9846ecc3
2026-03-16 19:14:07 +00:00
dan
f6308e68ff
Further tests for the code on this branch.
...
FossilOrigin-Name: f928a38091977268aa6a096104797158883ed89b9e026b4e4b98b9b5da967de1
2026-03-16 16:44:14 +00:00
dan
066a5bcdd7
If OP_IdxDelete cannot find an index entry to delete, first search 10 entries in either direction of where the entry should be in the index. If that fails, search the entire index for an entry with matching PK fields.
...
FossilOrigin-Name: 2cb9f4e4178549144acd82e317a1646e71c9281ac9fc4aa26bf129f1068ded45
2026-03-16 16:21:43 +00:00
dan
b2006499c7
Fix a problem with the find-delete-key method on this branch.
...
FossilOrigin-Name: 6f49b5ecad5d924999d045a1ade93d95e731182be1781aefa5bc763b6202e9c3
2026-03-16 15:49:58 +00:00
drh
bf057073c3
Rework the ".indexes" command of the CLI. (1) The PATTERN now matches
...
the name of the index itself, not the name of the table containing
the index, thus making the pattern actually useful. (2) System-generated
indexes (for UNIQUE constraints and similar) are omitted unless
the -a|-all or --sys options are added. (3) The --expr option causes
only expression indexes to be shown.
FossilOrigin-Name: 13e2cad810bfd59a9e18eb38bda1241715b76756ffec7d617e9ce99b89f19284
2026-03-16 15:35:41 +00:00
dan
d21413adcb
Make OP_IdxDelete tolerant of small variations in index key values.
...
FossilOrigin-Name: c4b0081f08bd0458dbcf269b43a4051941eec8067393aa8e6810d4b8422ce44a
2026-03-16 15:16:13 +00:00
dan
061459bf76
Properly fix temp triggers created as part of FK processing to their schemas. Otherwise they may become confused by similarly named child tables in other attached databases. Fix for forum post [forum:636bd0180a | 636bd0180a].
...
FossilOrigin-Name: 80bc5bc07e221f837c28066f0a438f11c8ab6be4c8ba93615439eb1667967003
2026-03-16 11:14:26 +00:00
drh
a6640846dd
Improve accuracy of text→floating-point conversions by moving
...
from 64-bit to 96-bit approximations to powers of ten.
FossilOrigin-Name: a19c0785dcfb9fb74963c45b161b12ac8f4379e2b990f6c5de0d7b959c5be98d
2026-03-16 09:40:12 +00:00
stephan
7539d2f1ba
Add a missing return for the invalid arguments error case in sqlite3_test_control_fault_install. No current scripts trigger this error.
...
FossilOrigin-Name: dc78d258745a1350685b37da56f0a2ac2e437b422415d634522dc61d340d06eb
2026-03-14 16:30:13 +00:00
drh
0f08d9586c
Changes some legacy testing targets in the makefiles into aliases for
...
"devtest" and "releasetest"
FossilOrigin-Name: 4c54f22f7abbf5403e554fbf3dd70ddee97352d7de1f7fe19f540bdf681f4e75
2026-03-13 15:03:55 +00:00
stephan
6c446015bd
Update the canonical JimTcl home page link (it was moved earlier today).
...
FossilOrigin-Name: 568573f872733bf32c2fde6a3a43100bdac17fc762e5c9a6d7a47b988fdcea4e
2026-03-12 08:33:14 +00:00
stephan
9e572064f3
Replace several comment-based switch-fall-through notices with attribute based ones, as suggested in [forum:b6ab8dc547|forum post b6ab8dc547].
...
FossilOrigin-Name: 2b0209a3bd3fb19af424386dcd13ff49a0c86edfd5d283fd5e5c42c266872100
2026-03-11 15:17:14 +00:00
drh
169f68ed88
Improved defenses against mischief.
...
FossilOrigin-Name: 8bdc0d485e3ad0c7a1e818da66f106951d496b05cbe61d12c2c448f2f24b6d5d
2026-03-11 14:43:29 +00:00
drh
c739d13217
Fix harmless compiler warnings.
...
FossilOrigin-Name: d7b4a4a3d3d6296a012cc14fc2d95fe810b5bdb625209a2d28bf2c7a026749bf
2026-03-10 22:43:39 +00:00
drh
3bd23b0d78
Fix the behavior dot-commands that appear as command line arguments to the
...
CLI so that their effect persists into subsequent commands on the command
line. This fix also improves error messages caused by command line
arguments.
[forum:/forumpost/2026-03-10T19:26:06z|Forum post 2026-03-10T19:26:06z].
FossilOrigin-Name: ff084ae341eab5c4ce9403defee03adc448c05f77648a954f0942a38f640080b
2026-03-10 21:01:59 +00:00
drh
abc82c49c2
Revamp the QRF insert-mode optimization of [659ff6ab55802507]. The
...
control value is now nMultiInsert. Multiple rows are added to each INSERT
statement until the number of bytes in that statement exceeds the
nMultiInsert value. The CLI uses a default value of 3000, which provides
a good balance between speed and prepare-statement size. The output
from ".dump" now loads nearly 2x faster in some cases.
FossilOrigin-Name: 55b0ce9f93d68b17a18423f0f751b778573127743a2bac67abfea074ac32d41a
2026-03-10 18:13:13 +00:00
drh
bd10a18f00
Bug fix to the ".dump" command in the CLI: Temporarily disable character
...
limit to QRF so as not to truncate values in the generated output.
FossilOrigin-Name: f6787e4b50af50663d8fa00ebe0694440354a7ad0509837a6b249e090e6cffca
2026-03-10 15:43:57 +00:00
drh
efa8633fd8
Enhance QRF with the mxTuple field, which if greater than 1 causes the
...
QRF_STYLE_Insert style to group as many as mxTuple adjacent rows into
a single INSERT statement. The field is accessible using the -mxtuple
option in the TCL interface, and the --mxtuple option in ".mode". The
output of the ".dump" and ".fullschema" commands responds to the current
--mxtuple setting.
FossilOrigin-Name: 659ff6ab5580250707908af003ecd093bd5313f03f21f0efd000a7aff6638b3c
2026-03-10 14:02:03 +00:00
drh
140cbff0d2
Remove an obsolete pragraph from the header comment on the fileio.c extension.
...
FossilOrigin-Name: 17613b72f34162ce22864621c519e883930c9f51a0a86afbf30ce664f95d7be1
2026-03-09 14:04:34 +00:00
drh
e795890d7e
In QRF, fix line-wrap indentation for "line" mode when using a
...
non-standard column separator.
FossilOrigin-Name: 00c96cca3de709e40207feb9c10a94e38e7857c9bc01938849c6c5daee7148c7
2026-03-09 13:53:58 +00:00
dan
5ed6e4ccd1
Fix a problem with RIGHT JOIN and expressions on indexes. [forum:e3dba5426a | Forum post e3dba5426a].
...
FossilOrigin-Name: f27d578edac06eb28739f23351ab1cf07531bc7b32f4077e4dc9c8166f551d95
2026-03-09 11:49:51 +00:00
drh
016a0ebedc
Fix the completion.c TVF so that the xNext method reports errors it encounters
...
while running queries.
FossilOrigin-Name: eebcdcceef8a436e5fb1397cad6eb5bcf0722060fe1cd6acb26cdf1e86f07293
2026-03-08 19:31:40 +00:00
drh
456c7ea715
In the decimal.c extension, set a default MAX_DIGITS to 100 million.
...
Do not allow integer overflow of the N parameter to the internal
decimal_round() function.
FossilOrigin-Name: d0e23423d1bdd0482db4b74ef0fde2fbc2bbad02a7b92ba45a27ca57f4740e16
2026-03-08 18:50:35 +00:00
stephan
5236bad923
Consolidate the opfs and opfs-wl tester1 tests using the preprocessor.
...
FossilOrigin-Name: 77846c8c7aa4625729a5e113c12e7d16efc88c1306c01ba36f47240aac450b0f
2026-03-08 17:07:01 +00:00
stephan
46a692c08b
Upgrade ext/wasm/c-pp-lite.c to its newer sibling because we've reached the older one's limits. This renames c-pp-lite.c to libcmpp.c to maintain both the SCM- and code lineage but that may end up looking a bit weird because the diff between the two is vast.
...
FossilOrigin-Name: 2e2339bd9e4293bad04ece7673a3048b99c2143cf9573ade2ec082d95744b981
2026-03-08 16:03:08 +00:00
stephan
02cbc96d09
JS doc updates.
...
FossilOrigin-Name: 699295f84ef2c4da363f13126abde6af07697d0959896cd868b14513d4278964
2026-03-08 12:42:34 +00:00
drh
1eb335e313
Increase the version number on trunk to 3.53.0
...
FossilOrigin-Name: 0152b445ff0cdf560fc028938e1d43a56685d7c046fad84fa90166cd01d71279
2026-03-08 10:51:47 +00:00