aboutsummaryrefslogtreecommitdiff
path: root/src/btree.c
Commit message (Collapse)AuthorAge
...
| * Change the way that balance_nonroot() partitions cells between the siblingdrh2015-06-22
| | | | | | | | | | pages such that a scan of the cell size array is not required. FossilOrigin-Name: 168728715156d756ac8c0df45710d054eee027ec
| * Fix corner cases involving corrupt varint values in record headers.drh2015-06-19
| | | | | | FossilOrigin-Name: 3189116b42c5ecef5e30c8b317f4458bbf8b9086
| * Performance improvements in btreeParseCell() by inlining the varint decoder.drh2015-06-19
| | | | | | FossilOrigin-Name: faab0ed928074f3ec7c25e1a2058414fbd9b013c
| * Add the MemPage.xParseCell method and provide various implementationsdrh2015-06-19
| | | | | | | | | | (variations on the former btreeParseCellPtr()) depending on the page type. FossilOrigin-Name: 41d03d883c4f7ca279eb9dd679f3ab81c8d957d9
| * Make cellSizePtr() a method on the MemPage object, with alternativedrh2015-06-19
| | | | | | | | | | | | implementations depending on the page type. This results is a small performance improvement and size reduction. FossilOrigin-Name: 02f7e9d7d7b93d0b6bbd6cc0d0359b3b741b9931
| * Make getCellInfo() a real function instead of a macro, for a size reductiondrh2015-06-17
| | | | | | | | | | and a 0.2% performance gain. FossilOrigin-Name: 55c393ea14197ae5fa56ebca7a47e7d980511fa7
| * Fix a harmless comment typo. No code changes.drh2015-06-15
| | | | | | FossilOrigin-Name: ae6876521819e7a8ce473c8f96617cba35e2156d
| * Improved detection of database corruption in freeSpace().drh2015-06-15
| | | | | | FossilOrigin-Name: 29bcb56887f862a1f06677a7b4bfae6475d29732
| * Always check for cell overflow before returning a slot from thedrh2015-06-02
| | | | | | | | | | pageFindSlot routine in btree.c. FossilOrigin-Name: 9f035c45a4b84203e67b6e1b23cf11691dc43f1e
| * Fix a faulty assert() in btree.c. Update the database fuzz test file withdrh2015-06-02
| | | | | | | | | | new test cases. FossilOrigin-Name: 4e621af1345a001360938de76e3b0a14deb5e991
| * Ensure that allocateBtreePage() always clears the MemPage pointer whendrh2015-05-29
| | | | | | | | | | it fails due to an I/O or memory allocation error. FossilOrigin-Name: 09a38bf665902834936d39341627ded88142e6ae
| * Move two unreachable conditionals inside of NEVER() or assert().drh2015-05-29
| | | | | | FossilOrigin-Name: db4e9728fae5f7b0fad6aa0a5be317a7c9e7c417
| * Remove a corruption test in balance_nonroot that is superceded by a priordrh2015-05-29
| | | | | | | | | | better check. FossilOrigin-Name: 00693682d8664fa608ba43684f6376a9bd5b84eb
| * Added comments and testcase() macros to error cases in the btree search.drh2015-05-28
| | | | | | FossilOrigin-Name: 7da7dc714bf1fe34b38fc33a923490dfd3e4f070
| * Earlier detection of incompatible sibling pages in balance_nonroot.drh2015-05-28
| | | | | | FossilOrigin-Name: 60a09f17d8b70dbc4b020586a1b81bce76882729
| * Add the btreeGetUnusedPage() routine to btree.c, and use it to detect contentdrh2015-05-28
| | | | | | | | | | pages on the freelist and to cause that condition to trigger an SQLITE_CORRUPT. FossilOrigin-Name: fe15d1f70360d6fef8ef1a111dd43e060d059623
| * All bytes of a page are initialized, even bytes that follow a 2-byte celldrh2015-05-27
| | | | | | | | | | on a malformed page. FossilOrigin-Name: 7373a004ed0e2781cda503c73e9a94f24350ef79
| * A different approach to preventing buffer overreads when comparing a vectordrh2015-05-27
| |\ | | | | | | | | | | | | of values with a corrupt index record that spans at least one overflow page. FossilOrigin-Name: 95eaa49f4ee071c7a0f690a695f1f2d1ebca68a8
| | * A different approach to preventing buffer overreads when comparing a vector ↵dan2015-05-27
| | | | | | | | | | | | | | | of values with a corrupt index record that spans at least one overflow page. FossilOrigin-Name: 7e9e1b6123bc455dd7d1c894b6154ccd27acec18
| * | Add the "PRAGMA cell_size_check=ON" command.drh2015-05-27
| |/ | | | | FossilOrigin-Name: 2ead43f074d01312c7642e1df9abccc95547f019
| * Avoid a buffer overread when comparing against a corrupt record that spans ↵dan2015-05-26
| | | | | | | | | | at least one overflow page. FossilOrigin-Name: 62a5b3633a086694ef0e579a0a82322cb1ae3d60
| * Add a cast to one side of the test added by [97806a78] in order to avoid a ↵dan2015-05-26
| | | | | | | | | | signed/unsigned comparison warning. FossilOrigin-Name: 5b46d2a78a45de4176b666bfc89c2aaa6f083662
| * Return SQLITE_CORRUPT to the user if an attempt is made to add database page ↵dan2015-05-26
| | | | | | | | | | 1 to the free page list. FossilOrigin-Name: 68876003f922635737349f55bc73a78891ea7028
| * Fix a case of a corrupt database causing SQLite to read from up to 4 bytes ↵dan2015-05-25
| | | | | | | | | | before the start of a memory allocation. FossilOrigin-Name: 7d2c4f7b6695806ab8ce0c6f49d8bc1d77a4320b
| * Have the b-tree layer return SQLITE_CORRUPT to any attempt to open a cursor ↵dan2015-05-25
| | | | | | | | | | with a root page number less than 1. FossilOrigin-Name: aa18c8e9d1676b1caa53bc5f5c1dc5f201089b88
| * Fix a couple of btree asserts that would fail when encountering 32-bit ↵dan2015-05-25
| | | | | | | | | | rollover in cell payload size fields (cell payloads this large always indicate corruption). FossilOrigin-Name: 8fa0937a2f3476dd280259e252d6f422c33d38ee
| * Fix a case where database corruption may cause SQLite to write past the end ↵dan2015-05-25
| | | | | | | | | | of a buffer. FossilOrigin-Name: 97806a78142b15f89878e25ee70dc5b0524d6793
| * Fix an assert() in btree routine freeSpace() that may be false if the ↵dan2015-05-25
| | | | | | | | | | database is corrupt. FossilOrigin-Name: 00a473c56188cd60a74559effb114140e3fe8a8d
| * The assert() changes removed in the previous check-in are needed after all.drh2015-05-24
| | | | | | FossilOrigin-Name: 336fccc84cd7b770c9c3720efc9976269096232e
| * Better detection of corruption in allocateSpace() in btree.c.drh2015-05-24
| | | | | | FossilOrigin-Name: bf7bb53ee2485a5342916d514d6c7291eb84c5f1
| * Detect database corruption in the modifyPagePointer() routine and abort.drh2015-05-24
| | | | | | FossilOrigin-Name: 4f0bba42f904e505900be67b00179ebb1f24ed03
| * Instead of early detection of corruption in balance_nonroot, simply ignoredrh2015-05-23
| | | | | | | | | | the error, as it is harmless and exceedingly uncommon. FossilOrigin-Name: 7bbf9b3cd6ebf103ebd8347579aef721d0dcd2dc
| * Earlier detection of a specific kind of corruption in the balance_nonroot()drh2015-05-23
| | | | | | | | | | routine. FossilOrigin-Name: ee6dc9913a8733891576e6e298241f7440209c5e
| * Fix another bad assert() in btree - one that can be false on a corrupt databasedrh2015-05-22
| | | | | | | | | | file. FossilOrigin-Name: 89f0bbfde4d86a7b15e93aab9c487b4355c6fb2d
| * Fix two faulty assert statements discovered by fuzzing.drh2015-05-22
| | | | | | FossilOrigin-Name: 799817bfb2bc95963c0e0d70063c4cb15c94ef74
| * Fix an assert in btree.c that can be false when using a corrupted databasedrh2015-05-22
| | | | | | | | | | file. FossilOrigin-Name: a6eb2a39357c35dc13d549ef86c785ff5c69938a
| * Fix a faulty assert() in the btree part of the "PRAGMA page_size = ?" code.dan2015-05-05
| | | | | | FossilOrigin-Name: 90b197489a37e01dcb2f3a8182848c1301e1757b
| * Cleanup of the sqlite3StrAccumInit() function. No functionality changes.drh2015-05-02
| | | | | | FossilOrigin-Name: 7952c32268aa650d9ee946d5bfe190f712e3bbe6
| * Fix comment typos. No code changes.drh2015-04-28
| | | | | | FossilOrigin-Name: 60174cf572f8788e67a0434d5fe763724d7425a3
| * Use a heap rather than a bitmap for cell coverage and overlap testing ondrh2015-04-16
| |\ | | | | | | | | | | | | btree pages in PRAGMA integrity_check. FossilOrigin-Name: e94b2ef2242d716379a35dba3d2df1ac512c8d30
| | * Use a heap instead of a bitmap for cell overlap and coverage testing ofdrh2015-04-16
| |/ | | | | | | | | btree pages in PRAGMA integrity_check. FossilOrigin-Name: 5619c959bf7babb19fd8ba8b228be7f090fe0ce3
| * Prevent the fetchPayload() routine from reporting a cell size that extendsdrh2015-04-15
| | | | | | | | | | off the end of the page on a pathologically corrupted database file. FossilOrigin-Name: f71053cf658b3260a32ac06f8ba5c2cde0ea54dd
| * Remove a faulty assert() from the btree balancing logic.drh2015-04-13
| | | | | | FossilOrigin-Name: d06669d968c8f6af8799fbfeabadaab68b9b8db8
| * Improved detection and suppression of endless loops in clearDatabasePage().drh2015-04-01
| | | | | | FossilOrigin-Name: 30011ad2f55cfcacaf23a58ebcc17b17a7b9355e
| * Handle very large URI pathnames for in-memory shared-cache databases.drh2015-03-31
| | | | | | FossilOrigin-Name: 586a94e85bc13700a2093734711c1367fa814b8c
| * Prevent a possible infinite loop when trying to DROP a table fromdrh2015-03-30
| | | | | | | | | | a corrupt database. FossilOrigin-Name: 395bb3e677a6551b06ba96fc58c393132b93d1e8
| * Change an unreachable branch into an assert().drh2015-03-25
| | | | | | FossilOrigin-Name: fb076b28c36975ff2e41440f22fe5de115c195da
| * Fix the saveCursorPosition() routine in btree.c so that it worksdrh2015-03-25
| | | | | | | | | | correctly for a eState=CURSOR_SKIPNEXT cursor. FossilOrigin-Name: 37866b4d483296ab9b7fcb9f5486695d4c2b8ddd
| * Reactivate an older assert() (adding an "|| CORRUPT_DB" term) and add adrh2015-03-25
| | | | | | | | | | new assert() in btree.c. FossilOrigin-Name: 1e96520ac1d12ca83f019a60482efa0a074f2f94
| * Add two new assert()s to the sqlite3BtreeDataSize() method.drh2015-03-25
| | | | | | FossilOrigin-Name: 42d1793d6516e285a8925bbfd96b3d3375603d15