aboutsummaryrefslogtreecommitdiff
path: root/src/btree.c
Commit message (Collapse)AuthorAge
...
* Tweaks to the new insertCellFast().drh2023-04-07
| | | FossilOrigin-Name: 203a581a9177c1083e8d5b49e8ff026af33b5c5e3e144aeda126f07a3a2953bf
* Clone insertCell() into insertCellFast() for use by sqlite3BtreeInsert() fordrh2023-04-07
| | | | | a substantial performance increase. FossilOrigin-Name: f225afd90c8e65661d8b855050f0ee1a8fe4c0f3bcec824aa5a66d906f3c7119
* Small performance improvement in freeSpace().drh2023-04-07
| | | FossilOrigin-Name: 8dc5292ee592f16451441e33ad0800ba10a21ecd63f1f9926d6915a59a1552d3
* Increase the size of the cache of free blocks inside of pageFreeArray() todrh2023-04-06
| | | | | reduce the number of calls to freeSpace(). FossilOrigin-Name: 27c59f1ea789f3ff245f23e79ded5cd71c48e3a51ffbb8c220b51101a4e69fd7
* Stronger constraint checking in allocateSpace().drh2023-04-03
| | | | | dbsqlfuzz 93d4c9ff5ef7cd29f16e767af1ee71c29ec5a4c0 FossilOrigin-Name: 9e968f4fbce061190f10f31ce9d3eb4fce6706ea6b7e5011bfa1e893d37ca68d
* Earlier detection of corruption in sqlite3BtreeDelete().drh2023-04-02
| | | | | dbsqlfuzz a4c48c291d6e40157a1b749a05eaa7c7faf5a625. FossilOrigin-Name: 978dc71c388b37740da38c310674315c7d7fe814d1daa16a146b4df71385d1e1
* Improved error messages from PRAGMA integrity_check. Identify the root ofdrh2023-04-01
| | | | | | 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
* In the b-tree module use %u instead of %d to print unsigned quantities suchdrh2023-04-01
| | | | | as page numbers and offsets. FossilOrigin-Name: 33ac62d8eec56eb71f20ccd28a5d6e4e8051522feb2db0199abee9e18ce1f64e
* Minor change to btreeNext() to facilitate coverage testing.drh2023-03-20
| | | FossilOrigin-Name: 20b3ef04d8c79e281e32676d57c7a8569fac9e782ca24337691d44d383eff7bb
* Fix a problem causing a cursor to retain an out-of-date cell-info cache when ↵dan2023-03-20
| | | | | 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
* Remove a NEVER() from btreeNext() that dbsqlfuzz ↵drh2023-03-16
| | | | | | | | 460aa158f9a2c41145831cc924296cde1f312b3f found could sometimes be reached. I will find a way to test that branch later. FossilOrigin-Name: 1dffeffe150fff6777cf26bc960326ca4e4190d25d05bb066b082d1e1c8eb374
* Performance optimization in the varint decoder for the cell parser.drh2023-02-28
| | | FossilOrigin-Name: b2b91c7cb40f1efe800059614e34823411016a3ece3f988e1574aecadd4c3114
* Split out a new variant of cellSizePtr() that applies only to leaf pages,drh2023-02-25
| | | | | for a small performance increase. FossilOrigin-Name: 22d32eef8741ae4f2aac3869465e5a7d2e33c6bc2425dd8e77f2a746e43687e8
* Remove an unnecessary and redundant corruption checks in defragmentPage().drh2023-02-25
| | | FossilOrigin-Name: 2dc7342e12e9dac2d8345d045a17caa29c26eaf6f417dd052c7c645eddd6c58c
* Add an assert() to help static analyzers.drh2023-01-27
| | | FossilOrigin-Name: e446c8b4aa2ffe075f9c289c771d62a414661c3ffe6abae5649c50af8e32fab6
* Improved progress-handler and interrupt detection during PRAGMA integrity_check.drh2023-01-11
| | | FossilOrigin-Name: 6db42780a9e530bcc94490cc6080536309666dc13523272d1799d6661137e908
* Small performance improvement in the btreeOverwriteCell() routine.drh2023-01-03
| | | FossilOrigin-Name: df5ea47130d275e9fa1bd6aa8d55f1d5e136cba30ba13b7ede22224aa7f78919
* Check-in [8d5b76593d82b3a5] contained an error that was causing some obscuredrh2022-11-28
| | | | | error codes to be lost. Fixed here. FossilOrigin-Name: 46cdd3637d6a206ad2bcf8653cc6f2c7a886a16cc7685c45967938609941a755
* Fix harmless compiler warnings.drh2022-11-28
| | | FossilOrigin-Name: 8d5b76593d82b3a57bc904ced33c24cd49369868b5dd2fe7f2c7b114f5aee2f6
* Add the SQLITE_FCNTL_RESET_CACHE verb. Use it to ensure that the page cache ↵dan2022-11-28
| | | | | is purged before and after a the recovery extension is run. FossilOrigin-Name: 6db0bc4bc0d272b610bef2aeeae43f539ed6e7cc0a9cc767d5af85ecb0019d5f
* Performance optimization and size reduction in insertCell() by omittingdrh2022-11-21
| | | | | the "pRC" argument and instead returning the result code as an integer. FossilOrigin-Name: bee94d1bb0daade023cc1e274339daafc249e1978c0765fc45042b5f9060e478
* Performance optimization to sqlite3BtreeInsert().drh2022-11-21
| | | FossilOrigin-Name: b8976ebfe03fbc1e09a38d598a62493a7f19ff7a2a3acd1ec54d0dee190471e9
* Small performance improvement in sqlite3BtreeTransferRow().drh2022-11-21
| | | FossilOrigin-Name: dab959ea3edf99788bfd76352cd46a3e56876b0e7d7008c6927aa14534853c50
* New assert()s confirm that BTREE_PREFORMAT must be the same value asdrh2022-11-19
| | | | | OPFLAG_PREFORMAT. FossilOrigin-Name: f40bf2c642643ae61d331e8d4815f601224fa258ab34344c6756966163a89f4a
* Performance optimization in sqlite3BtreeInsert().drh2022-11-19
| | | FossilOrigin-Name: 9776fa31758161970a50995a487b6543ed71e9610460b7324304ef21d9248707
* Performance improvement and size reduction in balance_nonroot().drh2022-11-19
| | | FossilOrigin-Name: 715bc81eb833ad4834d139a04085e0386c54c30d7395207e48972c4dfe5879c1
* Small performance improvement and size reduction in btree.drh2022-11-19
| | | FossilOrigin-Name: daa07149c0a0fcb6a6a1ace6020ca68802588ed309f5aaaf99c871088bc46908
* Improved comments on the pageFreeArray() routine of btree.c. No changes todrh2022-11-19
| | | | | code. FossilOrigin-Name: 0c2adc6d3547b07e950ae49f07f688f71a21b3ad5a51f16f0e8d49ab91564582
* Streamline the decodeFlags() routine in btree.c for a small performancedrh2022-11-19
| | | | | increase. FossilOrigin-Name: 4cb285210b4a2b14c80962bf2ecb35be310d3444c329c15d86b3073096455704
* Small performance optimization in btree.c.drh2022-11-19
| | | FossilOrigin-Name: f710cce13577788cf3b95ed7089c3af2854271ff53f0a0b7b0619f315e331eff
* Fix requirements marks so that they match documentation corrections.drh2022-11-07
| | | FossilOrigin-Name: 10d6189d23133006b39ea230045a918483721dd48f5558f77e57e23693097d16
* Remove an unimportant testcase() macro that is no longer reachable due to thedrh2022-11-04
| | | | | improvement in corruption detection. FossilOrigin-Name: cd7e3568a9b0c0f5ef5ca8a29c55cefe2bbad2dbc88a3718a87bb24a8ada3b7f
* Improved detection of database corrupting when moving pages on andrh2022-10-10
| | | | | | autovacuumed database when creating a new btree. dbsqlfuzz 9a55397eae13cec64aebf1fd35489c3a90bdaac5 FossilOrigin-Name: 327965bc71023d9380a9d6805062659108dab4bfcd386b7aba813754f270d33a
* Remove one of the NEVER() macros added by [5166acf3f0040459] because itdrh2022-09-30
| | | | | is reachable after all. FossilOrigin-Name: bd8ae5febbb8d3122f1e2e09b9fcdd6ac20c075ae1cf60bcdbd36080f3736417
* Add NEVER() to two error-detection tests that were made unreachable bydrh2022-09-30
| | | | | the previous check-in. FossilOrigin-Name: 5166acf3f00404597e77910aee88920ab833af8447766f50bf4f70525606cf95
* Better handle a case of database corruption where a b-tree page is one of ↵dan2022-09-30
| | | | | its own ancestor pages. FossilOrigin-Name: a24e46804893a7e6e8f3130abca882f9a3aa3b7b2b82aa39a0a20856172766d5
* Remove a NEVER macro in defragmentPage() that dbsqlfuzz discovered can bedrh2022-09-18
| | | | | true. crash-32d9312f145cdce41613573f6431d9a3e439e3d7 FossilOrigin-Name: 90403759e1cf30f7c11fa8170d6df59a0dd138e1de59d2b60bec7ba15d74f67c
* Enhance the b-tree page sorting code to ensure that sqlite3PagerRekey() neverdrh2022-08-31
| | | | | | overloads a page number and uses only the PENDING_BYTE page for temporary storage. FossilOrigin-Name: 5007742886bd20de20be3973737cf46b010359911615eb3da69cd262bd9a2435
* Ensure that every pcache page always has either the PGHDR_DIRTY or thedrh2022-08-27
| | | | | | PGHDR_CLEAN bit set, even during transient page reshuffling during btree balancing. FossilOrigin-Name: e67f03c166277951725c194674c84da61c152a5820aa6df55a726f7dda838e92
* Omit a unused variable initialization in order to suppress a harmless compilerdrh2022-07-26
| | | | | warning. FossilOrigin-Name: 2d703c5e941cac72efc21d58e1e35c446b338b2927a42f587ab788826fd7f3f1
* Very small size reduction and performance increase in btree.c.drh2022-07-07
| | | FossilOrigin-Name: 9a7c031a822246ee36bc440c7492e9c8ebeec6bc7066e56f114756b1881b2eb8
* Size reduction and performance increase in defragementPage() of btree.c.drh2022-07-07
| | | FossilOrigin-Name: 1b03f197b5572084177012a58990f8dba7ff10382ff5657fda62867a4d0b1af9
* Size reduction and performance increase in the pageFindSlot() routine ofdrh2022-07-07
| | | | | btree.c. FossilOrigin-Name: 5d247e38560b97975568e8a48324acaca1002ec2ef7fa3efc9c8aa7d83412aad
* Size reduction and performance increase in the freeSpace() routine of btree.c.drh2022-07-07
| | | FossilOrigin-Name: 7d7aed053f600659c63d8bac6d5da77879936c3fc57bfd058a4943b3bc530575
* Fix an assert() in btree to be more precise, as the previous form of thatdrh2022-07-05
| | | | | asser might fail due to recent performance optimizations. FossilOrigin-Name: 4774938134d0105423720bdc1b4e82164a1e28d993c5cd81c1b03f1f0878427e
* Remove debugging code that has always been commented out. Cosmetic change.drh2022-07-03
| | | FossilOrigin-Name: b54064170c51a2c905f98737c224e19c06dc728342ca2224e32ebeb47f803bcd
* Follow-up to check-in [0057bbb508e7662b] - ensure that the database pagedrh2022-06-19
| | | | | | | has been initialized prior to continuing with the optimization. If the page is not initialized, that indicates that the database is corrupt. dbsqlfuzz 09ee46becd5e6d1b2a55c9f8ad767335a90aadb0. FossilOrigin-Name: 11162446f12ae3af6e4a63bb5c374129b2505f6006f91d4028c7165f05fe9651
* When running an incremental vacuum, detect growth in the size of the databasedrh2022-06-15
| | | | | file (which can only occur if the file is corrupt) and fail with SQLITE_CORRUPT. FossilOrigin-Name: cd7a44124558ea6a43c89b1cba4402d7bf6a6ccb83be0eeb7dd01b56933bca73
* Fix an assert that is incorrect for a corrupt database.drh2022-05-31
| | | FossilOrigin-Name: fe0a840805b435efd38a953a8aae60e29a35289f9d9955472a8bab2bce7051c8
* Avoid an assert() failure in allocateSpace() triggered by a corrupt ↵dan2022-04-18
| | | | | database. dbsqlfuzz f022eb0ce64d27808574d1dcde5cf7d002dabde8. FossilOrigin-Name: 2de7f8cc7fe18f0828bb53f1fd11f5eb828faf4d6dfaf39693dff4f8926c1c7a