aboutsummaryrefslogtreecommitdiff
path: root/src/btree.c
Commit message (Collapse)AuthorAge
...
| * Ensure that "PRAGMA integrity_check" reports an error if the free-list count ↵dan2015-09-18
| | | | | | | | | | header field contains a value smaller than the actual number of pages on the database free-list. FossilOrigin-Name: 26f64986d1ed59c554a7cb9e00e86a7f148f1fc6
* | Merge enhancements from trunk.drh2015-09-15
|\| | | | | FossilOrigin-Name: 66fe06832614010d3156d7b21a760af9957018cc
| * Fix a compiler warning and providing missing VdbeCoverage() calls.drh2015-09-14
| | | | | | FossilOrigin-Name: 2edd2e5edd60210e18db58bce1e096dd211b6ece
| * Experimental change to use a single-pass approach for DELETE statements on ↵dan2015-09-12
| | | | | | | | | | non-virtual tables that do not fire triggers or require foriegn-key processing. FossilOrigin-Name: eaeb2b80f6f8f83679c8323a81bb39570ec946fe
* | Merge enhancements from trunk.drh2015-09-03
|\| | | | | FossilOrigin-Name: 25ee3000e94d60d8c1d7b980f416dcc33eb11105
| * Use sqlite3XPrintf() instead of sqlite3StrAccumAppend() in a few placesdrh2015-09-02
| | | | | | | | | | for better performance and a smaller footprint. FossilOrigin-Name: 82355e41084387fa11b7b531e4d660dd3b4cd984
* | Always provide the BTREE_BULKLOAD hint, even when SQLITE_ENABLE_CURSOR_HINTSdrh2015-08-14
| | | | | | | | | | is not defined, as that hint gives a 4% performance increase. FossilOrigin-Name: 83a844357e132683ab3d88eee0fe32a8beeb6662
* | Refactor the sqlite3BtreeCursorHint() interface for improved maintainability.drh2015-08-14
| | | | | | FossilOrigin-Name: fc3fb5cd0d2c123a069e5b18b62bb1f708c8698a
* | Merge in all the trunk changes from the previous year. This breaks thedrh2015-08-13
|\| | | | | | | | | cursor-hint mechanism, but provides a baseline for trouble-shooting. FossilOrigin-Name: 82a7a61bc0883b1e7432548e4890791717aa1bb3
| * Fix some harmless compiler warnings.mistachkin2015-07-14
| | | | | | FossilOrigin-Name: 3de030c904d125ccf41fa1929646b8a002b5341b
| * Avoid left-shifting bits into the sign of a signed integer, as such behaviordrh2015-07-08
| | | | | | | | | | is technically undefined. FossilOrigin-Name: 9417b4021b779876dcb3b9be636f01f4055eb54e
| * Do not preserve the btreeInitPage() results in PRAGMA integrity_check ifdrh2015-07-04
| | | | | | | | | | | | there were cell sizing errors because PRAGMA cell_size_check was turned off during the btreeInitPage() call. FossilOrigin-Name: 743bf1f184be316971f2e9c651bcf573bde8654a
| * When doing coverage analysis of a btree page for pragma integrity_check,drh2015-07-02
| | | | | | | | | | | | make the first entry (that covers the header, cell index, and gap) implied, for a performance boost and size reduction. FossilOrigin-Name: e53d497c2d2fbc5014b39f5624b52ce207800698
| * Fix harmless compiler warnings and one macro VVA_ONLY macro usage issue.mistachkin2015-07-02
| | | | | | FossilOrigin-Name: bcc8a75509aafda61feb6dcc074668c79611a662
| * Fix a (harmless) shadowed local variable definition in the integrity_checkdrh2015-07-02
| | | | | | | | | | logic. FossilOrigin-Name: 3a26a919fd5550e5a0053a48cb93a27bb95cc916
| * Smaller and faster PRAGMA integrity_check that also does a better job ofdrh2015-07-02
| | | | | | | | | | | | detecting errors. Some output text describing discovered file corruption has changed for clarity. FossilOrigin-Name: 251a7590ff4f65f59a1c871892533e4e2c544515
| * Simplification of PRAGMA integrity_check logic. Make sure that the depthdrh2015-07-01
| | | | | | | | | | | | of the right-most subtree is correct. Size reduction and performance increase, with no change in output. FossilOrigin-Name: 550705fcb64e7ad637686e47cabe2621d65851bf
| * Fix some harmless compiler warnings.drh2015-07-01
| | | | | | FossilOrigin-Name: 307195c8709d7fd2a642baa8011eb0c88cfdc0ac
| * Change integrity_check to analyze the cells of a page in reverse order, as drh2015-07-01
| | | | | | | | | | | | this will tend to insert the cells into the analysis heap in increasing order by address, which is the most efficient way to load a min-heap. FossilOrigin-Name: 59ad912c4c1f858e04d27b1b8f25581a5f6e5daf
| * Remove the use of htonl() in the previous check-in due to linkage issues.drh2015-06-30
| | | | | | | | | | | | Add the get2byteAligned() macro and use it for access to the cell offsets on btree pages for about a 1% performance gain. FossilOrigin-Name: 79ff36b7170c9e7e7a9935c8b9d1665867771087
| * Put BtCursor objects on a singly-linked list instead of a doubly-linked list.drh2015-06-30
| | | | | | | | | | | | Add the BTCF_Multiple flag. Only invoke saveAllCursors() when using a cursor that has BTCF_Multiple set. FossilOrigin-Name: 429ccef2b36fc46e92914eb54afd5f800b1a40ff
| * Convert several 5-year-old and older NEVER() macros into assert().drh2015-06-30
| | | | | | FossilOrigin-Name: ed54c14ea8a72d69d69e0c0d7f6936f54efc04c2
| * From sqlite3BtreeInsert(), bypass the btreeMoveto() routine for table insertsdrh2015-06-29
| | | | | | | | | | and go directly to sqlite3BtreeMovetoUnpacked(). FossilOrigin-Name: 53fe685d56368af78238c8981cc41704929f7660
| * Move an assert() and testcase() into their correct position withindrh2015-06-29
| | | | | | | | | | getAndInitPage(). FossilOrigin-Name: 18115164e12509ec21f34598089a7f1310048819
| * Make greater use of BtCursor.curIntKey.drh2015-06-27
| | | | | | FossilOrigin-Name: 63998471d023dd846d5583ac856e2acc47ad41ea
| * Add the BtCursor.curIntKey field and use it for a small size reduction anddrh2015-06-27
| | | | | | | | | | performance boost. FossilOrigin-Name: 4a17df139ac41e29c9a2e58afbd1238a5e94bd36
| * Enhancements to the previous check-in to make it a little smaller and faster.drh2015-06-27
| | | | | | FossilOrigin-Name: 291d9e0c328a7bd0f255b0b7e819ca2c909701a3
| * Performance improvements in moveToChild() by shifting some work overdrh2015-06-27
| | | | | | | | | | to getAndInitPage(). Net improvement is about 800K cycles at cost of 30 bytes. FossilOrigin-Name: 1956a4ce8eca650d98a7f68fd2d82eb8a3d6069f
| * Manually inline the call from getAndInitPage() to btreeGetPage() for adrh2015-06-27
| | | | | | | | | | savings of 2.5 million cycles at a cost of less than 100 bytes. FossilOrigin-Name: 7f65b96b4017413bd19624570efe8fb2b0f7b991
| * Add releasePageNotNull() as an alternative to releasePage() when the argumentdrh2015-06-27
| | | | | | | | | | is guaranteed to be non-NULL, and use it for a small performance gain. FossilOrigin-Name: 9383a688701ac2c366a308efc287c9c0f8977d4e
| * Add the Mempage.aDataOfst field and use it in sqlite3BtreeMovetoUnpacked()drh2015-06-27
| | | | | | | | | | for about a 2 million cycle gain. FossilOrigin-Name: bee94dc3510745ba2efa044e8f3299793cfc7e34
| * Fix harmless compiler warning in assert statement.mistachkin2015-06-26
| | | | | | FossilOrigin-Name: 7097716caed9d4aef49c7e766e41ea74abf5967f
| * Simplifications and performance improvements in insertCell().drh2015-06-25
| | | | | | FossilOrigin-Name: 7d02e6c992ef92e1f77ebc13889e17c028454b06
| * More simplifications and performance improvements to cell allocationdrh2015-06-25
| | | | | | | | | | logic associated with allocateSpace(). FossilOrigin-Name: 78da0f69cb3289e332018864004f319f2764a5c8
| * Reorder the terms of a conditional for a small performance gain.drh2015-06-25
| | | | | | FossilOrigin-Name: d67b0ed1054cbb7ea2cdd74720d4d6e0227cec14
| * Remove a NEVER() that is in fact reachable.drh2015-06-25
| | | | | | FossilOrigin-Name: f824e66b0dc120bed227c7446e2663fcad7cc4f6
| * Minor optimization to allocateSpace().drh2015-06-25
| | | | | | FossilOrigin-Name: d007bc339b9ea6d59a3dd2b0c5e77e9c801b16f6
| * Enhance the Btree object to remember whether or not it is holding andrh2015-06-25
| | | | | | | | | | | | Incrblob cursor. Use this knowledge to improve performance in the common case where it does not. FossilOrigin-Name: 476b11563c08c6d9c0abd69e4d865c4edcdd45f5
| * Remove a line of code that doesn't do any useful work.drh2015-06-25
| | | | | | FossilOrigin-Name: 3ee888beb974e015bd11ae79381b208eaa310f6f
| * Fix a harmless compiler warning.drh2015-06-24
| | | | | | FossilOrigin-Name: 3b6fa95eebfa01703d9ef4f530674d17e965c512
| * Prevent an infinite loop while searching a corrupt freelist.drh2015-06-24
| | | | | | FossilOrigin-Name: 4e5424fe89eed346f6cf26a05c72694d1eb9f58f
| * Strengthen the new balance_nonroot() code against various corrupt databasedrh2015-06-24
| | | | | | | | | | problems. FossilOrigin-Name: 5ba983432069714afebbb2f0ef22d41be52f7a4c
| * Remove an invalid NEVER() and add a test case to cover it.drh2015-06-24
| | | | | | FossilOrigin-Name: 14b73d201509d3c04f760a08d21f3c499f2870a8
| * Testability improvement.drh2015-06-23
| | | | | | FossilOrigin-Name: eed6a3314518cdab809264284d7680385f0d5d2a
| * Multiple overflow cells are always adjacent and sequential. Exploit thisdrh2015-06-23
| | | | | | | | | | | | invariant for a small size reduction and performance increase and add assert()s to prove the invariant. FossilOrigin-Name: f77f2f48f48e374a72b6c054142f7a3ec0b1483c
| * Faster loading of cell pointers into the b.apCell array in balance_nonroot.drh2015-06-23
| | | | | | FossilOrigin-Name: fda89b0512477f9da09fd0f4e548ed4b13efd49d
| * Avoid unnecessary cachedCellSize() calls in the cell partition adjustmentdrh2015-06-23
| | | | | | | | | | phase of balance_nonroot(). FossilOrigin-Name: 6319ee1256b1f7c39dd39a536a39b77b3d10dcac
| * Change pageInsertArray() and pageFreeArray() so that they use the CellArraydrh2015-06-23
| | | | | | | | | | object and compute cell sizes as needed, resulting in smaller and faster code. FossilOrigin-Name: f7f41818119bb7bfbd1f1297d294b32f32769cd3
| * Improvements to the way balance_nonroot() constructs the b.apCell array ofdrh2015-06-23
| | | | | | | | | | pointers to cells. FossilOrigin-Name: ee44bb25b2a88e25ba2afe37cf03ba199692a3a0
| * Avoid computing cell sizes in balance_nonroot() until they are really needed.drh2015-06-23
| | | | | | | | | | | | This gives an overall 1.7% performance gain for about 1000 extra bytes of code space. FossilOrigin-Name: 43844537e8a372953386663f8177202901ba7566