larrybr
bc91738e66
Add a C-source spell-checking facility. make misspell (on Nix)
...
FossilOrigin-Name: 26c1bb4bd9e9f56613c3aa87407a7f562fd4ebde5bfd6dece02078001d9a45f8
2023-06-07 08:40:31 +00:00
drh
2c6c98dbf0
Fix incorrect b-tree root page reports from the enhanced PRAGMA integrity_check
...
output introduced in version 3.42.0.
FossilOrigin-Name: 9b538f62539bcde7d7d7ad06eccdc558ecbd3f9160db35197568f4d3b4247c76
2023-05-18 23:25:48 +00:00
drh
a03be7987b
Fast-path the btree transaction start for the common case where a
...
transaction is already active.
FossilOrigin-Name: 798c3ff20c606b5f9fde16dc67781f238370a7c450bc239c3a98d0f4ca370399
2023-05-17 19:23:24 +00:00
drh
addc7e0e5b
In editPage(), if an attempt is made to edit an empty 64KB page, then take
...
the slow path through rebuildPage(), in order to maintain strict invariants
in the editPage() code.
[forum:/forumpost/0f37727c0d|Forum post 0f37727c0d].
FossilOrigin-Name: a865e574e510c1ca192d0bd5293fb583def90f7ed086af2c89ca856ce93d115b
2023-05-08 13:38:14 +00:00
drh
f9b58eb4f8
Fix harmless compiler warnings.
...
FossilOrigin-Name: 342af5b4fa0bd7c699e5497161db13d0cf795c7a5875ae30d666122e518f213b
2023-05-01 20:42:15 +00:00
drh
a9c4c82ef1
Fix an incorrect assert() statement in btree.c as found by
...
[forum:/info/d03345d572713fe6|forum post d03345d572713fe6].
FossilOrigin-Name: cd485b302c54aef066d751a153df34eea0cd23e54a414e291f636ad9929fe78a
2023-04-22 12:47:16 +00:00
drh
ed36917835
New assert() statements to validate the parameters to
...
sqlite3BtreeCursorHint(). Fix a problem with the construction of those
parameters discovered by
[forum:/forumpost/0b53708c95|forum post 0b53708c95].
FossilOrigin-Name: 4c5a3c5fb351cc1c2ce16c33314ce19c53531f09263f87456283d9d756002f9d
2023-04-10 18:44:00 +00:00
drh
65aae44b87
Guard against oversized cells in the newly enhanced pageFreeArray().
...
FossilOrigin-Name: 2dcdbb50356edbd3a79e53fa0bee4e700c2bdea78e27173b62ddabe44b066726
2023-04-07 18:27:32 +00:00
drh
3da5e2a9f3
Add NEVER on an unreachable branch.
...
FossilOrigin-Name: 9b3febbd988be05807ada20146d3e196ae17c966722fff049feb32292157bff2
2023-04-07 16:30:33 +00:00
drh
81e31c9c2b
Fix an assert().
...
FossilOrigin-Name: 7eff46ba97dd8a3d6a5d01d5d61e98a2805deceafa47335eded7d784a8304525
2023-04-07 15:49:42 +00:00
drh
706c33d9ba
Tweaks to the new insertCellFast().
...
FossilOrigin-Name: 203a581a9177c1083e8d5b49e8ff026af33b5c5e3e144aeda126f07a3a2953bf
2023-04-07 15:07:58 +00:00
drh
34ceb7e622
Clone insertCell() into insertCellFast() for use by sqlite3BtreeInsert() for
...
a substantial performance increase.
FossilOrigin-Name: f225afd90c8e65661d8b855050f0ee1a8fe4c0f3bcec824aa5a66d906f3c7119
2023-04-07 14:33:33 +00:00
drh
b39f037ca5
Small performance improvement in freeSpace().
...
FossilOrigin-Name: 8dc5292ee592f16451441e33ad0800ba10a21ecd63f1f9926d6915a59a1552d3
2023-04-07 13:21:20 +00:00
drh
50dc8d9720
Increase the size of the cache of free blocks inside of pageFreeArray() to
...
reduce the number of calls to freeSpace().
FossilOrigin-Name: 27c59f1ea789f3ff245f23e79ded5cd71c48e3a51ffbb8c220b51101a4e69fd7
2023-04-06 20:14:10 +00:00
drh
d8c34e3311
Stronger constraint checking in allocateSpace().
...
dbsqlfuzz 93d4c9ff5ef7cd29f16e767af1ee71c29ec5a4c0
FossilOrigin-Name: 9e968f4fbce061190f10f31ce9d3eb4fce6706ea6b7e5011bfa1e893d37ca68d
2023-04-03 12:33:12 +00:00
drh
af33654533
Earlier detection of corruption in sqlite3BtreeDelete().
...
dbsqlfuzz a4c48c291d6e40157a1b749a05eaa7c7faf5a625.
FossilOrigin-Name: 978dc71c388b37740da38c310674315c7d7fe814d1daa16a146b4df71385d1e1
2023-04-02 16:43:20 +00:00
drh
e5ea81ae85
Improved error messages from PRAGMA integrity_check. Identify the root of
...
the tree when a problem is found in a b-tree, making it easier to track the
problem to a specific table or index.
FossilOrigin-Name: a1cb152e69c7c6cdd99300c91a8104716089de459d9d19e33ef38432aad70908
2023-04-01 13:14:53 +00:00
drh
2e89f1cdeb
In the b-tree module use %u instead of %d to print unsigned quantities such
...
as page numbers and offsets.
FossilOrigin-Name: 33ac62d8eec56eb71f20ccd28a5d6e4e8051522feb2db0199abee9e18ce1f64e
2023-04-01 12:22:57 +00:00
drh
1eca5b5a40
Minor change to btreeNext() to facilitate coverage testing.
...
FossilOrigin-Name: 20b3ef04d8c79e281e32676d57c7a8569fac9e782ca24337691d44d383eff7bb
2023-03-20 18:35:48 +00:00
dan
bb130c9223
Fix a problem causing a cursor to retain an out-of-date cell-info cache when processing a DISTINCT query on values that are identical according to their collation sequence, but different on disk. [forum:/forumpost/e132e6cde44fb505|Forum post e123e6cde4].
...
FossilOrigin-Name: 1b3abc1daeac29714256b5a1d5a07a75dc986f1089054a8bee44a00583b7383a
2023-03-20 14:59:19 +00:00
drh
5531316dd0
Remove a NEVER() from btreeNext() that dbsqlfuzz 460aa158f9a2c41145831cc924296cde1f312b3f
...
found could sometimes be reached. I will find a way to test that branch
later.
FossilOrigin-Name: 1dffeffe150fff6777cf26bc960326ca4e4190d25d05bb066b082d1e1c8eb374
2023-03-16 09:07:46 +00:00
drh
485a92cbb9
Performance optimization in the varint decoder for the cell parser.
...
FossilOrigin-Name: b2b91c7cb40f1efe800059614e34823411016a3ece3f988e1574aecadd4c3114
2023-02-28 12:31:40 +00:00
drh
2d7829057e
Split out a new variant of cellSizePtr() that applies only to leaf pages,
...
for a small performance increase.
FossilOrigin-Name: 22d32eef8741ae4f2aac3869465e5a7d2e33c6bc2425dd8e77f2a746e43687e8
2023-02-25 16:03:28 +00:00
drh
20e09ba6a8
Remove an unnecessary and redundant corruption checks in defragmentPage().
...
FossilOrigin-Name: 2dc7342e12e9dac2d8345d045a17caa29c26eaf6f417dd052c7c645eddd6c58c
2023-02-25 15:34:09 +00:00
drh
f92b006a6e
Add an assert() to help static analyzers.
...
FossilOrigin-Name: e446c8b4aa2ffe075f9c289c771d62a414661c3ffe6abae5649c50af8e32fab6
2023-01-27 20:15:48 +00:00
drh
5dd74bf384
Improved progress-handler and interrupt detection during PRAGMA integrity_check.
...
FossilOrigin-Name: 6db42780a9e530bcc94490cc6080536309666dc13523272d1799d6661137e908
2023-01-11 16:17:31 +00:00
drh
1eb88d6e5a
Small performance improvement in the btreeOverwriteCell() routine.
...
FossilOrigin-Name: df5ea47130d275e9fa1bd6aa8d55f1d5e136cba30ba13b7ede22224aa7f78919
2023-01-03 15:11:01 +00:00
drh
d3fc2e63aa
Check-in [8d5b76593d82b3a5] contained an error that was causing some obscure
...
error codes to be lost. Fixed here.
FossilOrigin-Name: 46cdd3637d6a206ad2bcf8653cc6f2c7a886a16cc7685c45967938609941a755
2022-11-28 21:17:30 +00:00
drh
5b046dadfc
Fix harmless compiler warnings.
...
FossilOrigin-Name: 8d5b76593d82b3a57bc904ced33c24cd49369868b5dd2fe7f2c7b114f5aee2f6
2022-11-28 20:08:15 +00:00
dan
1b3d13e65e
Add the SQLITE_FCNTL_RESET_CACHE verb. Use it to ensure that the page cache is purged before and after a the recovery extension is run.
...
FossilOrigin-Name: 6db0bc4bc0d272b610bef2aeeae43f539ed6e7cc0a9cc767d5af85ecb0019d5f
2022-11-28 18:41:41 +00:00
drh
b53d8fa9f2
Performance optimization and size reduction in insertCell() by omitting
...
the "pRC" argument and instead returning the result code as an integer.
FossilOrigin-Name: bee94d1bb0daade023cc1e274339daafc249e1978c0765fc45042b5f9060e478
2022-11-21 15:55:57 +00:00
drh
e7d5384418
Performance optimization to sqlite3BtreeInsert().
...
FossilOrigin-Name: b8976ebfe03fbc1e09a38d598a62493a7f19ff7a2a3acd1ec54d0dee190471e9
2022-11-21 14:13:10 +00:00
drh
d01dee5e6a
Small performance improvement in sqlite3BtreeTransferRow().
...
FossilOrigin-Name: dab959ea3edf99788bfd76352cd46a3e56876b0e7d7008c6927aa14534853c50
2022-11-21 13:35:00 +00:00
drh
ecba10730d
New assert()s confirm that BTREE_PREFORMAT must be the same value as
...
OPFLAG_PREFORMAT.
FossilOrigin-Name: f40bf2c642643ae61d331e8d4815f601224fa258ab34344c6756966163a89f4a
2022-11-19 20:10:55 +00:00
drh
5a1d659d79
Performance optimization in sqlite3BtreeInsert().
...
FossilOrigin-Name: 9776fa31758161970a50995a487b6543ed71e9610460b7324304ef21d9248707
2022-11-19 19:37:26 +00:00
drh
16635fa777
Performance improvement and size reduction in balance_nonroot().
...
FossilOrigin-Name: 715bc81eb833ad4834d139a04085e0386c54c30d7395207e48972c4dfe5879c1
2022-11-19 18:43:32 +00:00
drh
47de1f9e19
Small performance improvement and size reduction in btree.
...
FossilOrigin-Name: daa07149c0a0fcb6a6a1ace6020ca68802588ed309f5aaaf99c871088bc46908
2022-11-19 18:17:40 +00:00
drh
1e62057436
Improved comments on the pageFreeArray() routine of btree.c. No changes to
...
code.
FossilOrigin-Name: 0c2adc6d3547b07e950ae49f07f688f71a21b3ad5a51f16f0e8d49ab91564582
2022-11-19 14:18:48 +00:00
drh
bf9b994f52
Streamline the decodeFlags() routine in btree.c for a small performance
...
increase.
FossilOrigin-Name: 4cb285210b4a2b14c80962bf2ecb35be310d3444c329c15d86b3073096455704
2022-11-19 13:09:03 +00:00
drh
85728a21c6
Small performance optimization in btree.c.
...
FossilOrigin-Name: f710cce13577788cf3b95ed7089c3af2854271ff53f0a0b7b0619f315e331eff
2022-11-19 00:22:12 +00:00
drh
da01757870
Fix requirements marks so that they match documentation corrections.
...
FossilOrigin-Name: 10d6189d23133006b39ea230045a918483721dd48f5558f77e57e23693097d16
2022-11-07 12:21:06 +00:00
drh
881f0f4114
Remove an unimportant testcase() macro that is no longer reachable due to the
...
improvement in corruption detection.
FossilOrigin-Name: cd7e3568a9b0c0f5ef5ca8a29c55cefe2bbad2dbc88a3718a87bb24a8ada3b7f
2022-11-04 12:59:04 +00:00
drh
005c9d8295
Improved detection of database corrupting when moving pages on an
...
autovacuumed database when creating a new btree.
dbsqlfuzz 9a55397eae13cec64aebf1fd35489c3a90bdaac5
FossilOrigin-Name: 327965bc71023d9380a9d6805062659108dab4bfcd386b7aba813754f270d33a
2022-10-10 12:02:53 +00:00
drh
7bc6a818f0
Remove one of the NEVER() macros added by [5166acf3f0040459] because it
...
is reachable after all.
FossilOrigin-Name: bd8ae5febbb8d3122f1e2e09b9fcdd6ac20c075ae1cf60bcdbd36080f3736417
2022-09-30 22:40:57 +00:00
drh
0a803bd984
Add NEVER() to two error-detection tests that were made unreachable by
...
the previous check-in.
FossilOrigin-Name: 5166acf3f00404597e77910aee88920ab833af8447766f50bf4f70525606cf95
2022-09-30 20:48:22 +00:00
dan
ad658b2d82
Better handle a case of database corruption where a b-tree page is one of its own ancestor pages.
...
FossilOrigin-Name: a24e46804893a7e6e8f3130abca882f9a3aa3b7b2b82aa39a0a20856172766d5
2022-09-30 20:15:21 +00:00
drh
bcdb4cc71b
Remove a NEVER macro in defragmentPage() that dbsqlfuzz discovered can be
...
true. crash-32d9312f145cdce41613573f6431d9a3e439e3d7
FossilOrigin-Name: 90403759e1cf30f7c11fa8170d6df59a0dd138e1de59d2b60bec7ba15d74f67c
2022-09-18 17:59:28 +00:00
drh
9c3a114ca0
Enhance the b-tree page sorting code to ensure that sqlite3PagerRekey() never
...
overloads a page number and uses only the PENDING_BYTE page for temporary
storage.
FossilOrigin-Name: 5007742886bd20de20be3973737cf46b010359911615eb3da69cd262bd9a2435
2022-08-31 15:04:42 +00:00
drh
f6e3e31625
Ensure that every pcache page always has either the PGHDR_DIRTY or the
...
PGHDR_CLEAN bit set, even during transient page reshuffling during btree
balancing.
FossilOrigin-Name: e67f03c166277951725c194674c84da61c152a5820aa6df55a726f7dda838e92
2022-08-27 14:43:34 +00:00
drh
1dd1303600
Omit a unused variable initialization in order to suppress a harmless compiler
...
warning.
FossilOrigin-Name: 2d703c5e941cac72efc21d58e1e35c446b338b2927a42f587ab788826fd7f3f1
2022-07-26 15:41:34 +00:00