Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History of src/btree.c
2019-11-22
| ||
00:42 | Revise the SQLITE_OPEN_NOFOLLOW so that it actually uses O_NOFOLLOW in the open() system call. This backs out the SQLITE_ACCESS_SYMLINK value but adds the new SQLITE_OK_SYMLINK return code from the xFullPathname method of sqlite3_vfs when that routine resolves symbolic links. O_NOFOLLOW is always included in open() system calls for journal files. file: [d22498af] check-in: [6a64fb6a] user: drh branch: trunk, size: 369055 | |
2019-11-17
| ||
11:47 | Fix an assert that can fail if the schema is corrupt. file: [b4350767] check-in: [ed57c48e] user: drh branch: trunk, size: 368953 | |
2019-10-25
| ||
14:46 | Performance optimization in sqlite3BtreeCursor(). file: [12e251f8] check-in: [ea068b09] user: drh branch: trunk, size: 368873 | |
2019-10-11
| ||
14:21 | Faster response to sqlite3_interrupt() in the OP_IntegrityCk and OP_Count opcodes. file: [a8a9c2ce] check-in: [bf875dc5] user: drh branch: trunk, size: 368315 | |
2019-09-16
| ||
12:29 | Bring the begin-concurrent-pnu-wal2 branch up to date with all the latest enhancements on trunk. file: [5de41f11] check-in: [15593bf3] user: drh branch: begin-concurrent-pnu-wal2, size: 387046 | |
12:23 | Merge recent trunk enhancements into the wal2 branch. file: [48b4ced9] check-in: [da8bc974] user: drh branch: wal2, size: 368175 | |
12:08 | Merge recent trunk enhancements into the begin-concurrent branch. file: [50fc34cd] check-in: [93b9ef3f] user: drh branch: begin-concurrent, size: 387015 | |
12:02 | Merge the latest changes from trunk into the apple-osx branch. file: [fe7876b0] check-in: [a95191de] user: drh branch: apple-osx, size: 368360 | |
2019-08-24
| ||
21:02 | Minor performance improvement for balance_nonroot(). file: [fdc4389b] check-in: [d7434cae] user: dan branch: trunk, size: 368144 | |
20:59 | Minor performance improvement to balance_nonroot(). file: [a1af850b] check-in: [c88d42a9] user: dan branch: mistake, size: 368176 | |
2019-08-15
| ||
13:17 | Ensure that the cell overwrite optimization does not overwrite the header of the b-tree page. file: [5cf99451] check-in: [4cc5694c] user: drh branch: trunk, size: 368072 | |
00:04 | Early detection out-of-bounds page numbers on the direct-overflow-read optimization gives consistent error messages regardless of whether or not the optimization is enabled. file: [a6b6f473] check-in: [b517a52f] user: drh branch: trunk, size: 368002 | |
2019-08-12
| ||
18:26 | Make sure the btree cursor overflow cache is cleared when overwriting a cell in sqlite3BtreeInsert(). Ticket [3cf9bb227e9a5d32] file: [6061323b] check-in: [7dae7b96] user: drh branch: trunk, size: 367934 | |
2019-08-08
| ||
01:39 | Remove a NEVER() that is reachable from a corrupt database. file: [781e4594] check-in: [30e6ee27] user: drh branch: trunk, size: 367850 | |
2019-08-05
| ||
16:22 | Improved detection of corruption on the freeblock list of a btree page. file: [397b5075] check-in: [4b00799b] user: drh branch: trunk, size: 367857 | |
2019-08-03
| ||
01:39 | Give the SQLITE_TESTCTRL_PRNG_SEED two arguments. The second argument if not NULL is a pointer to a database connection which seeds the connection from its schema cookie. In this way, fuzzers can control the PRNG seed. file: [4f122e98] check-in: [49aa3448] user: drh branch: prng-seed-test-control, size: 367769 | |
2019-07-22
| ||
23:30 | Do not use the insert-overwrite optimization if the cell might overwrite the page header. file: [af0a7159] check-in: [9991626b] user: drh branch: branch-3.29, size: 368066 | |
23:24 | Do not use the insert-overwrite optimization if the cell might overwrite the page header. file: [58d002f7] check-in: [f60a8306] user: drh branch: trunk, size: 367776 | |
2019-07-17
| ||
16:18 | Fix an incorrect assert() in balance_nonroot(). file: [4508402e] check-in: [59c9e73f] user: drh branch: trunk, size: 367659 | |
2019-07-16
| ||
19:44 | Add new assert() statements in an attempt to help static analyzers avoid false-positives. file: [83a4b1b7] check-in: [9e664585] user: drh branch: trunk, size: 368028 | |
2019-07-13
| ||
09:55 | Trivial performance improvement for balance(). file: [0e30c986] check-in: [c7920f55] user: dan branch: filter-clause, size: 367951 | |
2019-07-08
| ||
21:25 | Merge enhancments from wal2, which also merges trunk enhancements. file: [62662509] check-in: [08dcb459] user: drh branch: begin-concurrent-pnu-wal2, size: 386851 | |
21:19 | Merge all enhancements from trunk into the wal2 branch. file: [caaf623a] check-in: [dcbcbc2a] user: drh branch: wal2, size: 367980 | |
21:06 | Merge recent trunk enhancements into the begin-concurrent branch. file: [41ac7b8c] check-in: [7fff0803] user: drh branch: begin-concurrent, size: 386820 | |
20:59 | Merge recent enhancements from trunk into apple-osx. file: [b2baa0d7] check-in: [de88ed86] user: drh branch: apple-osx, size: 368165 | |
2019-05-16
| ||
20:36 | Initialize the 18-byte overrun area on the buffer used to reconstruct overflow btree cells during a btree search, to avoid a harmless jump-depends-on-uninit-values warning. file: [1dbc191e] check-in: [4b05caeb] user: drh branch: trunk, size: 367949 | |
2019-05-14
| ||
22:07 | Merge the latest trunk and wal2 enhancements. file: [bcd6ac1f] check-in: [3deaa6e2] user: drh branch: begin-concurrent-pnu-wal2, size: 386697 | |
22:02 | Merge the latest trunk enhancements into the wal2 branch. file: [1c9c4801] check-in: [23ec34e4] user: drh branch: wal2, size: 367826 | |
21:51 | Merge the latest trunk enhancements into begin-concurrent. file: [58ed4940] check-in: [5d3a6e18] user: drh branch: begin-concurrent, size: 386666 | |
19:39 | Merge recent enhancements from trunk into apple-osx. file: [53ccbd3e] check-in: [40362d51] user: drh branch: apple-osx, size: 368011 | |
2019-05-10
| ||
14:34 | Ensure that the BtShared.nPage value is reset correctly on a SAVEPOINT ROLLBACK. file: [5e15f903] check-in: [e6d5fee8] user: drh branch: trunk, size: 367795 | |
2019-05-08
| ||
23:55 | Ensure that the sqlite3BtreeLast() interface initializes the *pRes return to zero if the cursor is already sitting on the last entry of the table. Manuel Rigger found the obscure test case for which this makes a difference. file: [0a276df3] check-in: [ebe4845c] user: drh branch: trunk, size: 367611 | |
04:33 | Remove an ALWAYS() that was previously added by check-in [a0819086] but which turns out can sometimes be false. file: [9177613e] check-in: [ad8fc5d8] user: drh branch: trunk, size: 367596 | |
03:34 | Remove a NEVER() that was added in the previous check-in [a0819086a521f] because it is in fact reachable. file: [fcfd6b96] check-in: [74eba255] user: drh branch: trunk, size: 367604 | |
00:17 | Earlier detections of errors in the byte-offset-to-cell-content integer at offset 5 in the header of a btree page. file: [3fe1f1b3] check-in: [a0819086] user: drh branch: trunk, size: 367611 | |
2019-05-07
| ||
17:47 | Strive to prevent harmless compiler warnings in GCC 4.8.5. file: [096a98aa] check-in: [8b6691f6] user: drh branch: trunk, size: 367577 | |
2019-05-02
| ||
15:56 | Earlier detection of a database corruption case in balance_nonroot(), to prevent a possible use of an uninitialized variable. file: [e048f240] check-in: [c509d8a8] user: drh branch: trunk, size: 367539 | |
2019-04-22
| ||
11:47 | Fix an assert() that may be false for corrupt databases. file: [ffe71010] check-in: [b2ce5ed1] user: dan branch: trunk, size: 367319 | |
2019-04-15
| ||
15:28 | Merge all recent enhancements. file: [024bdefd] check-in: [1cd536ec] user: drh branch: begin-concurrent-pnu-wal2, size: 386237 | |
15:17 | Merge the latest trunk enhancements. file: [2550761e] check-in: [8950f119] user: drh branch: wal2, size: 367366 | |
14:59 | Merge the latest enhancements from trunk. file: [380dce2f] check-in: [7c328e88] user: drh branch: begin-concurrent, size: 386206 | |
14:49 | Bring in the latest enhancements from trunk. file: [917d4a49] check-in: [378230ae] user: drh branch: apple-osx, size: 367551 | |
2019-04-09
| ||
01:26 | Use an unsigned integer to count free pages in btree.c:freePage2(). file: [958939f6] check-in: [88204085] user: drh branch: trunk, size: 367335 | |
2019-04-02
| ||
00:34 | Merge enhancements from trunk. file: [5a6023e4] check-in: [0b35aebb] user: drh branch: apple-osx, size: 367551 | |
2019-04-01
| ||
03:07 | Fix harmless compiler warnings seen with MSVC. file: [d1261e5e] check-in: [6cf8b18e] user: mistachkin branch: trunk, size: 367335 | |
2019-03-30
| ||
19:17 | Add a call to sqlite3FaultSim(410) inside of btreeRestoreCursorPosition() to simplify testing of error scenarios. file: [0799c276] check-in: [bb643bac] user: drh branch: trunk, size: 367331 | |
18:39 | The defragmentPage() routine detects corruption in the first-free-slot fields at offset 1 in the header and throws an error, rather than asserting. file: [0de9fec3] check-in: [fb125bd3] user: drh branch: trunk, size: 367263 | |
2019-03-29
| ||
15:21 | Remove the unused P5 flag from the OP_Rewind opcode. file: [bf2e05e2] check-in: [c2edbf3b] user: drh branch: trunk, size: 367428 | |
2019-03-26
| ||
13:08 | Add support for new window functions related features - GROUPS frames, RANGE frames with logical start and end points, the EXCLUDE clause and window chaining. file: [a644e8f3] check-in: [c6da3911] user: dan branch: trunk, size: 368023 | |
12:37 | Merge recent enhancements from trunk. file: [c496125a] check-in: [dc3c0b8b] user: drh branch: apple-osx, size: 368167 | |
12:29 | Bring this branch up to date with all the latest enhancements. file: [45d2c042] check-in: [2e964aaf] user: drh branch: begin-concurrent-pnu-wal2, size: 386853 | |
12:22 | Merge enhancements from trunk. file: [ca5a54eb] check-in: [a0e2e902] user: drh branch: wal2, size: 367982 | |
12:16 | Merge the latest trunk changes. file: [b517c680] check-in: [51e3e835] user: drh branch: begin-concurrent-pnu, size: 386822 | |
12:07 | Merge recent enhancements from trunk. file: [b8d297f8] check-in: [774d0d52] user: drh branch: begin-concurrent, size: 386822 | |
2019-03-25
| ||
19:50 | Earlier detection of corruption while added to the freelist. file: [6bea0259] check-in: [8c80b004] user: drh branch: trunk, size: 367951 | |
18:44 | Fix a faulty assert() statement in balance_nonroot() - the assert() should use get2byteNotZero() instead of get2byte() for the corner case where the number cells is zero on a 65536-byte page. file: [482c81f4] check-in: [bcbe7d96] user: drh branch: trunk, size: 367922 | |
2019-03-21
| ||
21:18 | Add an extra test for database corruption to defragmentPage(). file: [e967c83e] check-in: [80e951fc] user: dan branch: trunk, size: 367901 | |
2019-03-20
| ||
05:45 | Fix various harmless compiler warnings seen with MSVC. file: [9bcd7000] check-in: [1c0fe5b5] user: mistachkin branch: noWarnings, size: 367814 | |
2019-03-19
| ||
20:48 | Merge recent enhancements from trunk. file: [116deec8] check-in: [000f4398] user: drh branch: apple-osx, size: 368025 | |
15:36 | When computing the amount of scratch memory needed during a rebalance operation, assume the worst case for the number of cells per page, rather than relying on the BtPage.nCell value, which might be incorrect for a corrupt database. file: [a4e19b72] check-in: [a420ebd0] user: drh branch: trunk, size: 367809 | |
2019-03-13
| ||
17:31 | Merge latest trunk changes into this branch. file: [b4fe9e71] check-in: [0b904517] user: dan branch: window-functions, size: 367914 | |
15:29 | Remove rows from the ephemeral table used by window functions once they are no longer required. file: [3aa86a52] check-in: [6ad55319] user: dan branch: window-functions, size: 367913 | |
10:29 | Detect zero-length free slots on btree pages and report that as corruption. file: [4c097656] check-in: [c4f0568f] user: drh branch: trunk, size: 367801 | |
2019-03-08
| ||
16:06 | Merge the latest enhancements and fixes from trunk. file: [021c960a] check-in: [543ecb30] user: drh branch: begin-concurrent-pnu-wal2, size: 386703 | |
15:57 | Merge the latest enhancements and fixes from trunk. file: [7e3d0fde] check-in: [bf20d4ff] user: drh branch: wal2, size: 367831 | |
15:30 | Merge all the latest enhancements from trunk. file: [82829cc6] check-in: [667cce3d] user: drh branch: begin-concurrent-pnu, size: 386672 | |
14:02 | Patch makes balance_nonroot() slightly smaller and faster and more robust against corrupt databases. file: [51ff9c43] check-in: [174da3c3] user: drh branch: trunk, size: 367800 | |
01:52 | Detect an attempt to drop a btree that is not within the bounds of the database file and abort early with an SQLITE_CORRUPT error, to avoid problems later on in the process. file: [9abc4326] check-in: [235a9698] user: drh branch: trunk, size: 367795 | |
2019-03-05
| ||
14:39 | If the initial byte of a record is a large value, then always used the generalized record comparison routine sqlite3VdbeRecordCompare() rather than one of the specialized versions that are optimized for shorter records. file: [7da25dbf] check-in: [c1ac0070] user: drh branch: trunk, size: 367723 | |
2019-03-01
| ||
18:27 | Merge the latest enhancements from trunk. file: [847c6367] check-in: [e64ded7b] user: drh branch: apple-osx, size: 367929 | |
2019-02-28
| ||
13:21 | Add an "|| CORRUPT_DB" term to an assert() statement in the btree defragmenter. file: [59695c6e] check-in: [6bfd8655] user: drh branch: trunk, size: 367713 | |
2019-02-26
| ||
16:17 | Use unsigned integers to count the number of pages in a freelist during an integrity_check, to avoid any possibility of a signed integer overflow. file: [f85f8abe] check-in: [05b87e07] user: drh branch: trunk, size: 367699 | |
2019-02-20
| ||
13:23 | Merge the latest performance enhancements and fixes from trunk. file: [00e3e1b6] check-in: [be71d1e2] user: drh branch: apple-osx, size: 367915 | |
2019-02-19
| ||
16:42 | Fix an assert() that might not be true if the database file is corrupt. file: [026f48c3] check-in: [f2d400db] user: drh branch: trunk, size: 367699 | |
2019-02-16
| ||
22:45 | Fix an assert() that might be false for a corrupt database. file: [2105865a] check-in: [0cfb8887] user: drh branch: trunk, size: 367685 | |
2019-02-14
| ||
15:27 | Improved oversized cell detection when updating ptrmap pages in balance_nonroot(). file: [161b6a57] check-in: [aa61435a] user: drh branch: trunk, size: 367671 | |
2019-02-12
| ||
16:58 | Further performance improvements to btreeInitPage(). file: [1336cc16] check-in: [93ae382e] user: drh branch: trunk, size: 367393 | |
00:58 | Change an assert() into a NEVER(), since the condition is difficult to prove with certainty. Improved comment on the MemPage.nFree field. file: [7457f781] check-in: [fec071b8] user: drh branch: deferred-free-space, size: 367442 | |
2019-02-11
| ||
22:50 | Do not invoke btreeComputeFreeSpace() when not necessary. file: [70ac9dc8] check-in: [f11b0ed4] user: drh branch: deferred-free-space, size: 367402 | |
19:27 | Improvements to comments. No changes to code. file: [47812e0c] check-in: [16eb0fc8] user: drh branch: deferred-free-space, size: 367409 | |
17:22 | Fix test cases. Avoid unnecessary tests for MemPage.nFree less than zero. file: [aa182a9b] check-in: [480a5090] user: drh branch: deferred-free-space, size: 367433 | |
12:51 | Updates to a comment to keep it in alignment to the changes on this branch. file: [85d49318] check-in: [7499f743] user: drh branch: deferred-free-space, size: 367524 | |
2019-02-09
| ||
22:33 | Fix a page-cache reference leak in the btree balancer when there is a corrupt database. file: [0c9455de] check-in: [92858991] user: drh branch: deferred-free-space, size: 367516 | |
21:06 | Defer computing the MemPage.nFree value of an in-memory btree page until it is actually needed, since for many pages it is never needed. This checkin works sufficiently to prove the concept, but still has issues with exception handling. file: [b2bb677f] check-in: [1d43ee40] user: drh branch: deferred-free-space, size: 367423 | |
2019-02-08
| ||
22:34 | Small performance improvement and size reduction for pageFindSlot() - the routine in btree.c that locates a free slot for a cell on a btree page. file: [18046bf1] check-in: [1969372a] user: drh branch: trunk, size: 365170 | |
2019-02-07
| ||
18:49 | Merge the offical 3.27.0 release. file: [1ceb21b6] check-in: [62829164] user: drh branch: apple-osx, size: 364808 | |
2019-02-04
| ||
21:10 | Early detection of implausibly sized records to avoid unnecessary large memory allocations. file: [84b7c5c3] check-in: [2c8769c6] user: drh branch: trunk, size: 364592 | |
2019-02-01
| ||
14:50 | Improve the strict enforcement of cell sizes in balancing from check-in [12713f320b2c1def] so that it also works with table-btrees in addition to index-btrees. file: [9649c95a] check-in: [ef27e7a0] user: drh branch: trunk, size: 363900 | |
2019-01-29
| ||
19:17 | Merge enhancements from trunk. file: [2971798a] check-in: [31efcc37] user: drh branch: apple-osx, size: 363528 | |
16:54 | Fix harmless compiler warnings. file: [79464668] check-in: [9a93c68a] user: drh branch: trunk, size: 363312 | |
16:41 | More robust handling of corrupt database file in the rebalance operation of the btree logic. file: [af023d6c] check-in: [97704cb7] user: drh branch: trunk, size: 363307 | |
2019-01-28
| ||
00:42 | Change the definition of the BtCursor.skipNext field so that it is undefined for states CURSOR_VALID and CURSOR_INVALID. file: [3378f2f4] check-in: [6089d5db] user: drh branch: trunk, size: 363071 | |
2019-01-26
| ||
23:34 | Ensure that the btree cursor is correctly set up prior to backing it up as part of a delete operation on a divider cell in an index. file: [c78051b5] check-in: [a3ea1a82] user: drh branch: trunk, size: 363643 | |
2019-01-25
| ||
13:42 | Fix a couple of assert() statments in btree.c that could fail with corrupt databases. file: [f7ee98fc] check-in: [5eb5e828] user: dan branch: trunk, size: 363619 | |
2019-01-24
| ||
15:16 | Fix a potential problem with "INSERT INTO ... SELECT * FROM" (or VACUUM) statements on a corrupted database. file: [21eb9292] check-in: [db4b4c2c] user: dan branch: trunk, size: 363591 | |
13:36 | Use memmove() instead of memcpy() in a place where buffers might overlap if the database file is badly corrupted, to prevent warnings from ASAN and valgrind. file: [58574154] check-in: [65ad6c55] user: drh branch: trunk, size: 363524 | |
2019-01-23
| ||
19:25 | Stricter enforcement of cell sizes when doing balancing operations on the btree, in order to catch file corruption sooner. file: [60fa67e1] check-in: [12713f32] user: drh branch: trunk, size: 363274 | |
2019-01-21
| ||
23:18 | Enhance the btree search routine so that it does early detection of impossibly large keys and thereby avoids a large malloc() call. file: [315ccbc0] check-in: [3ecaaee6] user: drh branch: trunk, size: 359291 | |
16:01 | Make sure the extra bytes allocated for the saved cursor position by check-in [160b1e31c0f27257] are initialized to zero. file: [73f282db] check-in: [27375649] user: drh branch: trunk, size: 359243 | |
2019-01-17
| ||
15:47 | Sync up with the latest enhancements on trunk. file: [59eeeaad] check-in: [475a179a] user: drh branch: apple-osx, size: 359411 | |
2019-01-14
| ||
05:48 | Avoid reading off the front of a page buffer when balancing a corrupt btree page. file: [a1030989] check-in: [cb505090] user: drh branch: trunk, size: 359195 | |
2019-01-13
| ||
20:17 | Improved detection of database corruption while balancing pages from an auto_vacuum database with overflow pages. Test cases in TH3. file: [d2ee8425] check-in: [35f04235] user: drh branch: trunk, size: 358803 | |
2019-01-11
| ||
17:41 | Fix a problem handling a negative value in the "number-of-pages" database header field. Also a problem with running "REINDEX tbl" against a virtual table for which the SQL passed to sqlite3_declare_vtab() contains PRIMARY KEY or UNIQUE constraints. file: [789380da] check-in: [556dd892] user: dan branch: trunk, size: 358653 | |
14:46 | Fix PRAGMA integrity_check so that it does not cancel the PRAGMA vdbe_debug setting. file: [735e0cfc] check-in: [aaa3a19f] user: drh branch: trunk, size: 358647 | |
2019-01-06
| ||
02:06 | The page size becomes fixed as soon as page1 from a non-empty database file is read. file: [9632272d] check-in: [6064584d] user: drh branch: trunk, size: 358647 | |
2019-01-02
| ||
16:30 | Merge latest wal2 changes into this branch. file: [33cceb8e] check-in: [c31eeb3c] user: dan branch: begin-concurrent-wal2, size: 377509 | |
16:15 | Merge latest trunk changes into this branch. file: [8e21892e] check-in: [87ef68f9] user: dan branch: wal2, size: 358637 | |
16:08 | Merge latest trunk changes into this branch. file: [ed1faebf] check-in: [5bf212f1] user: dan branch: begin-concurrent, size: 377478 | |
2019-01-01
| ||
18:00 | Ensure that when a new cursor is opened by OP_OpenDup, any existing cursor with the same id opened by a previous OP_OpenDup is closed first. file: [11c18d6d] check-in: [5c188361] user: dan branch: trunk, size: 358606 | |
2018-12-26
| ||
19:10 | Merge latest trunk changes with this branch. file: [5feb7707] check-in: [404f9d99] user: dan branch: wal2, size: 358615 | |
2018-12-18
| ||
17:32 | Merge latest trunk changes into this branch. file: [3140a876] check-in: [b3a163b4] user: dan branch: begin-concurrent-wal2, size: 377487 | |
17:20 | Merge latest trunk changes into this branch. file: [1cd5a483] check-in: [123cbb33] user: dan branch: begin-concurrent, size: 377456 | |
2018-12-15
| ||
20:59 | Merge latest wal2 changes into this branch. file: [b068dd1f] check-in: [06bb80ee] user: dan branch: begin-concurrent-wal2, size: 376946 | |
2018-12-14
| ||
17:57 | Fix possible integer overflow while running PRAGMA integrity_check on a database file with a badly corrupted freelist. file: [4429a161] check-in: [39559911] user: drh branch: trunk, size: 358584 | |
16:20 | Back out the expansion of the temporary buffer size from [32754ca6f86da816] and replace it with an explicit test for buffer overreads. file: [38e21cf0] check-in: [8ba3d9f3] user: drh branch: trunk, size: 358579 | |
16:00 | Avoid a buffer overread in ptrmapPutOvflPtr() that can occurs in a corrupt database file that has large entries and uses autovacuum. file: [af1055a0] check-in: [f8b781cf] user: drh branch: trunk, size: 358502 | |
13:18 | When saving the position of a cursor at the b-tree layer, allocate a few extra bytes at the end of the buffer used to save the key. Otherwise, if the key is corrupt, the code that restores the cursor position may overread the buffer by a little. file: [89e9abe6] check-in: [160b1e31] user: dan branch: trunk, size: 358370 | |
03:14 | Detect when an attempt is made to write to a pointer map page that is also being used as a btree page and report corruption. file: [14b4b17b] check-in: [3036fd71] user: drh branch: fuzzcheck-fix, size: 358044 | |
2018-12-13
| ||
21:52 | dbfuzz2 found a NEVER() that is sometimes true. file: [20fdad94] check-in: [1201615c] user: drh branch: trunk, size: 357771 | |
21:11 | Add extra tests for database corruption inside the defragmentPage() routine, as dbfuzz2 has found ways for corruption to leak into that point. Add test cases in fuzzdata7.db. file: [e3e08171] check-in: [997b6511] user: drh branch: trunk, size: 357831 | |
21:05 | Fix a problem in sqlite3BtreeDelete() in which deleting an entry from a corrupt database can leave a btree page with zero cells. file: [d4bf14ab] check-in: [682053d1] user: drh branch: trunk, size: 358109 | |
03:36 | New database corruption test cases discovered by dbfuzz2. The new cases have been added to test/fuzzdata7.db, but have not yet all been fixed, so tests will not currently pass. file: [3d898fea] check-in: [b4210d32] user: drh branch: dbfuzz2-cases, size: 357765 | |
2018-12-11
| ||
13:44 | Merge latest trunk changes into this branch. file: [dcc6191c] check-in: [d8dd98a3] user: dan branch: wal2, size: 358074 | |
2018-12-10
| ||
02:00 | Merge enhancements from trunk. file: [f2a2336d] check-in: [b1bbc718] user: drh branch: apple-osx, size: 358259 | |
2018-12-06
| ||
17:06 | When masking bits off of sqlite3.flags, make sure the mask is 64 bits in size so as not to accidentally mask of high-order bits. file: [4377d0d9] check-in: [53d3b169] user: drh branch: trunk, size: 358043 | |
2018-12-03
| ||
20:49 | Merge the wal2 and begin-concurrent code. Both features work, but not at the same time. file: [f5041e98] check-in: [b7281a1c] user: dan branch: begin-concurrent-wal2, size: 376941 | |
2018-12-01
| ||
20:14 | Sync this branch with the latest trunk. file: [3887a4f5] check-in: [7a44fa5a] user: dan branch: wal2, size: 358069 | |
2018-11-26
| ||
23:35 | Merge recent enhancements from trunk. file: [35097c9e] check-in: [e8c20a88] user: drh branch: apple-osx, size: 358254 | |
07:34 | Merge latest begin-concurrent changes into this branch. file: [4a2184be] check-in: [76608f75] user: dan branch: begin-concurrent-pnu, size: 376910 | |
07:21 | Merge latest trunk changes into this branch. file: [4ad4c92b] check-in: [28a615a2] user: dan branch: begin-concurrent, size: 375838 | |
2018-11-22
| ||
19:10 | Fix a problem reading from temp databases in SQLITE_DIRECT_OVERFLOW_READ builds. file: [ba7c7eef] check-in: [81629ba9] user: dan branch: trunk, size: 358038 | |
2018-11-09
| ||
23:45 | Merge fixes from trunk. file: [9e94292b] check-in: [e3e9b85e] user: drh branch: apple-osx, size: 358455 | |
2018-11-03
| ||
17:31 | Correct the internal logic for SQLITE_DBCONFIG_DEFENSIVE. file: [3ef104ec] check-in: [76094345] user: drh branch: dbconfig-defensive, size: 358239 | |
16:09 | Add the SQLITE_DBCONFIG_DEFENSIVE flag. file: [41ab5267] check-in: [af3f29d4] user: drh branch: dbconfig-defensive, size: 358274 | |
2018-10-31
| ||
01:26 | Merge fixes from trunk, especially rebustness against corrupt database files. file: [d85ef1a1] check-in: [4b370c74] user: drh branch: apple-osx, size: 358462 | |
01:04 | Improved corrupt database detection in the relocatePage() routine of the b-tree module. file: [75ec3352] check-in: [d5787333] user: drh branch: trunk, size: 358246 | |
2018-10-09
| ||
22:50 | Merge changes for the 3.25.0 release. file: [5415f811] check-in: [ddf6a54e] user: drh branch: apple-osx, size: 358416 | |
2018-09-28
| ||
21:11 | Merge latest begin-concurrent changes into this branch. file: [b53864f0] check-in: [6f3dd980] user: dan branch: begin-concurrent-pnu, size: 377072 | |
20:58 | Merge latest trunk into this branch. file: [e642eb71] check-in: [86750c92] user: dan branch: begin-concurrent, size: 376000 | |
2018-07-20
| ||
15:44 | New checks in PRAGMA integrity_check to validate the autovacuum settings in the header. file: [3f5e1a03] check-in: [a4663f09] user: drh branch: trunk, size: 358200 | |
13:39 | Enhanced detection of problems on the freelist and on overflow list in PRAGMA integrity_check. file: [76395ea8] check-in: [11e58f5b] user: drh branch: trunk, size: 357692 | |
2018-07-19
| ||
11:44 | Experimental fix for resetting databases that have been deemed read-only due to a corrupt "read-version" header field. file: [4b91880a] check-in: [e2394002] user: dan branch: exp-dbreset-fix, size: 357785 | |
2018-07-10
| ||
15:48 | Merge begin-concurrent changes into this branch. file: [9e56cdf2] check-in: [af17432e] user: dan branch: begin-concurrent-pnu, size: 376519 | |
15:45 | Merge latest trunk changes into this branch. file: [23bad79f] check-in: [e9a3e864] user: dan branch: begin-concurrent, size: 375447 | |
2018-07-09
| ||
20:41 | Add an ALWAYS() around a branch in sqlite3BtreeSkipNext() that we believe must always be true. file: [d9dcccd6] check-in: [12be361a] user: drh branch: trunk, size: 357647 | |
2018-07-05
| ||
17:16 | In wal mode, if a "BEGIN EXCLUSIVE" command (or any other command that upgrades from no transaction directly to a write transaction) hits an SQLITE_BUSY_SNAPSHOT error, change the error code to SQLITE_BUSY to indicate to the caller that the condition may be transient. file: [0c27fb9b] check-in: [e6108047] user: dan branch: trunk, size: 357449 | |
17:03 | Fix a typo inside an assert() statement introduced by the previous commit. file: [757b2986] check-in: [e3357728] user: dan branch: exp-busy-snapshot-fix, size: 357645 | |
15:46 | In wal mode, if a "BEGIN EXCLUSIVE" command (or any other command that upgrades from no transaction directly to a write transaction) hits an SQLITE_BUSY_SNAPSHOT error, change the error code to SQLITE_BUSY to indicate to the caller that the condition may be transient. file: [c2b55e3a] check-in: [221ff63e] user: dan branch: exp-busy-snapshot-fix, size: 357645 | |
2018-06-22
| ||
20:51 | Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. file: [bb23e547] check-in: [5f04b016] user: dan branch: exp-window-functions, size: 357159 | |
2018-06-12
| ||
20:53 | Fix another issue to do with window-functions in aggregate queries. file: [50425f7f] check-in: [6413e38a] user: dan branch: exp-window-functions, size: 357092 | |
2018-06-09
| ||
18:09 | Merge recent trunk changes with this branch. file: [671207d6] check-in: [c71f2359] user: dan branch: exp-window-functions, size: 356908 | |
2018-06-08
| ||
19:13 | Fix an assert() that can be false for a corrupt database and a strange query that uses a recursive SQL function to delete content from a corrupt database file while it is being queried. file: [06690f5a] check-in: [99057383] user: drh branch: trunk, size: 356762 | |
2018-06-07
| ||
20:35 | Merge latest trunk changes with this branch. file: [c38cd920] check-in: [25102203] user: dan branch: exp-window-functions, size: 356448 | |
2018-06-06
| ||
17:12 | Merge the 3.24.0 changes plus a few subsequent enhancements. file: [99f493bd] check-in: [be7004a9] user: drh branch: begin-concurrent-pnu, size: 375174 | |
17:03 | Merge changes from trunk, including all the 3.24.0 changes plus some later enhancements. file: [c0c5ce45] check-in: [d7299bfe] user: drh branch: begin-concurrent, size: 374102 | |
16:28 | Change sqlite3BtreeBeginTrans() to return the BTREE_SCHEMA_COOKIE, for a small speed improvement when starting new transactions. file: [ae7687fa] check-in: [a10662aa] user: drh branch: trunk, size: 356302 | |
2018-06-04
| ||
14:10 | Merge changes from trunk. file: [194a98d9] check-in: [95fbac39] user: drh branch: apple-osx, size: 356376 | |
08:28 | Merge latest trunk changes into this branch. file: [7c26bc1d] check-in: [83d6416a] user: dan branch: exp-window-functions, size: 356306 | |
2018-06-02
| ||
16:32 | Work around a sanitizer warning about a pointer being only 4-byte aligned instead of 8-byte aligned. file: [44405d03] check-in: [1b807b51] user: drh branch: align8-fix, size: 356160 | |
2018-05-23
| ||
20:55 | Add support for "ROWS BETWEEN <expr> PRECEDING AND <expr> FOLLOWING" window frames. file: [b8fc4fcf] check-in: [3a203660] user: dan branch: exp-window-functions, size: 356140 | |
2018-05-15
| ||
11:55 | Merge latest trunk changes into this branch. file: [677a5e36] check-in: [72f39efa] user: dan branch: begin-concurrent-pnu, size: 374858 | |
11:45 | Merge latest trunk changes with this branch. file: [9e839c8c] check-in: [ae86cf60] user: dan branch: begin-concurrent, size: 373786 | |
11:33 | Instead of just the flags byte, include the first 8 bytes of the relevant page in an on-commit conflict log message. file: [05cb666b] check-in: [52e443eb] user: dan branch: begin-concurrent-pnu, size: 369845 | |
11:28 | Instead of just the flags byte, include the first 8 bytes of the relevant page in an on-commit conflict log message. file: [78be543c] check-in: [e7dc03e7] user: dan branch: begin-concurrent, size: 368773 | |
09:03 | Include the value of the "flags" byte of the relevant page in the log message emitted when a BEGIN CONCURRENT commit conflict is detected. file: [facc1e1a] check-in: [de19abb9] user: dan branch: begin-concurrent-pnu, size: 369495 | |
08:51 | Include the value of the "flags" byte of the relevant page in the log message emitted when a BEGIN CONCURRENT commit conflict is detected. file: [593a9043] check-in: [fbfa5471] user: dan branch: begin-concurrent, size: 368423 | |
2018-05-09
| ||
13:46 | Make the internal dynamic string interface available to extensions using the new sqlite3_str object and its associated methods. This is mostly just a renaming of internal objects and methods to use external names, through there are a few small wrapper functions. file: [8270813c] check-in: [87f261f0] user: drh branch: trunk, size: 355994 | |
2018-05-08
| ||
13:32 | Merge changes from trunk, especially the activation of the cell-overwrite optimization for indexes and WITHOUT ROWID tables. file: [9b2301d6] check-in: [a016144b] user: drh branch: apple-osx, size: 356211 | |
2018-05-07
| ||
18:41 | Activate the cell-overwrite optimization for index b-trees. file: [abedb349] check-in: [a68697d1] user: drh branch: trunk, size: 355995 | |
17:27 | Improved comments on the cell-overwrite optimization code. file: [7b21976d] check-in: [a4fe966d] user: drh branch: trunk, size: 355568 | |
13:01 | Merge enhancements from trunk, and especially the cell-overwrite optimization. file: [10ac889e] check-in: [cb3aa778] user: drh branch: apple-osx, size: 354852 | |
11:48 | On an UPDATE, try to overwrite an existing btree cell with the modified content, if the old and new cell are the same size. Use memcmp() first to avoid dirtying pages that are unchanged. file: [6be0267a] check-in: [5887d8be] user: drh branch: trunk, size: 354636 | |
11:29 | Fix harmless compiler warnings in the cell-overwrite logic. file: [b4ca692c] check-in: [3e11dc31] user: drh branch: cell-overwrite-prototype, size: 354535 | |
2018-05-05
| ||
01:23 | Fix a slightly incorrect corruption detection branch in the btree logic. file: [79982b07] check-in: [9191ff67] user: drh branch: trunk, size: 351216 | |
2018-05-04
| ||
19:33 | Merge recent enhancements from trunk. file: [76a514d8] check-in: [e17bca2c] user: drh branch: apple-osx, size: 351331 | |
2018-05-03
| ||
16:56 | Fix various error handling conditions on the cell overwrite optimization. Fix a test case so that it works with the new optimization. file: [8faf9ebb] check-in: [f89b54f4] user: drh branch: cell-overwrite-prototype, size: 354419 | |
14:07 | The BtCursor.info fields are only valid if info.nSize!=0. file: [edb3c69a] check-in: [54c537ee] user: drh branch: cell-overwrite-prototype, size: 354328 | |
13:56 | Add more corruption checking to the cell overwrite logic. file: [ffaf0f65] check-in: [58d14afe] user: drh branch: cell-overwrite-prototype, size: 354305 | |
12:57 | Bug fixes in the overwrite optimization. file: [7216dac5] check-in: [0cb6cd2a] user: drh branch: cell-overwrite-prototype, size: 354107 | |
03:59 | The sqlite3BtreeInsert() routine tries to overwrite an existing cell with modified content if the new content is the same size. Pages are only dirtied if they change. This prototype works some, but still has issues. file: [d1b1bd06] check-in: [489451b3] user: drh branch: cell-overwrite-prototype, size: 354120 | |
2018-04-28
| ||
01:27 | Add the "PRAGMA reset_database=ON|OFF" command. When on, it causes the database to appear to be empty, causing the next transaction to reset it to an empty database. file: [fa7da0a5] check-in: [02e1a13c] user: drh branch: reset-database, size: 351115 | |
2018-04-24
| ||
19:22 | Update this branch with latest changes from trunk. file: [d7417507] check-in: [2d8d13e4] user: dan branch: begin-concurrent-pnu, size: 369380 | |
19:21 | Merge latest trunk changes into this branch. file: [a64d302f] check-in: [b27bd799] user: dan branch: begin-concurrent, size: 368308 | |
2018-04-10
| ||
18:05 | Merge all version 3.23.1 changes and enhancements from trunk. file: [203c72f7] check-in: [e20fcb51] user: drh branch: apple-osx, size: 351197 | |
2018-03-28
| ||
15:41 | Update this branch with latest trunk changes. file: [ac5e98b8] check-in: [df52e89f] user: dan branch: server-process-edition, size: 361420 | |
2018-03-26
| ||
20:43 | Avoid a race condition that might cause a busy_timeout to last longer than it should. file: [9eb9531c] check-in: [b8196056] user: drh branch: lowlevel-lock-timeout, size: 350981 | |
17:40 | Add infrastructure to support for using F_SETLKW with a timeout on system that support that functionality. Requires SQLITE_ENABLE_SETLK_TIMEOUT. file: [4c30691b] check-in: [2e54a743] user: drh branch: lowlevel-lock-timeout, size: 350936 | |
16:37 | Refactor some internal object element names used by the busy handler, to simplify analysis. file: [dc9fda9c] check-in: [6c40c557] user: drh branch: trunk, size: 350871 | |
2018-03-14
| ||
17:17 | Merge the latest enhancements from trunk. file: [cd68bc5a] check-in: [a658f80c] user: drh branch: apple-osx, size: 351087 | |
2018-03-02
| ||
18:26 | Merge latest changes from begin-concurrent into this branch. file: [82848550] check-in: [8ade94ba] user: dan branch: begin-concurrent-pnu, size: 369270 | |
17:40 | Merge latest trunk changes into this branch. file: [d070d79e] check-in: [36801eff] user: dan branch: begin-concurrent, size: 368198 | |
2018-02-20
| ||
21:00 | Add extra code to log details when corruption is detected in the pointer-map structure maintained by the b-tree layer in begin-concurrent transactions. file: [8c6b9759] check-in: [57023371] user: dan branch: begin-concurrent-pnu, size: 367767 | |
2018-02-19
| ||
13:53 | Fix an assert so that it compares two CellInfo objects field by field instead of using memcmp(). Memcmp() does not work on x86 because of uninitialized padding bytes. file: [18a53540] check-in: [88258770] user: drh branch: trunk, size: 350871 | |
2018-02-04
| ||
01:30 | Fix harmless compiler warning seen with MSVC. file: [f7bb37c2] check-in: [63a91441] user: mistachkin branch: trunk, size: 350602 | |
2018-01-24
| ||
16:04 | Rearrange fields of the BtCursor object so that it is smaller and requires less initialization, for a small performance improvement. file: [d711228c] check-in: [0ddf5292] user: drh branch: trunk, size: 350597 | |
2018-01-23
| ||
13:30 | Fix comment typos. No changes to code. file: [1beceb1c] check-in: [8e5e74c6] user: drh branch: trunk, size: 350551 | |
2018-01-22
| ||
19:04 | Merge all version-3.22.0 changes. file: [65617303] check-in: [27e20d69] user: drh branch: apple-osx, size: 350825 | |
15:45 | Avoid unnecessary OOM detection warnings in a debugging routine. file: [bfc453ba] check-in: [395f8ea7] user: drh branch: trunk, size: 350609 | |
2018-01-15
| ||
21:59 | Merge the enhancements associated with the first 3.22.0 beta. file: [811b367b] check-in: [c9d2ec51] user: drh branch: apple-osx, size: 350759 | |
2018-01-04
| ||
18:36 | Fix problem causing free-list corruption when merging free-lists for two concurrent transactions that have both used page X as an in-memory free-list trunk page, where X lies past the end of the initial database images. file: [8cbe0ce2] check-in: [dc0fc2aa] user: dan branch: begin-concurrent-pnu, size: 366814 | |
2018-01-02
| ||
19:57 | Fix a spurious SQLITE_CORRUPT error that could occur within a COMMIT of a concurrent transaction. file: [c3e15a9e] check-in: [50c8952c] user: dan branch: begin-concurrent-pnu, size: 366707 | |
2017-12-29
| ||
15:04 | Change the function name to sqlite_unsupported_offset(X). Only enable the function if compiled with -DSQLITE_ENABLE_OFFSET_SQL_FUNC. The makefiles add that definition to shell builds. file: [0a1f63b5] check-in: [7a7f826e] user: drh branch: location-function, size: 350543 | |
14:33 | Enhance location(X) so that it works with indexes and WITHOUT ROWID tables. The function might return an offset to the main table or to an index, depending on whether the column X would be loaded from the main table or from the index. file: [516fea6c] check-in: [dd94d6a8] user: drh branch: location-function, size: 350465 | |
2017-12-16
| ||
20:20 | Add an experimental location(X) SQL function that attempt to return the location of the payload within the database for the record that contains column X. location(X) returns NULL if X is not an ordinary table column or if SQLite cannot figure out the location because it is using a covering index. file: [6fba32ea] check-in: [51be9558] user: drh branch: location-function, size: 350488 | |
2017-11-28
| ||
08:08 | Merge latest trunk changes, including the SQLITE_ENABLE_MULTITHREADED_CHECKS feature, into this branch. file: [d9fa7d5b] check-in: [1fd10349] user: dan branch: apple-osx, size: 350301 | |
2017-11-18
| ||
17:30 | Enhance the log messages produced in some cases if database corruption is encountered by an SQLITE_DEBUG build. file: [b83a6b03] check-in: [23a31280] user: dan branch: sqlite-corrupt-page, size: 350085 | |
2017-11-06
| ||
20:02 | Merge latest trunk changes into this branch. file: [a41d5805] check-in: [7f217eda] user: dan branch: begin-concurrent, size: 366695 | |
2017-10-24
| ||
19:12 | Merge all enhancements and fixes from the 3.21.0 release. file: [0553adcf] check-in: [13be3a44] user: drh branch: apple-osx, size: 349584 | |
2017-10-19
| ||
15:17 | Take extra care to avoid an OOB read caused by a corrupt b-tree page. This fixes a problem detected by Natalie Silvanovich of Google Project Zero. file: [75229a5a] check-in: [04925dee] user: dan branch: trunk, size: 349368 | |
2017-10-12
| ||
01:19 | Fix a typo in a numeric constant in an assert() - a bug that has been present in the code since check-in [79e22b95038] on 2010-03-30. file: [8565b061] check-in: [f0a2724f] user: drh branch: branch-3.21, size: 349164 | |
2017-10-06
| ||
14:25 | Merge latest trunk changes into this branch. file: [a559d641] check-in: [7e435178] user: dan branch: wal2, size: 349194 | |
2017-10-05
| ||
20:57 | Fix compiler warnings that come up with SQLITE_OMIT_WAL. file: [07ad643c] check-in: [8ca0fa8d] user: drh branch: trunk, size: 349163 | |
2017-10-04
| ||
20:57 | Add experimental mode that uses two wal files. Activated using "PRAGMA journal_mode = wal2". file: [c7d94975] check-in: [e2fc5c81] user: dan branch: wal2, size: 349159 | |
18:26 | Updates to requirements marks. file: [cc88a7fc] check-in: [40964a4e] user: drh branch: trunk, size: 349128 | |
2017-09-28
| ||
13:47 | Fix an issue introduced by check-in [4cd2a9672c59] (2017-03-03) that could allow a negative value in the 3rd parameter to memmove() when defragmentPage() is called on a btree page with a corrupted freeblock list. The corruption is now detected early and results in an SQLITE_CORRUPT return before the memmove() is reached. file: [221bc1b8] check-in: [5b9ae693] user: drh branch: trunk, size: 349261 | |
2017-09-22
| ||
20:18 | Merge in all the trunk enhancements of the previous 7 months. The LIKE optimization has stopped working when there is an ESCAPE - that problem will be addressed in a subsequent check-in. file: [9c273587] check-in: [8d2a1cca] user: drh branch: est_count_pragma, size: 351208 | |
10:49 | Merge latest trunk changes into this branch. file: [e709a9ab] check-in: [307b802e] user: dan branch: begin-concurrent, size: 366501 | |
2017-09-09
| ||
06:10 | Merge trunk enhancements file: [0e4827cd] check-in: [6a0b9d9d] user: drh branch: apple-osx, size: 349390 | |
2017-09-04
| ||
19:31 | Use the SQLITE_CORRUPT_BKPT return code in a couple more places. file: [1c2b2f17] check-in: [72d22c22] user: mistachkin branch: trunk, size: 349174 | |
2017-09-01
| ||
14:50 | Add the new sqlite3PagerUnrefPageOne() pager method to deal with the special case of unreferencing page1. file: [f1ac9509] check-in: [b2e2100c] user: drh branch: trunk, size: 349164 | |
2017-08-28
| ||
17:26 | Remove the rarely-used scratch memory allocator. This makes the code smaller, faster, and easier to maintain. In place of the scratch allocator, add the SQLITE_CONFIG_SMALL_MALLOC configuration option that provides a hint to SQLite that large memory allocations should be avoided. file: [a4421dd0] check-in: [cc440400] user: drh branch: begin-concurrent-branch-3.19, size: 365312 | |
17:19 | Merge recent enhancements from trunk. file: [fd5d4ce0] check-in: [d53108e7] user: drh branch: begin-concurrent, size: 365962 | |
15:51 | Remove the rarely-used scratch memory allocator. This makes the code smaller, faster, and easier to maintain. In place of the scratch allocator, add the SQLITE_CONFIG_SMALL_MALLOC configuration option that provides a hint to SQLite that large memory allocations should be avoided. file: [1033b88f] check-in: [54b00024] user: drh branch: trunk, size: 348603 | |
2017-08-25
| ||
13:02 | Convert a branch made unreachable by [59560d07] into an assert(). file: [83933a8d] check-in: [2738b8db] user: drh branch: trunk, size: 348601 | |
2017-08-23
| ||
23:09 | Performance optimization to pageFindSlot() in the b-tree layer. file: [f93c05db] check-in: [59560d07] user: drh branch: trunk, size: 348603 | |
20:36 | Size and performance optimization to dropCell() and freeSpace(). file: [45f3b8b3] check-in: [bc1ec123] user: drh branch: trunk, size: 348719 | |
14:45 | Smaller and faster implementation of the fillInCell() routine. file: [ea10ca63] check-in: [77074990] user: drh branch: trunk, size: 348727 | |
2017-08-16
| ||
19:20 | Avoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reduce the size and improve the performance of OP_Column. file: [e1a98bef] check-in: [f078deb2] user: drh branch: trunk, size: 348318 | |
17:06 | Update this branch with the latest changes from trunk. file: [70fcdba8] check-in: [380a7b7a] user: dan branch: server-process-edition, size: 358380 | |
2017-08-15
| ||
03:46 | Btree optimization: New field BtCursor.pPage that points to the current page, saving a single pointer dereference on each access. file: [d2f5f347] check-in: [373b71d1] user: drh branch: trunk, size: 347941 | |
2017-08-14
| ||
23:53 | Minor size and performance optimization to sqlite3BtreeCloseCursor(). file: [05781141] check-in: [16969338] user: drh branch: trunk, size: 348106 | |
18:13 | Change the internal btree routine moveToRoot() to return SQLITE_EMPTY if the table is empty or if it has pgnoRoot==0. This simplifies the callers, making them smaller and faster. The SQLITE_EMPTY result code is intercepted and changed into SQLITE_OK before surfacing in an API. file: [43d1c5b3] check-in: [240d5714] user: drh branch: trunk, size: 348141 | |
17:03 | Fix harmless indentation error. file: [5a6efa29] check-in: [25e92baa] user: drh branch: trunk, size: 348064 | |
2017-08-11
| ||
19:16 | Merge the latest enhancements from trunk. file: [91e4c841] check-in: [47e71695] user: drh branch: begin-concurrent, size: 365394 | |
2017-08-07
| ||
14:15 | Update this branch with latest trunk changes. file: [f9628676] check-in: [17bc7ded] user: dan branch: server-process-edition, size: 358504 | |
2017-08-02
| ||
18:27 | Minor optimization on clearCell() file: [1a17ba1a] check-in: [f3c39c29] user: drh branch: trunk, size: 348065 | |
15:50 | Optimizations associated with error handling in btree cursors. file: [41232143] check-in: [49ba54e2] user: drh branch: trunk, size: 348058 | |
2017-07-20
| ||
19:08 | Fix compiler warnings. file: [a21ffc82] check-in: [44c760d1] user: drh branch: begin-concurrent, size: 365310 | |
18:28 | Get the build working with SQLITE_OMIT_CONCURRENT. file: [7e967347] check-in: [a29401e9] user: drh branch: begin-concurrent, size: 365336 | |
17:47 | Merge all the latest trunk enhancements. file: [b3d5ea91] check-in: [213c61cb] user: drh branch: begin-concurrent, size: 365273 | |
2017-07-19
| ||
18:54 | Merge latest trunk changes with this branch. file: [d0111c10] check-in: [be0df0a6] user: dan branch: server-process-edition, size: 358420 | |
2017-07-17
| ||
20:21 | Merge all the latest fixes and enhancements from trunk. file: [155f59dc] check-in: [e181225d] user: drh branch: apple-osx, size: 348197 | |
2017-07-13
| ||
21:06 | Make the freelist format a separate feature from the page-level locking. Freelist format is now configure using "PRAGMA freelist_format". file: [85cd6d97] check-in: [dcc40797] user: dan branch: server-process-edition, size: 357492 | |
2017-07-11
| ||
18:11 | Fix harmless compiler warnings in the core. file: [f55ea8f4] check-in: [55e93f25] user: drh branch: trunk, size: 347981 | |
2017-07-08
| ||
20:46 | Support read-only MVCC transactions in server-mode. Started using "BEGIN READONLY". file: [0e1bcecd] check-in: [5a043aa8] user: dan branch: server-process-edition, size: 356391 | |
2017-07-07
| ||
22:58 | Merge in all the latest trunk enhancements. file: [d8a9a8b6] check-in: [7f48f6ab] user: drh branch: apple-osx, size: 348080 | |
20:06 | Add the "PRAGMA secure_delete=FAST" option, which overwrites most deleted content without increasing the amount of I/O. Deleted content might persist on the free page list, however. And extra CPU cycles are used for zeroing, of course. file: [79fb0033] check-in: [38978ce6] user: drh branch: trunk, size: 347864 | |
16:40 | Merge latest trunk changes with this branch. file: [6ff4027f] check-in: [216c757f] user: dan branch: server-process-edition, size: 356367 | |
2017-06-26
| ||
13:57 | Add the SQLITE_DBCONFIG_ENABLE_QPSG option to activate the query planner stability guarantee. This involves refactoring the sqlite3.flags bitvector to carve out a free bit to use. file: [00579ff9] check-in: [7076e828] user: drh branch: enable-QPSG, size: 347053 | |
2017-06-23
| ||
21:05 | Merge all recent trunk enhancements into the apple-osx branch. file: [388fd95a] check-in: [53b14a38] user: drh branch: apple-osx, size: 347282 | |
2017-06-19
| ||
11:44 | Experimental "PRAGMA secure_delete=FAST" pragma. The intent is to overwrite deleted content with zeros without increasing the amount of disk I/O. file: [127ae15b] check-in: [f1682f0f] user: drh branch: fast-secure-delete, size: 347877 | |
2017-06-17
| ||
00:39 | When building an ephemeral table of integers, do not assume that the table does not already contain N if the insert cursor points to N-1. Fix for ticket [61fe9745]. Also increase the version number to 3.18.2. This is the release candidate. file: [8668d6ee] check-in: [e1b71029] user: drh branch: branch-3.18, size: 347402 | |
2017-06-12
| ||
23:44 | Ensure pointer map entries are always added when a row that does use overflow pages replaces one that does not in an auto-vacuum database. Fix for [fda22108]. file: [5aa61082] check-in: [30c50f0e] user: drh branch: branch-3.18, size: 347530 | |
2017-06-11
| ||
18:26 | Fix a potential null-pointer deference following OOM introduced by check-in [e39795d7] (unreleased). file: [430e3415] check-in: [a2f77285] user: drh branch: trunk, size: 347066 | |
2017-06-10
| ||
17:23 | Remove sqlite3_log() and abort() calls added to this branch to debug the pointer-map problem ([fda22108]). file: [5a93ba67] check-in: [79544fc2] user: dan branch: begin-concurrent, size: 364459 | |
2017-06-08
| ||
16:23 | Update the recent auto-vacuum fix so that it works for the in-memory pointer-map structure used by this branch. file: [1394abd6] check-in: [8e311a6d] user: dan branch: begin-concurrent, size: 365925 | |
16:10 | Merge 3.19.3 changes with this branch. file: [95dd5106] check-in: [e2d38d51] user: dan branch: begin-concurrent, size: 365923 | |
14:41 | Merge the auto_vacuum bug fix and all other changes from the 3.19.3 release. file: [4f095b81] check-in: [93f32dd2] user: drh branch: apple-osx, size: 347383 | |
11:26 | Ensure pointer map entries are always added when a row that does use overflow pages replaces one that does not in an auto-vacuum database. Fix for [fda22108]. file: [de57bf3f] check-in: [9478106c] user: drh branch: branch-3.19, size: 347167 | |
11:14 | Ensure pointer map entries are always added when a row that does use overflow pages replaces one that does not in an auto-vacuum database. Fix for [fda22108]. file: [896b823a] check-in: [b30dfba8] user: dan branch: trunk, size: 347049 | |
2017-06-07
| ||
22:32 | In SQLITE_DEBUG mode, attempt to log the page number of the database that contained the problem when SQLITE_CORRUPT errors are seen. file: [a13e516b] check-in: [e39795d7] user: drh branch: trunk, size: 346769 | |
2017-06-02
| ||
09:31 | Extend even further the logging designed to find problems in the pointer-map structure. Call abort() to dump a core as soon as such a problem is seen. file: [63ae7953] check-in: [f131677d] user: dan branch: begin-concurrent, size: 365643 | |
2017-05-31
| ||
17:06 | Generate extra log messages in response to irregularites in the pointer-map used by "BEGIN CONCURRENT" transactions. file: [322cd2e8] check-in: [f7e3e2bc] user: dan branch: begin-concurrent, size: 365435 | |
2017-05-30
| ||
18:34 | Change sqlite3BtreeNext() and sqlite3BtreePrevious() so that they return SQLITE_DONE if they have already reached the end (or beginning) of the table. This gives a performance increase and size reduction. file: [8ac6ae35] check-in: [e972a386] user: drh branch: trunk, size: 346155 | |
2017-05-29
| ||
19:23 | Instead of a root page number, log the object (table or index) name if a page level locking conflict is detected. file: [8be55b3e] check-in: [9ad846e5] user: dan branch: begin-concurrent, size: 364177 | |
14:27 | Enhance the log messages emitted when a page conflict is detected. file: [3c540945] check-in: [92618492] user: dan branch: begin-concurrent, size: 362684 | |
2017-05-27
| ||
18:05 | Add debugging functions btreePageOriginFile() and btreePageOriginOffset(). file: [babb72f4] check-in: [214d238a] user: dan branch: btree-debug, size: 347766 | |
2017-05-26
| ||
16:15 | Fix a problem with deferred page allocation in transactions that revert page allocations by savepoint rollbacks. file: [ca942fd7] check-in: [a4a3bbe6] user: dan branch: begin-concurrent, size: 362057 | |
2017-05-25
| ||
21:35 | Small performance increase and size decrease in the btreeInitPage() routine. file: [0065e4bb] check-in: [6f415833] user: drh branch: trunk, size: 346719 | |
21:02 | Fix a problem with the deferred page allocation on this branch that could occur when the database file is just slightly smaller than the PENDING_BYTE page offset. file: [ffb001f0] check-in: [47a7dd92] user: dan branch: begin-concurrent, size: 362032 | |
2017-05-15
| ||
17:34 | Merge the latest changes from trunk. file: [b8ffd067] check-in: [14ea8400] user: drh branch: begin-concurrent, size: 362009 | |
2017-05-11
| ||
18:49 | Merge recent enhancements from trunk. file: [9d5f1346] check-in: [b55c0f14] user: drh branch: apple-osx, size: 347103 | |
2017-05-01
| ||
20:07 | Update this branch with latest trunk changes. file: [ca26f48d] check-in: [83b1e163] user: dan branch: server-edition, size: 356201 | |
18:24 | Enhance "PRAGMA integrity_check" to detect duplicate rowids within a leaf page. file: [8c1fd4cf] check-in: [adcad37b] user: dan branch: trunk, size: 346887 | |
18:12 | Clear the BTCF_ValidNKey flag set if a cursor is moved by sqlite3BtreeInsert(). Fix for [f68dc596c4]. file: [ef42df0c] check-in: [a6727eef] user: dan branch: trunk, size: 346808 | |
2017-04-29
| ||
15:48 | Avoid reading the file-size before page 1 is read-locked. file: [5bd5e1f1] check-in: [f6b025bf] user: dan branch: server-edition, size: 356083 | |
2017-04-28
| ||
17:32 | Fix various bugs revealed by running performance tests. file: [defa7525] check-in: [a40b42c4] user: dan branch: server-edition, size: 356237 | |
14:09 | Add a missing releasePage() call to the server-mode free-list management code. file: [16a5f4fd] check-in: [a5a08548] user: dan branch: server-edition, size: 355645 | |
10:20 | Use a different free-list format for server-mode databases in order to reduce contention. file: [c721037a] check-in: [778e8a10] user: dan branch: server-edition, size: 355620 | |
2017-04-24
| ||
16:14 | Bring in all the latest enhancements from trunk. file: [71c947c2] check-in: [031feebc] user: drh branch: apple-osx, size: 346985 | |
14:16 | When building an ephemeral table of integers, do not assume that the table does not already contain N if the insert cursor points to N-1. Fix for ticket [61fe9745]. file: [a0d9a1c7] check-in: [1c1b0862] user: dan branch: trunk, size: 346769 | |
2017-04-08
| ||
00:25 | Merge the latest trunk changes. file: [1b654f06] check-in: [dd16439e] user: drh branch: apple-osx, size: 347113 | |
2017-04-01
| ||
00:20 | Save a 78 bytes of code space and a million CPU cycles in speedtest1 by storing the cell index for the leaf page in the BtCursor object in its own field (BtCursor.ix), rather than as an entry in the BtCursor.aiIdx array. file: [24ae5472] check-in: [2452f061] user: drh branch: trunk, size: 346897 | |
2017-03-30
| ||
20:26 | Merge all changes from the 3.18.0 release. file: [9f218dcf] check-in: [ed28f15e] user: drh branch: apple-osx, size: 347466 | |
2017-03-29
| ||
18:03 | Avoid unnecessary blob handle invalidation when changes are made to an unrelated table. file: [64ff65a0] check-in: [4a01880b] user: drh branch: trunk, size: 347390 | |
2017-03-24
| ||
15:09 | Merge all recent enhancements from trunk. file: [a6be0129] check-in: [fd5676fe] user: drh branch: begin-concurrent, size: 362372 | |
2017-03-16
| ||
18:54 | Fix a typo causing the build to fail if SQLITE_DEFAULT_SYNCHRONOUS==SQLITE_DEFAULT_WAL_SYNCHRONOUS. file: [ae0e0397] check-in: [df39adea] user: dan branch: default-synchronous-fix, size: 347250 | |
18:14 | If the user has not set it explicitly, set the "PRAGMA synchronous" setting to SQLITE_DEFAULT_SYNCHRONOUS when a database connection changes from wal to rollback journal mode. file: [ace24955] check-in: [78030c0f] user: dan branch: default-synchronous-fix, size: 347237 | |
2017-03-06
| ||
20:00 | Merge all pending 3.18 enhancements from trunk. file: [75b11704] check-in: [1650c3f4] user: drh branch: apple-osx, size: 347056 | |
11:39 | Merge updates from trunk. file: [e2bae0a0] check-in: [5f7fc79a] user: drh branch: auto-analyze, size: 346840 | |
2017-03-03
| ||
20:02 | Fix a case introduced by [4cd2a967] where a corrupt database could cause a buffer overwrite. file: [91baade7] check-in: [5d0455fe] user: dan branch: trunk, size: 346141 | |
2017-03-02
| ||
13:22 | Merge recent trunk enhancements. file: [83e2bc48] check-in: [c60cdb47] user: drh branch: auto-analyze, size: 346094 | |
2017-02-25
| ||
16:24 | Tweak the code on this branch to detect b-tree page corruption in the same cases as the trunk. file: [03149b0f] check-in: [f9863b39] user: dan branch: defragmentpage-opt, size: 345395 | |
2017-02-24
| ||
19:58 | Optimize defragmentPage() in the case where the page contains either one or two free-blocks and a small number of fragmented bytes. file: [1763e0ec] check-in: [202b1c02] user: dan branch: defragmentpage-opt, size: 345380 | |
2017-02-23
| ||
02:15 | Add two NEVER() operators in the sqlite3BtreeRowCountEst() routine. file: [19746a7d] check-in: [7a959f6d] user: drh branch: auto-analyze, size: 344757 | |
2017-02-18
| ||
02:42 | Fix errors in the table resize detection. file: [a4ab1fb5] check-in: [4229caec] user: drh branch: auto-analyze, size: 344568 | |
2017-02-17
| ||
19:24 | The analyze_as_needed pragma now responds to table size growth and will automatically rerun the analysis after each 10x size increase. file: [e7d724b0] check-in: [bfbdd074] user: drh branch: auto-analyze, size: 344569 | |
2017-02-16
| ||
14:02 | Merge recent enhancements from trunk. file: [ab9cb31e] check-in: [325ccfa9] user: drh branch: est_count_pragma, size: 346092 | |
2017-02-13
| ||
13:35 | Change all legacy instances of "#if SQLITE_DEBUG" to "#ifdef SQLITE_DEBUG" for consistency. file: [3ae66974] check-in: [670f10b2] user: drh branch: trunk, size: 344058 | |
2017-02-04
| ||
15:29 | Merge recent trunk enhancements. file: [05843aa2] check-in: [6c3f0902] user: drh branch: apple-osx, size: 344268 | |
2017-02-02
| ||
00:46 | This is an experimental patch that ensures that all cursors have their position saved prior to starting a ROLLBACK TO. file: [9fe65ab4] check-in: [01d97e5b] user: drh branch: savepoint-rollback, size: 344052 | |
2017-01-27
| ||
16:39 | Merge all recent trunk enhancements into the apple-osx branch. file: [a018a533] check-in: [0e14fe1b] user: drh branch: apple-osx, size: 344157 | |
16:24 | Merge all recent enhancements from trunk. file: [4be2a8e4] check-in: [fe86ff54] user: drh branch: est_count_pragma, size: 345975 | |
01:25 | Another micro-optimization in accessPayload(). Slightly smaller and faster. file: [6a63fa34] check-in: [c012619b] user: drh branch: trunk, size: 343941 | |
01:13 | Performance optimization in accessPayload(). file: [1329274c] check-in: [ebb1fd98] user: drh branch: trunk, size: 343897 | |
00:31 | Simplify the accessPayload() routine so that it always populates the overflow page cache. In the one case where populating the page cache can lead to problems, simply invalidate the cache as soon as accessPayload() returns. This simplification reduces code size and helps accessPayload() to run a little faster. This backs out the eOp==2 mode of accessPayload() added by check-in [da59198505]. file: [d42f2902] check-in: [68e7a8c6] user: drh branch: trunk, size: 343869 | |
2017-01-26
| ||
21:30 | Remove an unreachable branch in the error handling logic for sqlite3BtreePayloadChecked(). file: [bd72bb69] check-in: [293bf3ed] user: drh branch: trunk, size: 344368 | |
16:54 | Performance optimization to sqlite3_blob_read(). file: [6fe6a585] check-in: [7459f4b7] user: drh branch: trunk, size: 344363 | |
16:27 | Minor simplification and performance optimization for Direct Overflow Read. file: [a168da7c] check-in: [3e96d6ef] user: drh branch: trunk, size: 344087 | |
02:26 | Make SQLITE_DIRECT_OVERFLOW_READ work for in WAL mode as long as the page being read is not in the the -wal file. file: [4a4ae5fd] check-in: [9879be18] user: drh branch: trunk, size: 344285 | |
2017-01-21
| ||
21:47 | A better implementation of the moveto-neighbor optimization that checks for nearby rows on adjacent pages. file: [f1b36bcf] check-in: [2c4ecb85] user: drh branch: btree-moveto-neighbor, size: 344289 | |
16:54 | B-tree optimization: When seeking on a rowid table that has already been positioned, check to see if the new row happens to be the next row on the same leaf page. That is a reasonably common case, and if it is true it avoids a full binary search. file: [972b7e13] check-in: [8e5cfb20] user: drh branch: btree-moveto-neighbor, size: 344029 | |
2017-01-20
| ||
20:43 | Minor performance optimization and size reduction to the accessPayload() routine in btree.c. file: [e6b8f39d] check-in: [264e5c10] user: drh branch: trunk, size: 343675 | |
2017-01-19
| ||
11:52 | Add test cases for the instrumentation on this branch. Fix some OOM handling issues in the same. file: [9e3d38d2] check-in: [50ca94b9] user: dan branch: transaction-pages, size: 346905 | |
2017-01-18
| ||
20:14 | Add temporary code to record and report on the set of b-tree pages read and written by the current transaction. This is likely still buggy. file: [b0b714e3] check-in: [2a8f6c89] user: dan branch: transaction-pages, size: 346705 | |
2017-01-12
| ||
19:10 | Remove a branch that is probably unreachable, and which adds no value. file: [69966fb2] check-in: [9acc7238] user: drh branch: trunk, size: 343646 | |
16:14 | Remove an unnecessary corruption test from the btree balancer. If corruption is present, it will be found harmlessly by later tests. file: [5f864213] check-in: [bddf3956] user: drh branch: trunk, size: 343663 | |
15:19 | Test case macros to show that the previous check-in is well tested. file: [e40ad224] check-in: [bd8b977a] user: drh branch: extra-testcase-macros, size: 343895 | |
15:11 | Improved detection of cells that extend into the reserved space at the end of the page while adjusting overflow page pointers during autovacuum. file: [90f8b15e] check-in: [8097712c] user: drh branch: trunk, size: 343735 | |
2017-01-10
| ||
20:04 | Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. file: [44e96129] check-in: [46db23cc] user: dan branch: onepass-update, size: 343659 | |
2017-01-09
| ||
20:57 | Merge latest changes from trunk, and also move the perf-counter into the inner loop of sqlite3BtreeMovetoUnpacked(). file: [32c8ebde] check-in: [ff9eab95] user: drh branch: vdbe-aux-perf, size: 342897 | |
06:33 | Upgrade this branch to 3.16 plus the various fixes that appeared after its release. file: [5e5bf507] check-in: [d0e212d0] user: dan branch: begin-concurrent, size: 357983 | |
2017-01-07
| ||
00:42 | This hack illustrates how to use the VDBE_PROFILE mechanism to show which bytecode operators are using resources other than time. In this case, the number of loops through the binary search code in sqlite3BtreeMovetoUnpacked() is measured, for the purpose of helping to identify unnecessary btree searches. file: [616212ac] check-in: [746b1836] user: drh branch: vdbe-aux-perf, size: 342879 | |
2017-01-03
| ||
20:20 | Merge changes from the 3.16.1 release file: [95ffea8c] check-in: [dcbec226] user: drh branch: apple-osx, size: 343077 | |
2016-12-26
| ||
01:41 | Remove an incorrect ALWAYS() macro from balance_nonroot(), which could result in corrupt databases if it were optimized out. This ALWAYS was added only two weeks ago (check-in [f9f2e23bbd68a]) and has never appeared in an official release. file: [d2c10061] check-in: [e447b23c] user: drh branch: trunk, size: 342861 | |
2016-12-21
| ||
19:45 | Simplifications to the way UnpackedRecord objects are allocated. Smaller and faster code that also fixes a subtle (currently unreachable) bug. file: [2e07a5a6] check-in: [f7ab01f2] user: drh branch: trunk, size: 342869 | |
2016-12-16
| ||
21:29 | Merge recent enhancements from trunk, and especially the pragma-as-vtab change. file: [66e48252] check-in: [4b1e7804] user: drh branch: apple-osx, size: 343237 | |
15:57 | Merge recent trunk enhancements. file: [7892be7e] check-in: [74a0ca1f] user: drh branch: est_count_pragma, size: 345055 | |
2016-12-13
| ||
20:30 | Fix harmless compiler warnings. file: [b2055dff] check-in: [ed2c9f37] user: drh branch: trunk, size: 343021 | |
2016-12-12
| ||
18:12 | Remove unnecessary MemPage initialization resets in the autovacuum ptrmap processing. file: [0d377e57] check-in: [1b36fbb9] user: drh branch: trunk, size: 343007 | |
16:15 | Merge all the latest performance enhancements from trunk. file: [50bd8434] check-in: [a24f805b] user: drh branch: apple-osx, size: 343403 | |
12:58 | Merge recent enhancements from trunk. file: [32811397] check-in: [dc006e08] user: drh branch: est_count_pragma, size: 345221 | |
01:30 | Size and performance optimization in btreeInitPage() in the freeblock validation step. file: [383ce69b] check-in: [57deb1b4] user: drh branch: trunk, size: 343187 | |
00:58 | Change the order of comparison for divider cell overflow in balance non-root to avoid a (harmless) reference to an uninitialized variable. file: [5299b39c] check-in: [f9f2e23b] user: drh branch: trunk, size: 343103 | |
2016-12-10
| ||
13:12 | Avoid an unnecessary memset() in the sqlite3BtreeInsert() routine. file: [55b5e0e1] check-in: [35ecd4eb] user: drh branch: trunk, size: 343095 | |
00:14 | In balance_nonroot, try to combine dropCell/insertCell combinations for the dividers into a cell overwrites. This results in a very small (0.05%) performance gain which is probably not worth the added complexity. file: [518b5a36] check-in: [478627c9] user: drh branch: failed-dropCell-opt, size: 344476 | |
2016-12-09
| ||
19:42 | When doing the sqlite3BtreeInsert() overwrite optimization, make sure the memcpy() does not extend off the end of the page. file: [217c9900] check-in: [684ef458] user: drh branch: trunk, size: 343030 | |
18:09 | Additional comments and an assert on the sqlite3BtreeInsert() overwrite optimization. file: [38bc160d] check-in: [c1f0ae9d] user: drh branch: trunk, size: 342958 | |
17:32 | In sqlite3BtreeInsert() when replacing a re-existing row, try to overwrite the cell directly rather than deallocate and reallocate the cell. file: [71f31086] check-in: [0b86fbca] user: drh branch: trunk, size: 342582 | |
16:02 | Avoid unnecessary zeroing of fields in the MemPage object that are going to be reinitialized before use anyhow. A smaller and faster binary results. file: [c73d7787] check-in: [01ada3d1] user: drh branch: trunk, size: 342422 | |
2016-11-30
| ||
16:39 | Merge all the latest changes from trunk. file: [7b235533] check-in: [7ca58a07] user: drh branch: est_count_pragma, size: 344277 | |
2016-11-26
| ||
20:44 | Merge all recent trunk changes, and especially the new sqlite3_snapshot_recover() interface. file: [f1818376] check-in: [41a3af54] user: drh branch: apple-osx, size: 342459 | |
2016-11-25
| ||
19:18 | Refactor the sqlite3BtreeKey() and sqlite3BtreeData() internal interfaces into sqlite3BtreePayload() and sqlite3BtreePayloadChecked(), respectively. This is a continuation of the optimization started by check-in [2d831074cf]. The result is a slightly smaller and faster binary. file: [9b30dbe2] check-in: [49ebc219] user: drh branch: trunk, size: 342243 | |
2016-11-22
| ||
01:26 | Remove unnecessary OP_Close opcodes for a size reduction and performance increase. file: [090a13ac] check-in: [32be7aae] user: drh branch: trunk, size: 342137 | |
2016-11-15
| ||
04:00 | Change the OP_Last opcode so that it is a no-op if the cursor is already pointing at the end of the b-tree. file: [a7ed407f] check-in: [66347385] user: drh branch: trunk, size: 342816 | |
2016-11-11
| ||
18:19 | Remove obselete and unused logic in the update code generator. Fix the sqlite3BtreeMovetoUnpacked() routine so that it remembers the rowid of the row that it landed on. file: [cfe038d1] check-in: [1a587d72] user: drh branch: unpacked-IdxInsert, size: 342707 | |
2016-11-10
| ||
21:19 | Break up the sqlite3BtreeMovetoUnpacked() routine into an eponymous routine and sqlite3BtreeMovetoIntkey(). Each routine specializes in a single kind of btree. file: [0974c9d9] check-in: [9a64a4f2] user: drh branch: split-moveto, size: 344727 | |
20:42 | Avoid a few unnecessary calls to sqlite3BtreeMovetoUnpacked(). file: [592a72c2] check-in: [eac0e827] user: drh branch: unpacked-IdxInsert, size: 342718 | |
2016-11-09
| ||
20:14 | Comment changes that attempt to better explain the behavior of the "seekResult" field on VdbeCursor objects and the seekResult parameter to sqlite3BtreeInsert() and the OPFLAG_USESEEKRESULT flag on insert opcodes. No changes to code. file: [d1a3d691] check-in: [345b46be] user: drh branch: unpacked-IdxInsert, size: 342614 | |
00:10 | Enhance the OP_IdxInsert opcode to optionally accept unpacked key material. file: [fa0e4f26] check-in: [89d958ab] user: drh branch: unpacked-IdxInsert, size: 342481 | |
2016-11-04
| ||
19:09 | Merge recent trunk changes, including all the fixes that appeared in version 3.15.1. file: [67d1cc4e] check-in: [0e5ffd91] user: drh branch: apple-osx, size: 342445 | |
2016-11-03
| ||
18:30 | Avoid using the "direct overflow read" optimization to read large blobs if the pager layer has a wal file open - even if the database header indicates that the db is not a wal database. file: [72965b02] check-in: [63cfe197] user: drh branch: branch-3.15, size: 341933 | |
2016-10-25
| ||
19:39 | Simplifications to faststat1.c. Fix a bug in sqlite3MovetoProportional() for very large b-trees. file: [4ea67e42] check-in: [f7f78147] user: drh branch: est_count_pragma, size: 344263 | |
17:28 | Merge recent trunk changes, and especially the PRAGMA index_info enhancement which is needed on this branch. file: [c0921ff5] check-in: [c3570e46] user: drh branch: est_count_pragma, size: 344193 | |
2016-10-24
| ||
01:01 | Performance optimization in moveToRoot(). Avoid repeated validity checking of the root page on each call. Once is enough. file: [6ae1c173] check-in: [98795c2d] user: drh branch: trunk, size: 342229 | |
2016-10-21
| ||
17:45 | Merge updates from trunk, and especially the ".mode quote" enhancement to the shell. file: [da295509] check-in: [0c8a5b88] user: drh branch: est_count_pragma, size: 344091 | |
17:25 | Add the btree_sample(INDEX,LOCATION,LIMIT) pragma. file: [955375bb] check-in: [affc2ef5] user: drh branch: est_count_pragma, size: 344091 | |
10:49 | Avoid using the "direct overflow read" optimization to read large blobs if the pager layer has a wal file open - even if the database header indicates that the db is not a wal database. file: [0fde2593] check-in: [b54c15f1] user: dan branch: trunk, size: 342127 | |
2016-10-20
| ||
22:02 | Experimental est_count pragma. file: [c58b8a52] check-in: [340822af] user: drh branch: est_count_pragma, size: 344042 | |
2016-10-17
| ||
15:28 | Changes to support interrupting a checkpoint using sqlite3_interrupt(). file: [4d035fb5] check-in: [c88d36e2] user: dan branch: trunk, size: 342127 | |
2016-10-04
| ||
00:47 | Do not bother to initialize unused fields in the BtreePayload object. file: [7a45743f] check-in: [b10d0f93] user: drh branch: trunk, size: 341933 | |
2016-10-03
| ||
01:21 | Allocate Parse objects off of the stack where appropriate for a substantial performance increase and a size reduction. file: [a0a80fbb] check-in: [ea8affa9] user: drh branch: trunk, size: 341989 | |
2016-09-28
| ||
16:15 | Merge recent enhancements from trunk. file: [39e9ee32] check-in: [06014163] user: drh branch: apple-osx, size: 342205 | |
2016-09-17
| ||
19:34 | Small performance optimization in the freeSpace() routine of btree.c. file: [56e1732e] check-in: [63962e2a] user: drh branch: trunk, size: 341989 | |
2016-08-13
| ||
14:30 | Questionable changes to support interruptible checkpoint in ZipVFS. file: [a4a3ac60] check-in: [c7a9f26d] user: dan branch: interruptible-checkpoint, size: 342147 | |
2016-08-12
| ||
16:21 | Have wal file checkpoints exit early if the sqlite3_interrupt() API function is called. file: [7aa56fb3] check-in: [8a5f41c7] user: dan branch: interruptible-checkpoint, size: 341970 | |
2016-08-11
| ||
19:12 | Merge version 3.14 plus some subsequent patches (including the page-cache performance patch) from trunk. file: [8872dcc8] check-in: [d9f8918c] user: drh branch: begin-concurrent, size: 357075 | |
2016-08-04
| ||
09:13 | Merge the ORDER BY LIMIT fix, and other enhancements, from trunk. file: [0a3308f2] check-in: [bf5a9542] user: drh branch: apple-osx, size: 342169 | |
2016-08-03
| ||
14:51 | Fix a typo in a comment in btree.c. No changes to code. file: [2551bd3e] check-in: [722c1281] user: drh branch: trunk, size: 341953 | |
2016-07-25
| ||
17:31 | Merge 3.14 alpha changes from trunk. file: [eb4d02a0] check-in: [e98cefb1] user: drh branch: apple-osx, size: 342166 | |
2016-07-14
| ||
20:19 | Experimental patch restore the slight bias in btree-balancing immediately after the change to reduces the amount of memcpy() work done by balancing. file: [44c34502] check-in: [46bd9533] user: drh branch: btree-balance-bias, size: 308892 | |
19:48 | Minor tweak the the b-tree balancer. file: [6a42efa4] check-in: [d2a0af7a] user: drh branch: btree-tuning, size: 341950 | |
2016-07-06
| ||
10:12 | Add the SQLITE_DBSTATUS_PROPORTIONAL_CACHE_USED sqlite3_db_status() parameter. file: [dc4e5f3e] check-in: [118321c8] user: dan branch: dbstatus-prop-cache-used, size: 341940 | |
2016-06-15
| ||
10:21 | Merge changes from trunk. file: [765b38f6] check-in: [0f707d15] user: drh branch: apple-osx, size: 341783 | |
2016-06-13
| ||
12:51 | Fix an incorrect assert() in the btree logic. file: [06212476] check-in: [fcf6114b] user: drh branch: trunk, size: 341567 | |
2016-06-06
| ||
01:54 | Small performance boost and size decrease in sqlite3BtreeMovetoUnpacked(). file: [2781fb1d] check-in: [e106a77d] user: drh branch: trunk, size: 341567 | |
2016-06-04
| ||
21:05 | Improved comment on cursorOwnsBtShared(). No changes to code. file: [b8875cff] check-in: [5e269c2d] user: drh branch: btree-refactor, size: 341495 | |
20:58 | Fix a C99-ism and a compiler warning for MSVC. file: [579a8160] check-in: [aa53a36e] user: drh branch: btree-refactor, size: 340970 | |
20:37 | Change the sqlite3BtreeKeySize() interface into sqlite3BtreeIntegerKey() and make it only work for table btrees. Change sqlite3BtreeDataSize() into sqlite3BtreePayloadSize() and make it work for all btrees. Combine sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() into a single sqlite3BtreePayloadFetch() routine. These changes seem to make the b-tree interface more rational and they reduce both binary size and CPU usage. file: [b55e9685] check-in: [bef35e18] user: drh branch: btree-refactor, size: 340960 | |
2016-05-23
| ||
02:57 | Merge changes from trunk. file: [3a0ee76b] check-in: [815cc2bb] user: drh branch: apple-osx, size: 341878 | |
2016-05-21
| ||
23:25 | More tweaks to improve the performance of the insert logic, slightly. file: [2128172f] check-in: [dec13075] user: drh branch: trunk, size: 341662 | |
20:03 | Simplify the sqlite3BtreeInsert() interface by gathering the five arguments describing the content to be inserted into the new BtreePayload structure, and thus reducing the number of parameters from eight to four. file: [e312cc3f] check-in: [55f348cd] user: drh branch: trunk, size: 341569 | |
19:10 | Remove some unused legacy code from the btree insert logic. file: [09df1674] check-in: [2ce11667] user: drh branch: trunk, size: 341476 | |
12:29 | Yet another minor size reduction and performance increase in the b-tree insert logic. file: [da39b19b] check-in: [1dbaf7a1] user: drh branch: trunk, size: 341556 | |
11:23 | Small size reduction and performance increase in the sqlite3BtreeInsert() logic. file: [ab4ab00f] check-in: [656aa1ec] user: drh branch: trunk, size: 341494 | |
2016-05-16
| ||
13:37 | Merge recent fixes from trunk. file: [57540cfb] check-in: [0d9b82af] user: drh branch: apple-osx, size: 341575 | |
2016-05-09
| ||
23:11 | Fixes to requirements marks. No changes to code. file: [e53a0154] check-in: [79ecd0ef] user: drh branch: trunk, size: 341359 | |
2016-04-21
| ||
15:35 | Merge all recent enhancements from trunk. file: [134f1b04] check-in: [a15c49ae] user: drh branch: apple-osx, size: 341547 | |
2016-04-20
| ||
12:16 | Merge all recent enhancements from trunk. file: [6deeeeff] check-in: [1f709fbf] user: drh branch: begin-concurrent, size: 356453 | |
2016-04-18
| ||
16:06 | Fix the sqlite3BtreeDelete() routine so that it preserves the correct key even when the row being deleted is not on a leaf page. Fix for ticket [a306e56ff68b8fa56] file: [c833d5ac] check-in: [368e86c7] user: drh branch: branch-3.12.0, size: 341317 | |
2016-04-09
| ||
17:04 | Fix the sqlite3BtreeDelete() routine so that it preserves the correct key even when the row being deleted is not on a leaf page. Fix for ticket [a306e56ff68b8fa56] file: [3ae6aea6] check-in: [ca2ef8a8] user: drh branch: trunk, size: 341331 | |
2016-04-05
| ||
13:35 | Use SQLITE_WITHIN() for pointer range comparisons in some testing code. file: [556203aa] check-in: [7cacf4e9] user: drh branch: trunk, size: 341331 | |
13:19 | Do not allow pointer arithmetic to move a pointer across a memory allocation boundary. file: [2b5504ac] check-in: [85b97931] user: drh branch: trunk, size: 341324 | |
2016-03-29
| ||
10:36 | Merge 3.12.0 changes. file: [108728ae] check-in: [d7381eff] user: drh branch: begin-concurrent, size: 356439 | |
10:30 | Merge 3.12.0 changes. file: [2c5e9c74] check-in: [eef55744] user: drh branch: apple-osx, size: 341533 | |
2016-03-22
| ||
15:25 | Fix a harmless compiler warning. file: [577fb567] check-in: [5ace870d] user: drh branch: trunk, size: 341317 | |
14:37 | Create the "uptr" typedef (the same as uintptr_t when available) and use it to cast pointers before comparison. file: [8a02b1fb] check-in: [2484cc0c] user: drh branch: trunk, size: 341311 | |
14:10 | Avoid the possibility of integer overflow on a pointer comparison test for corruption in the database file. file: [5753da53] check-in: [ff1b1ac3] user: drh branch: trunk, size: 341287 | |
2016-03-16
| ||
19:34 | Merge the latest enhancements from trunk. file: [dab12f0a] check-in: [a7978ab6] user: drh branch: begin-concurrent, size: 356172 | |
2016-03-15
| ||
12:45 | Merge updates from trunk - FTS5 fixes and enhancemenets to the tests scripts so that they work with SEE. file: [119943fd] check-in: [f41a7361] user: drh branch: apple-osx, size: 341266 | |
2016-03-09
| ||
03:29 | Update a comment in btree.c to account for WITHOUT ROWID tables. No code changes. file: [6eee126f] check-in: [fa20dcb0] user: drh branch: trunk, size: 341050 | |
2016-03-08
| ||
16:35 | Merge changes from trunk, especially the SQLITE_DEFAULT_SYNCHRONOUS enhancements. file: [1e36580a] check-in: [29741941] user: drh branch: apple-osx, size: 341297 | |
15:30 | Make the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS values zero-based to agree with PRAGMA synchronous. file: [2712f087] check-in: [592d2104] user: drh branch: default-synchronous, size: 341081 | |
15:14 | If SQLITE_DEFAULT_WAL_SYNCHRONOUS is not the same value as SQLITE_DEFAULT_SYNCHRONOUS and the application has not run "PRAGMA synchronous", then set synchronous to the SQLITE_DEFAULT_WAL_SYNCHRONOUS setting when entering WAL mode for the first time. file: [be3ac34a] check-in: [5791407b] user: drh branch: default-synchronous, size: 341077 | |
2016-02-26
| ||
16:14 | Merge all recent enhancements from trunk, and in particular the SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER change. file: [97520970] check-in: [4fb4aee8] user: drh branch: apple-osx, size: 341659 | |
2016-02-22
| ||
23:44 | Remove code not needed now that synchronous=OFF database files no longer trigger the use of a master journal. file: [7bb920c4] check-in: [aa9f4c62] user: drh branch: trunk, size: 340528 | |
2016-02-18
| ||
01:36 | Merge recent performance enhancements and the enhanced API_ARMOR from trunk. file: [733117e4] check-in: [b7fa0fb3] user: drh branch: apple-osx, size: 342056 | |
2016-02-15
| ||
17:44 | Merge version 3.11.0 file: [2cca792e] check-in: [c393ddc7] user: drh branch: begin-concurrent, size: 355982 | |
2016-02-13
| ||
23:43 | Enhance ability to debug out-of-memory errors. file: [474ad91c] check-in: [6a9c4a3e] user: mistachkin branch: noMemBkpt, size: 340925 | |
2016-02-09
| ||
15:50 | Merge recent fixes and enhancements from trunk. file: [c9123aa7] check-in: [f0734017] user: drh branch: apple-osx, size: 341991 | |
2016-02-06
| ||
22:32 | Add a utility program that looks for assert(), NEVER(), ALWAYS(), and testcase() macros that have side-effects, and reports errors when they are found. Also fix a bug that this utility detected as it was being tested. file: [4c8caaee] check-in: [b0b4624f] user: drh branch: trunk, size: 340860 | |
2016-02-05
| ||
14:34 | Merge PRAGMA synchronous=EXTRA and OOM performance enhancements from trunk. file: [deead36f] check-in: [332c8036] user: drh branch: begin-concurrent, size: 355879 | |
14:29 | Merge OOM handling optimizations and PRAGMA synchronous=EXTRA as well as other enhancements from trunk. file: [b5c39d04] check-in: [201fcbee] user: drh branch: apple-osx, size: 341888 | |
2016-02-04
| ||
11:48 | Remove unnecessary sets of db->mallocFailed. file: [0b359bcc] check-in: [b787165b] user: drh branch: trunk, size: 340757 | |
2016-02-02
| ||
02:53 | Merge recent enhancements from trunk. file: [3d3c562e] check-in: [347f6a80] user: drh branch: begin-concurrent, size: 355911 | |
02:30 | Merge recent enhancements from trunk. file: [af43a832] check-in: [e6a4a163] user: drh branch: apple-osx, size: 341920 | |
2016-02-01
| ||
00:21 | Fix an assert() that might fail on a corrupt database. file: [a2a0244e] check-in: [22eaced7] user: drh branch: trunk, size: 340789 | |
2016-01-30
| ||
13:32 | Add the BTREE_FORDELETE and BTREE_AUXDELETE flags to the b-tree layer interface and use them. Add assert() statement to verify that they are correct. file: [e3929afb] check-in: [85c46704] user: drh branch: trunk, size: 340775 | |
12:50 | Simplification and size reduction to the printf logic. Remove the bFlags parameter from sqlite3VXPrintf() and sqlite3XPrintf(). Use sqlite3XPrintf() instead of sqlite3_snprintf() for rendering P4 values in EXPLAIN output. file: [5e3435a3] check-in: [0bdb41c4] user: drh branch: trunk, size: 339373 | |
2016-01-27
| ||
16:26 | Change the name of the BTREE_IDXDELETE flag to BTREE_AUXDELETE, to better reflect its purpose. file: [16edaf41] check-in: [1d3bf6be] user: drh branch: fordelete-assert, size: 340727 | |
2016-01-21
| ||
17:06 | Add a new hint bit on the flags parameter of sqlite3BtreeDelete(). The new BTREE_IDXDELETE bit indicates that the call is to delete an index entry corresponding to a table row that has already been deleted. file: [97cf8812] check-in: [ac2cbadd] user: drh branch: btree-fordelete-flag, size: 340503 | |
2016-01-20
| ||
12:18 | Merge recent enhancements from trunk. file: [7d0dc384] check-in: [5520f600] user: drh branch: begin-concurrent, size: 354447 | |
11:40 | Merge all recent enhancements from trunk. file: [3744d145] check-in: [3ed49691] user: drh branch: apple-osx, size: 340456 | |
01:32 | Very small simplification to the btree balancer. file: [f224ae87] check-in: [f421adf5] user: drh branch: trunk, size: 339325 | |
2016-01-15
| ||
15:06 | Work toward making the schema parsing logic simplier and more compact. file: [d9c6b2e2] check-in: [c52ca2c0] user: drh branch: trunk, size: 339387 | |
2016-01-14
| ||
15:46 | Merge the latest enhancements and fixes from trunk. file: [04dccbd5] check-in: [fccc5f20] user: dan branch: begin-concurrent, size: 354650 | |
15:03 | Merge the latest enhancements and fixes from trunk. file: [258d048e] check-in: [d85774e0] user: drh branch: apple-osx, size: 340659 | |
2016-01-12
| ||
04:08 | Remove an unused field from the MemPage object. file: [5d93e247] check-in: [5fc0a4c1] user: drh branch: trunk, size: 339528 | |
2016-01-11
| ||
12:49 | Merge enhancements from trunk, and in particular the WAL overwrite feature. file: [cefa8e08] check-in: [79125ec9] user: drh branch: apple-osx, size: 340921 | |
2016-01-08
| ||
19:34 | Fix the build for SQLITE_OMIT_SHARED_CACHE, which was broken, possibly by check-in [2d96aeba]. file: [6bd9b3d7] check-in: [3392f8fa] user: drh branch: trunk, size: 339790 | |
2016-01-07
| ||
16:43 | Add some assert() statements to verify, where possible, that BtShared.db is set correctly. file: [09ec3ca5] check-in: [359277e0] user: dan branch: shared-cache-fix, size: 339690 | |
16:06 | Have the vdbe layer call sqlite3BtreeEnter() on all b-trees in use from within sqlite3VdbeExec() even in SQLITE_THREADSAFE=0 builds. This ensures that BtShared.db is set correctly. file: [d40cbcd2] check-in: [d0214602] user: dan branch: shared-cache-fix, size: 339535 | |
2016-01-01
| ||
14:14 | Merge recent trunk enhancements. file: [90fda80e] check-in: [6bea792c] user: drh branch: begin-concurrent, size: 354521 | |
13:31 | Merge all recent trunk enhancements. file: [c24afbe7] check-in: [5b700f31] user: drh branch: apple-osx, size: 340530 | |
03:37 | Fix an assert() that might be false for a corrupt database. file: [4d3452b2] check-in: [68360cd2] user: drh branch: trunk, size: 339399 | |
2015-12-30
| ||
20:50 | Use the OvflOffset() macro to try to remove some magic numbers from btree.c. file: [ec6627fb] check-in: [1541607d] user: drh branch: ovfloffset-macro, size: 339403 | |
2015-12-18
| ||
03:59 | Reduce the size of the CellInfo object from 32 to 24 bytes on 64-bit machines. file: [5ac3f868] check-in: [78507154] user: drh branch: optimize-cellinfo, size: 339383 | |
2015-12-17
| ||
17:30 | Reduce the size of the VdbeCursor object by a pointer (the pBt pointer used for ephemeral tables). file: [cb0ed74a] check-in: [98b710c3] user: drh branch: optimize-vdbecursor, size: 339668 | |
2015-12-16
| ||
19:55 | Merge recent enhancements from trunk. file: [d8e450a5] check-in: [cb22efaf] user: drh branch: begin-concurrent, size: 354646 | |
13:07 | Make greater use of the SQLITE_WITHIN macro. file: [84ede51e] check-in: [f2fc3aed] user: drh branch: trunk, size: 339524 | |
2015-12-11
| ||
12:53 | Merge recent trunk enhancements, and in particular the snapshot interface. file: [1b90ae05] check-in: [7e7b2406] user: drh branch: apple-osx, size: 340642 | |
2015-12-10
| ||
15:09 | Move pointer range comparisons into a macro, where they can be dealt with in a more portable way. file: [450950ce] check-in: [ad3124c8] user: drh branch: stdint.h, size: 339511 | |
2015-12-08
| ||
16:58 | Changes to avoid undefined behavior in memset() and memcpy() and in the comparisons of pointers from different allocations. All problems are found by analysis tools - none have been seen in the wild. file: [81d04142] check-in: [901d0b8f] user: drh branch: trunk, size: 339642 | |
2015-11-20
| ||
13:49 | Merge all the latest enhancements and fixes from trunk. file: [ab52539c] check-in: [41c8b8e3] user: drh branch: begin-concurrent, size: 354634 | |
2015-11-12
| ||
16:51 | Merge the latest enhancements from trunk, and in particular the "PRAGMA cache_spill=N" change. file: [59c8f285] check-in: [e72331c7] user: drh branch: apple-osx, size: 340643 | |
14:57 | First attempt at enhancing the "PRAGMA cache_spill" statement to accept a cache threashold size. file: [d3bdd846] check-in: [549d42be] user: drh branch: cache_spill=N, size: 339512 | |
2015-11-07
| ||
01:57 | Merge recent enhancements and fixes from trunk. file: [5e5316b3] check-in: [5429f99b] user: drh branch: apple-osx, size: 340327 | |
2015-11-05
| ||
22:30 | Improvements and simplifications to the equality seek logic. Tests are adjusted so that they all pass now. file: [9e5d713b] check-in: [997ce6c9] user: drh branch: seekeq-experiment, size: 339196 | |
03:26 | Remove #pragma that was used to work around an obsolete issue with MSVC 2012. file: [233c1536] check-in: [b9b22fae] user: mistachkin branch: reoptimizeArm, size: 339091 | |
2015-11-04
| ||
22:31 | Performance improvements in the getAndInitPage() routine of btree.c. file: [080c3cb5] check-in: [2aa50f6f] user: drh branch: trunk, size: 339278 | |
20:22 | Rename the sqlite3PagerAcquire() function to sqlite3PagerGet(). The former macro called sqlite3PagerGet() has been removed. file: [692ca3e6] check-in: [708253be] user: drh branch: trunk, size: 339046 | |
2015-10-30
| ||
17:17 | Merge the sqlite3_db_cacheflush() enhancements and other changes from trunk. file: [0a1dd8e0] check-in: [f2cde4cf] user: drh branch: begin-concurrent, size: 354171 | |
16:23 | Merge latest trunk changes, including sqlite3_db_cacheflush(), with this branch. file: [35af7ace] check-in: [6e4306ef] user: dan branch: apple-osx, size: 340180 | |
2015-10-27
| ||
13:24 | Split out sqlite3BtreeCursorHintFlags() from sqlite3BtreeCursorHint() the interface for improved performance. file: [77343aac] check-in: [b3ec9a0d] user: drh branch: cursor-hints, size: 339049 | |
2015-10-26
| ||
20:50 | Merge latest trunk changes, including the SQLITE_IOERR_AUTH error code, with this branch. file: [4213df62] check-in: [bc195e1c] user: dan branch: apple-osx, size: 339800 | |
20:11 | Merge the BTREE_FORDELETE enhancement with this branch. file: [8022201b] check-in: [20da0849] user: dan branch: cursor-hints, size: 339090 | |
18:51 | Merge in all trunk changes prior to the BTREE_FORDELETE enhancement. file: [6e7cafdb] check-in: [53d5a4ad] user: drh branch: cursor-hints, size: 339044 | |
2015-10-22
| ||
20:54 | Modifications to pass a flag to internal routine sqlite3BtreeCursor() when a cursor that is used solely for deleting b-tree entries, or for obtaining the components of keys to delete from other b-trees, is opened. file: [9d684e19] check-in: [cdc92919] user: dan branch: btree-fordelete-flag, size: 338669 | |
2015-10-16
| ||
03:34 | Whenever two or more OP_Column opcodes on the same cursor occur in succession, try to reordering them so that the one that extracts the right-most column is first, so that it will warm up the row cache for all those that follow. This gives a small performance boost. file: [ea8c62f6] check-in: [08e8f04d] user: drh branch: reorder-column-opcodes, size: 338623 | |
2015-10-15
| ||
07:44 | Merge in the 3.9.0 changes from trunk. file: [8853e6da] check-in: [5c3a2a6e] user: drh branch: begin-concurrent, size: 353695 | |
2015-10-14
| ||
20:09 | Merge in all the 3.9.0 updates from trunk. file: [7fc9513b] check-in: [29444149] user: drh branch: cursor-hints, size: 338994 | |
2015-10-13
| ||
17:49 | Merge 3.9.0 prerelease changes into the apple-osx branch. file: [7893a744] check-in: [1900ce01] user: drh branch: apple-osx, size: 339704 | |
2015-10-10
| ||
16:41 | Work around a "security feature" bug in memcpy() on OpenBSD. file: [0b74bc28] check-in: [fab6f090] user: drh branch: trunk, size: 338573 | |
2015-10-09
| ||
17:28 | Merge all changes through the first 3.9.0 beta from trunk. file: [4c60a119] check-in: [1ccae39b] user: drh branch: apple-osx, size: 339365 | |
2015-09-30
| ||
14:19 | Fix an assert() in btree.c that is only true for non-corrupt databases. file: [a5a65308] check-in: [29f7227f] user: drh branch: trunk, size: 338234 | |
12:59 | Clear the BTCF_ValidNKey flag when putting a cursor into REQUIRESEEK state. Fix for [1b266395]. file: [dd877a85] check-in: [a6d5e4e8] user: dan branch: trunk, size: 338220 | |
2015-09-24
| ||
15:17 | Merge all recent trunk enhancements and fixes into the begin-concurrent branch. file: [82ba9189] check-in: [c63c1e15] user: drh branch: begin-concurrent, size: 353309 | |
15:06 | Merge trunk changes into the cursor-hints branch. file: [9c791540] check-in: [fbe63762] user: drh branch: cursor-hints, size: 338608 | |
14:43 | Merge recent trunk enhancements into the apple-osx branch. file: [a6b7433b] check-in: [4dd06d8b] user: drh branch: apple-osx, size: 339318 | |
2015-09-20
| ||
22:57 | Fix an overly-strict assert() in the btree logic. file: [16458315] check-in: [825ce320] user: drh branch: trunk, size: 338187 | |
2015-09-18
| ||
14:45 | Ensure that "PRAGMA integrity_check" reports an error if the free-list count header field contains a value smaller than the actual number of pages on the database free-list. file: [0dc030ce] check-in: [26f64986] user: dan branch: trunk, size: 338121 | |
2015-09-15
| ||
19:16 | Merge enhancements from trunk. file: [1c1519fc] check-in: [fc4d1de8] user: drh branch: begin-concurrent, size: 353126 | |
17:31 | Merge enhancements from trunk. file: [9d19d3f8] check-in: [66fe0683] user: drh branch: cursor-hints, size: 338425 | |
17:20 | Merge trunk enhancements into the apple-osx branch. file: [1fd5b28b] check-in: [f12b8a0f] user: drh branch: apple-osx, size: 339135 | |
2015-09-14
| ||
14:08 | Fix a compiler warning and providing missing VdbeCoverage() calls. file: [d31008cf] check-in: [2edd2e5e] user: drh branch: trunk, size: 338004 | |
2015-09-12
| ||
19:26 | Experimental change to use a single-pass approach for DELETE statements on non-virtual tables that do not fire triggers or require foriegn-key processing. file: [38ed0262] check-in: [eaeb2b80] user: dan branch: onepass-delete, size: 338004 | |
2015-09-03
| ||
15:17 | Changes from ENABLE_CONCURRENT (default off) to OMIT_CONCURRENT (default on). This is not a clear-cut decision and might be changed back. file: [7663d054] check-in: [f8ae9bfd] user: drh branch: begin-concurrent, size: 350659 | |
14:39 | Merge enhancements from trunk. file: [3d759d99] check-in: [25ee3000] user: drh branch: cursor-hints, size: 335958 | |
14:31 | Merge enhancements from trunk. file: [0ac85a15] check-in: [d01658ad] user: drh branch: apple-osx, size: 336668 | |
14:04 | Merge trunk optimizations. file: [89f97b91] check-in: [71e7299e] user: drh branch: begin-concurrent, size: 350383 | |
2015-09-02
| ||
15:37 | Use sqlite3XPrintf() instead of sqlite3StrAccumAppend() in a few places for better performance and a smaller footprint. file: [4084d9ee] check-in: [82355e41] user: drh branch: trunk, size: 335537 | |
2015-09-01
| ||
17:48 | Fixes so that it builds without warnings both with and without SQLITE_ENABLE_CONCURRENT. file: [ca6c7e4b] check-in: [5ed2a445] user: drh branch: begin-concurrent, size: 350456 | |
2015-08-28
| ||
02:12 | Merge trunk enhancements into the apple-osx branch. Most tests works, but there are yet a few issues to be resolved. file: [d82a50a6] check-in: [da864658] user: drh branch: apple-osx, size: 336741 | |
2015-08-27
| ||
17:42 | Fix a problem whereby concurrent transactions would not consider pages read by the transaction before the first write statement. file: [88ff0f5b] check-in: [fc17f731] user: dan branch: begin-concurrent, size: 350386 | |
2015-08-25
| ||
17:16 | If "PRAGMA integrity_check" is run while the database is being written by a CONCURRENT transaction, do not consider unreferenced pages to be an error. They may be part of the free-page list, which is not visible at the b-tree layer when running a CONCURRENT transaction. file: [aacef0cd] check-in: [f32b57b4] user: dan branch: begin-concurrent, size: 350251 | |
14:37 | Fix a segfault that could occur following an OOM condition in the concurrent transaction code. file: [a7632969] check-in: [231b5880] user: dan branch: begin-concurrent, size: 350029 | |
2015-08-24
| ||
19:56 | Change "BEGIN UNLOCKED" to "BEGIN CONCURRENT". file: [f4db20fa] check-in: [ba1ab858] user: dan branch: begin-concurrent, size: 350027 | |
16:00 | Fix compilation without SQLITE_ENABLE_UNLOCKED. Also other code organization issues. file: [13f92476] check-in: [04113557] user: dan branch: begin-concurrent, size: 349979 | |
10:05 | Consolidate two blocks of similar code in btreeFixUnlocked(). file: [e8074096] check-in: [701302b4] user: dan branch: begin-concurrent, size: 349942 | |
2015-08-22
| ||
17:28 | Add further tests for deferred page allocation. And fixes for the same. file: [245bc696] check-in: [ed0a31be] user: dan branch: begin-concurrent, size: 348734 | |
2015-08-21
| ||
20:11 | Fix many minor issues in the unlocked transaction code. file: [dc80ac83] check-in: [53aaeea6] user: dan branch: begin-concurrent, size: 347586 | |
18:55 | When committing an UNLOCKED transaction, try to move pages allocated at the end of the file to free slots within the file (like an incremental-vacuum operation does). file: [e455c3db] check-in: [06967916] user: dan branch: begin-concurrent, size: 347586 | |
17:57 | Fix a problem with UNLOCKED transactions that free pages allocated within the same transaction. file: [fca7884e] check-in: [227bb8a1] user: dan branch: begin-concurrent, size: 346545 | |
2015-08-19
| ||
20:27 | When committing an unlocked transaction, relocate newly allocated database pages within the file to avoid conflicting with committed transactions. There are lots of things still to fix in this code. file: [a00a7c48] check-in: [3bbc31d5] user: dan branch: begin-concurrent, size: 345852 | |
2015-08-15
| ||
18:16 | Handle writes to auto-vacuum databases within UNLOCKED transactions in the same way as for non-UNLOCKED transactions. file: [c1bbc835] check-in: [de1ea450] user: dan branch: begin-concurrent, size: 336067 | |
2015-08-14
| ||
23:57 | Always provide the BTREE_BULKLOAD hint, even when SQLITE_ENABLE_CURSOR_HINTS is not defined, as that hint gives a 4% performance increase. file: [b8083a37] check-in: [83a84435] user: drh branch: cursor-hints, size: 336031 | |
15:05 | Refactor the sqlite3BtreeCursorHint() interface for improved maintainability. file: [84ae3d2d] check-in: [fc3fb5cd] user: drh branch: cursor-hints, size: 336397 | |
2015-08-13
| ||
20:07 | Merge in all the trunk changes from the previous year. This breaks the cursor-hint mechanism, but provides a baseline for trouble-shooting. file: [060f2482] check-in: [82a7a61b] user: drh branch: cursor-hints, size: 336213 | |
2015-08-11
| ||
01:45 | Two more places where logging of freelist trunk pages is needed. file: [37d3bece] check-in: [56ff336e] user: drh branch: experimentalIoLog, size: 337049 | |
2015-08-10
| ||
20:53 | Record when an allocated page is taken from the freelist trunk. file: [546be5b4] check-in: [bb5d7782] user: drh branch: experimentalIoLog, size: 336849 | |
20:22 | Add the sqlite3_experimental_log_open() interface. This is for diagnostic use only and is not intended to ever go on trunk. file: [304e7b5a] check-in: [ac5d2e9d] user: drh branch: experimentalIoLog, size: 336734 | |
2015-07-29
| ||
12:14 | Only allow UNLOCKED transactions to commit if none of the pages read by the transaction have been modified since it was opened. file: [5087b0a1] check-in: [0b971842] user: dan branch: begin-concurrent, size: 336048 | |
2015-07-27
| ||
19:31 | Add an experimental "BEGIN UNLOCKED" command. file: [b184ce6d] check-in: [80794216] user: dan branch: begin-concurrent, size: 336261 | |
2015-07-14
| ||
17:18 | Fix some harmless compiler warnings. file: [f48b3ef9] check-in: [3de030c9] user: mistachkin branch: trunk, size: 335610 | |
2015-07-08
| ||
01:22 | Avoid left-shifting bits into the sign of a signed integer, as such behavior is technically undefined. file: [781deff0] check-in: [9417b402] user: drh branch: pcache-bulk-local, size: 335606 | |
2015-07-04
| ||
11:14 | Do not preserve the btreeInitPage() results in PRAGMA integrity_check if there were cell sizing errors because PRAGMA cell_size_check was turned off during the btreeInitPage() call. file: [740ab30d] check-in: [743bf1f1] user: drh branch: trunk, size: 335599 | |
2015-07-02
| ||
19:47 | When doing coverage analysis of a btree page for pragma integrity_check, make the first entry (that covers the header, cell index, and gap) implied, for a performance boost and size reduction. file: [7705ce3e] check-in: [e53d497c] user: drh branch: trunk, size: 335496 | |
16:52 | Fix harmless compiler warnings and one macro VVA_ONLY macro usage issue. file: [cf3375bf] check-in: [bcc8a755] user: mistachkin branch: trunk, size: 334997 | |
16:29 | Fix a (harmless) shadowed local variable definition in the integrity_check logic. file: [6368ffd4] check-in: [3a26a919] user: drh branch: trunk, size: 334980 | |
16:17 | Smaller and faster PRAGMA integrity_check that also does a better job of detecting errors. Some output text describing discovered file corruption has changed for clarity. file: [98ef3db8] check-in: [251a7590] user: drh branch: trunk, size: 334970 | |
2015-07-01
| ||
17:53 | Simplification of PRAGMA integrity_check logic. Make sure that the depth of the right-most subtree is correct. Size reduction and performance increase, with no change in output. file: [e283de2f] check-in: [550705fc] user: drh branch: trunk, size: 333710 | |
17:13 | Rework the PRAGMA integrity_check logic. Simplify the checkTreePage() routine and clean up the error messages generated. file: [41c63a0f] check-in: [1c522123] user: drh branch: integrity-check-refactor, size: 332825 | |
04:08 | Fix some harmless compiler warnings. file: [075ce6dd] check-in: [307195c8] user: drh branch: trunk, size: 334131 | |
01:31 | Change integrity_check to analyze the cells of a page in reverse order, as 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. file: [a0eb750d] check-in: [59ad912c] user: drh branch: trunk, size: 334103 | |
2015-06-30
| ||
13:28 | Remove the use of htonl() in the previous check-in due to linkage issues. Add the get2byteAligned() macro and use it for access to the cell offsets on btree pages for about a 1% performance gain. file: [3a535c01] check-in: [79ff36b7] user: drh branch: bswap-functions, size: 334100 | |
02:47 | Put BtCursor objects on a singly-linked list instead of a doubly-linked list. Add the BTCF_Multiple flag. Only invoke saveAllCursors() when using a cursor that has BTCF_Multiple set. file: [08ae64b0] check-in: [429ccef2] user: drh branch: trunk, size: 334051 | |
01:25 | Convert several 5-year-old and older NEVER() macros into assert(). file: [5d5d4846] check-in: [ed54c14e] user: drh branch: trunk, size: 332969 | |
2015-06-29
| ||
23:01 | From sqlite3BtreeInsert(), bypass the btreeMoveto() routine for table inserts and go directly to sqlite3BtreeMovetoUnpacked(). file: [9d8ae0db] check-in: [53fe685d] user: drh branch: trunk, size: 333112 | |
00:52 | Move an assert() and testcase() into their correct position within getAndInitPage(). file: [ce342e15] check-in: [18115164] user: drh branch: trunk, size: 332963 | |
2015-06-27
| ||
23:55 | Make greater use of BtCursor.curIntKey. file: [8f86dae0] check-in: [63998471] user: drh branch: trunk, size: 332964 | |
22:49 | Add the BtCursor.curIntKey field and use it for a small size reduction and performance boost. file: [124fb2cf] check-in: [4a17df13] user: drh branch: trunk, size: 332942 | |
20:55 | Enhancements to the previous check-in to make it a little smaller and faster. file: [a6b02598] check-in: [291d9e0c] user: drh branch: trunk, size: 332903 | |
19:45 | Performance improvements in moveToChild() by shifting some work over to getAndInitPage(). Net improvement is about 800K cycles at cost of 30 bytes. file: [b1ba9f65] check-in: [1956a4ce] user: drh branch: trunk, size: 332821 | |
15:51 | Manually inline the call from getAndInitPage() to btreeGetPage() for a savings of 2.5 million cycles at a cost of less than 100 bytes. file: [be03b25d] check-in: [7f65b96b] user: drh branch: trunk, size: 332306 | |
14:59 | Add releasePageNotNull() as an alternative to releasePage() when the argument is guaranteed to be non-NULL, and use it for a small performance gain. file: [bcd36697] check-in: [9383a688] user: drh branch: trunk, size: 332203 | |
03:58 | Add the Mempage.aDataOfst field and use it in sqlite3BtreeMovetoUnpacked() for about a 2 million cycle gain. file: [2a7554d5] check-in: [bee94dc3] user: drh branch: trunk, size: 332081 | |
2015-06-26
| ||
03:12 | Fix harmless compiler warning in assert statement. file: [c113f73f] check-in: [7097716c] user: mistachkin branch: trunk, size: 331771 | |
2015-06-25
| ||
19:53 | Simplifications and performance improvements in insertCell(). file: [40e98c10] check-in: [7d02e6c9] user: drh branch: trunk, size: 331766 | |
18:36 | More simplifications and performance improvements to cell allocation logic associated with allocateSpace(). file: [960a6413] check-in: [78da0f69] user: drh branch: trunk, size: 331766 | |
16:01 | Reorder the terms of a conditional for a small performance gain. file: [85679f63] check-in: [d67b0ed1] user: drh branch: trunk, size: 331937 | |
15:21 | Remove a NEVER() that is in fact reachable. file: [cb50b3f0] check-in: [f824e66b] user: drh branch: trunk, size: 331937 | |
15:04 | Minor optimization to allocateSpace(). file: [8910b2a6] check-in: [d007bc33] user: drh branch: trunk, size: 331944 | |
13:03 | Enhance the Btree object to remember whether or not it is holding an Incrblob cursor. Use this knowledge to improve performance in the common case where it does not. file: [8a4109bd] check-in: [476b1156] user: drh branch: trunk, size: 331822 | |
02:26 | Remove a line of code that doesn't do any useful work. file: [a0eaf113] check-in: [3ee888be] user: drh branch: trunk, size: 331694 | |
2015-06-24
| ||
13:32 | Fix a harmless compiler warning. file: [10ff19e0] check-in: [3b6fa95e] user: drh branch: trunk, size: 331739 | |
12:24 | Prevent an infinite loop while searching a corrupt freelist. file: [1fbed350] check-in: [4e5424fe] user: drh branch: trunk, size: 331739 | |
12:07 | Strengthen the new balance_nonroot() code against various corrupt database problems. file: [2167a4fd] check-in: [5ba98343] user: drh branch: trunk, size: 331654 | |
01:07 | Remove an invalid NEVER() and add a test case to cover it. file: [9980353a] check-in: [14b73d20] user: drh branch: trunk, size: 331790 | |
2015-06-23
| ||
21:35 | Testability improvement. file: [587dd00c] check-in: [eed6a331] user: drh branch: btree-opt2, size: 331797 | |
18:24 | Multiple overflow cells are always adjacent and sequential. Exploit this invariant for a small size reduction and performance increase and add assert()s to prove the invariant. file: [ca394997] check-in: [f77f2f48] user: drh branch: btree-opt2, size: 331845 | |
17:09 | Faster loading of cell pointers into the b.apCell array in balance_nonroot. file: [0b20e828] check-in: [fda89b05] user: drh branch: btree-opt2, size: 331262 | |
16:00 | Avoid unnecessary cachedCellSize() calls in the cell partition adjustment phase of balance_nonroot(). file: [57f16870] check-in: [6319ee12] user: drh branch: btree-opt2, size: 331272 | |
15:36 | Change pageInsertArray() and pageFreeArray() so that they use the CellArray object and compute cell sizes as needed, resulting in smaller and faster code. file: [d3299e92] check-in: [f7f41818] user: drh branch: btree-opt2, size: 331254 | |
14:49 | Improvements to the way balance_nonroot() constructs the b.apCell array of pointers to cells. file: [8d772673] check-in: [ee44bb25] user: drh branch: btree-opt2, size: 331414 | |
02:37 | Avoid computing cell sizes in balance_nonroot() until they are really needed. This gives an overall 1.7% performance gain for about 1000 extra bytes of code space. file: [e6ac65de] check-in: [43844537] user: drh branch: btree-opt2, size: 330783 | |
2015-06-22
| ||
20:02 | Change the way that balance_nonroot() partitions cells between the sibling pages such that a scan of the cell size array is not required. file: [8f65725c] check-in: [16872871] user: drh branch: btree-opt2, size: 328768 | |
2015-06-20
| ||
18:13 | Split out all four cases of cellSizePtr() into different methods, each optimized for the specific page type. This gives a 0.36% performance increase at a cost of about 300 bytes of code. file: [a311c31f] check-in: [522502ec] user: drh branch: btree-opt, size: 330951 | |
2015-06-19
| ||
20:08 | Fix corner cases involving corrupt varint values in record headers. file: [173c2ba1] check-in: [3189116b] user: drh branch: btree-opt, size: 327692 | |
18:24 | Performance improvements in btreeParseCell() by inlining the varint decoder. file: [32d2d867] check-in: [faab0ed9] user: drh branch: btree-opt, size: 327692 | |
17:19 | Add the MemPage.xParseCell method and provide various implementations (variations on the former btreeParseCellPtr()) depending on the page type. file: [cf8310b4] check-in: [41d03d88] user: drh branch: trunk, size: 326869 | |
15:07 | Make cellSizePtr() a method on the MemPage object, with alternative implementations depending on the page type. This results is a small performance improvement and size reduction. file: [960e66f4] check-in: [02f7e9d7] user: drh branch: trunk, size: 324531 | |
2015-06-17
| ||
02:11 | Make getCellInfo() a real function instead of a macro, for a size reduction and a 0.2% performance gain. file: [02caf391] check-in: [55c393ea] user: drh branch: trunk, size: 323409 | |
2015-06-15
| ||
16:09 | Fix a harmless comment typo. No code changes. file: [e557af31] check-in: [ae687652] user: drh branch: trunk, size: 324614 | |
12:58 | Improved detection of database corruption in freeSpace(). file: [e269b13c] check-in: [29bcb568] user: drh branch: trunk, size: 324611 | |
2015-06-02
| ||
19:36 | Always check for cell overflow before returning a slot from the pageFindSlot routine in btree.c. file: [5166c278] check-in: [9f035c45] user: drh branch: trunk, size: 324541 | |
14:02 | Fix a faulty assert() in btree.c. Update the database fuzz test file with new test cases. file: [c73a1701] check-in: [4e621af1] user: drh branch: trunk, size: 324541 | |
2015-05-29
| ||
18:42 | Ensure that allocateBtreePage() always clears the MemPage pointer when it fails due to an I/O or memory allocation error. file: [9e837a0e] check-in: [09a38bf6] user: drh branch: trunk, size: 324512 | |
17:51 | Move two unreachable conditionals inside of NEVER() or assert(). file: [5fa5fda8] check-in: [db4e9728] user: drh branch: trunk, size: 324568 | |
17:13 | Remove a corruption test in balance_nonroot that is superceded by a prior better check. file: [7dcddf0a] check-in: [00693682] user: drh branch: trunk, size: 324405 | |
2015-05-28
| ||
15:14 | Added comments and testcase() macros to error cases in the btree search. file: [a1f51049] check-in: [7da7dc71] user: drh branch: trunk, size: 324492 | |
11:23 | Earlier detection of incompatible sibling pages in balance_nonroot. file: [f34b9368] check-in: [60a09f17] user: drh branch: trunk, size: 324198 | |
03:28 | Add the btreeGetUnusedPage() routine to btree.c, and use it to detect content pages on the freelist and to cause that condition to trigger an SQLITE_CORRUPT. file: [7cd71f55] check-in: [fe15d1f7] user: drh branch: trunk, size: 323950 | |
2015-05-27
| ||
18:13 | All bytes of a page are initialized, even bytes that follow a 2-byte cell on a malformed page. file: [84b1f0f4] check-in: [7373a004] user: drh branch: trunk, size: 323206 | |
15:42 | A different approach to preventing buffer overreads when comparing a vector of values with a corrupt index record that spans at least one overflow page. file: [de509eea] check-in: [95eaa49f] user: drh branch: trunk, size: 323205 | |
14:21 | A different approach to preventing buffer overreads when comparing a vector of values with a corrupt index record that spans at least one overflow page. file: [9c72a5a2] check-in: [7e9e1b61] user: dan branch: avoid-buffer-overread, size: 323389 | |
03:46 | Add the "PRAGMA cell_size_check=ON" command. file: [5905cbd1] check-in: [2ead43f0] user: drh branch: cell-size-check-pragma, size: 322799 | |
2015-05-26
| ||
20:31 | Avoid a buffer overread when comparing against a corrupt record that spans at least one overflow page. file: [51cafeb1] check-in: [62a5b363] user: dan branch: trunk, size: 323254 | |
17:33 | Add a cast to one side of the test added by [97806a78] in order to avoid a signed/unsigned comparison warning. file: [82bb9ad9] check-in: [5b46d2a7] user: dan branch: trunk, size: 322983 | |
12:18 | Return SQLITE_CORRUPT to the user if an attempt is made to add database page 1 to the free page list. file: [8921e4d7] check-in: [68876003] user: dan branch: trunk, size: 322978 | |
2015-05-25
| ||
20:04 | Fix a case of a corrupt database causing SQLite to read from up to 4 bytes before the start of a memory allocation. file: [a7d627f8] check-in: [7d2c4f7b] user: dan branch: trunk, size: 322920 | |
19:24 | Have the b-tree layer return SQLITE_CORRUPT to any attempt to open a cursor with a root page number less than 1. file: [a5beb7f1] check-in: [aa18c8e9] user: dan branch: trunk, size: 322859 | |
18:47 | Fix a couple of btree asserts that would fail when encountering 32-bit rollover in cell payload size fields (cell payloads this large always indicate corruption). file: [91a435b3] check-in: [8fa0937a] user: dan branch: trunk, size: 322792 | |
17:07 | Fix a case where database corruption may cause SQLite to write past the end of a buffer. file: [03053533] check-in: [97806a78] user: dan branch: trunk, size: 322723 | |
15:03 | Fix an assert() in btree routine freeSpace() that may be false if the database is corrupt. file: [9114263d] check-in: [00a473c5] user: dan branch: trunk, size: 322693 | |
2015-05-24
| ||
21:46 | The assert() changes removed in the previous check-in are needed after all. file: [148cbc43] check-in: [336fccc8] user: drh branch: trunk, size: 322679 | |
21:09 | Better detection of corruption in allocateSpace() in btree.c. file: [17776a0c] check-in: [bf7bb53e] user: drh branch: trunk, size: 322614 | |
10:18 | Detect database corruption in the modifyPagePointer() routine and abort. file: [c222cc2b] check-in: [4f0bba42] user: drh branch: trunk, size: 322642 | |
2015-05-23
| ||
19:53 | Instead of early detection of corruption in balance_nonroot, simply ignore the error, as it is harmless and exceedingly uncommon. file: [3cf8dde0] check-in: [7bbf9b3c] user: drh branch: trunk, size: 322601 | |
19:29 | Earlier detection of a specific kind of corruption in the balance_nonroot() routine. file: [c40b8483] check-in: [ee6dc991] user: drh branch: trunk, size: 322674 | |
2015-05-22
| ||
23:39 | Fix another bad assert() in btree - one that can be false on a corrupt database file. file: [d2bf38cf] check-in: [89f0bbfd] user: drh branch: trunk, size: 322573 | |
13:09 | Fix two faulty assert statements discovered by fuzzing. file: [0eb4eb39] check-in: [799817bf] user: drh branch: trunk, size: 322508 | |
12:37 | Fix an assert in btree.c that can be false when using a corrupted database file. file: [dbc8f920] check-in: [a6eb2a39] user: drh branch: trunk, size: 322462 | |
2015-05-21
| ||
17:21 | Avoid ever writing before the start of an allocated buffer in the DIRECT_OVERFLOW_READ code. Fix for [e3a290961a6]. Cherrypick of [c3c15d20c691]. file: [3baad8da] check-in: [31b13eb5] user: dan branch: branch-3.8.6, size: 293946 | |
2015-05-05
| ||
10:03 | Fix a faulty assert() in the btree part of the "PRAGMA page_size = ?" code. file: [30a80340] check-in: [90b19748] user: dan branch: trunk, size: 322420 | |
2015-05-02
| ||
11:45 | Cleanup of the sqlite3StrAccumInit() function. No functionality changes. file: [9c1a6b3a] check-in: [7952c322] user: drh branch: trunk, size: 322436 | |
2015-04-28
| ||
01:28 | Fix comment typos. No code changes. file: [809cdb06] check-in: [60174cf5] user: drh branch: trunk, size: 322464 | |
2015-04-20
| ||
01:25 | Merge all recent trunk enhancements and fixes into the apple-osx branch. file: [d061b108] check-in: [74b7bf17] user: drh branch: apple-osx, size: 323592 | |
2015-04-16
| ||
21:57 | Use a heap rather than a bitmap for cell coverage and overlap testing on btree pages in PRAGMA integrity_check. file: [127aceb7] check-in: [e94b2ef2] user: drh branch: trunk, size: 322461 | |
11:56 | Use a heap instead of a bitmap for cell overlap and coverage testing of btree pages in PRAGMA integrity_check. file: [c0e7a97c] check-in: [5619c959] user: drh branch: integrity-check-heap, size: 322448 | |
2015-04-15
| ||
19:13 | Add the BtCursor.pPage field which is the current page to which the cursor points, for a very small performance gain. file: [485e357f] check-in: [a200e1ea] user: drh branch: btree-current-page-cache, size: 321559 | |
17:26 | Prevent the fetchPayload() routine from reporting a cell size that extends off the end of the page on a pathologically corrupted database file. file: [c6e32d84] check-in: [f71053cf] user: drh branch: trunk, size: 320661 | |
2015-04-13
| ||
23:11 | Merge all recent trunk enhances into the apple-osx branch. file: [66bb78f5] check-in: [e709d3b4] user: drh branch: apple-osx, size: 321505 | |
14:44 | Remove a faulty assert() from the btree balancing logic. file: [67648f65] check-in: [d06669d9] user: drh branch: trunk, size: 320374 | |
2015-04-06
| ||
22:05 | Detect and suppress an endless loops in clearDatabasePage() that might result from a corrupt database file. This is an edited cherry-pick from [30011ad2f55c] and [395bb3e677a]. file: [02064f49] check-in: [e5f5ef00] user: drh branch: apple-osx-385, size: 294908 | |
2015-04-01
| ||
16:13 | Merge all recent trunk fixes and enhancements into the apple-osx branch. file: [a6b1c0ef] check-in: [71b6f507] user: drh branch: apple-osx, size: 321531 | |
13:21 | Improved detection and suppression of endless loops in clearDatabasePage(). file: [2caf5981] check-in: [30011ad2] user: drh branch: trunk, size: 320400 | |
2015-03-31
| ||
16:33 | Handle very large URI pathnames for in-memory shared-cache databases. file: [525f19f0] check-in: [586a94e8] user: drh branch: trunk, size: 320386 | |
2015-03-30
| ||
23:52 | Merge the latest trunk enhancements, and especially the fix for the infinite loop on a DROP TABLE in a corrupt database, into the apple-osx branch. file: [24cc28c8] check-in: [4d42bf5e] user: drh branch: apple-osx, size: 321468 | |
23:43 | Prevent a possible infinite loop when trying to DROP a table from a corrupt database. file: [e565971c] check-in: [395bb3e6] user: drh branch: trunk, size: 320337 | |
19:56 | Optimize CREATE INDEX, REINDEX and VACUUM statements by taking better advantage of the fact that index keys are being inserted into b-trees in sorted order. file: [d90cda66] check-in: [763d2bc7] user: dan branch: mistake, size: 320236 | |
2015-03-25
| ||
18:29 | Change an unreachable branch into an assert(). file: [4f305e55] check-in: [fb076b28] user: drh branch: trunk, size: 320224 | |
17:35 | Fix the saveCursorPosition() routine in btree.c so that it works correctly for a eState=CURSOR_SKIPNEXT cursor. file: [933ab4ad] check-in: [37866b4d] user: drh branch: trunk, size: 320212 | |
13:06 | Reactivate an older assert() (adding an "|| CORRUPT_DB" term) and add a new assert() in btree.c. file: [3634c2ee] check-in: [1e96520a] user: drh branch: trunk, size: 319975 | |
12:05 | Add two new assert()s to the sqlite3BtreeDataSize() method. file: [8d92800a] check-in: [42d1793d] user: drh branch: trunk, size: 320181 | |
2015-03-24
| ||
18:49 | Merge the latest trunk enhancements into the apple-osx branch. file: [13590ad3] check-in: [a2bd81e5] user: drh branch: apple-osx, size: 321240 | |
2015-03-23
| ||
19:03 | Fix datetype size asserts in btree.c. file: [3e320cac] check-in: [ff4812d0] user: drh branch: trunk, size: 320109 | |
2015-03-21
| ||
17:00 | Merge all recent trunk enhancements and especially the blocking WAL-lock fix into the apple-osx branch. file: [22086fbd] check-in: [9f1f8b33] user: drh branch: apple-osx, size: 321276 | |
2015-03-20
| ||
14:57 | Provide the BTREE_SEEK_EQ hint to the b-tree layer. file: [d4d52fb1] check-in: [e750830f] user: drh branch: seek-eq, size: 320145 | |
2015-02-21
| ||
01:03 | Merge trunk changes into the apple-osx branch. file: [7f5174c0] check-in: [3896e233] user: drh branch: apple-osx, size: 321019 | |
00:19 | Keep track of the optimal number of reserved bytes (by looking at reserve byte requests in calls to sqlite3BtreeSetPageSize()) and then change the reserve byte count to the optimal when doing a VACUUM or when using the backup API. file: [a31ac00e] check-in: [28c2b726] user: drh branch: trunk, size: 319888 | |
2015-02-06
| ||
16:03 | Merge all recent trunk enhancements into the apple-osx branch. file: [11945da2] check-in: [44711921] user: drh branch: apple-osx, size: 320905 | |
2015-01-30
| ||
21:00 | Merge the SQLITE_TESTCTRL_IMPOSTER changes from trunk. file: [ddca0ae6] check-in: [3ed6eb2f] user: drh branch: ota-update, size: 319817 | |
20:59 | Change SQLITE_TESTCTRL_INITMODE to SQLITE_TESTCTRL_IMPOSTER. Revise the order of parameters. Give it the ability to reset the schema parse table so that imposter tables can be erased. file: [2a1245df] check-in: [42d56017] user: drh branch: trunk, size: 319774 | |
2015-01-28
| ||
12:00 | Merge in all changes from trunk. file: [73cfa175] check-in: [17c69be8] user: drh branch: ota-update, size: 319585 | |
2015-01-02
| ||
19:17 | Merge the latest changes from trunk into the apple-osx branch. file: [2dfa99ac] check-in: [df3cdf9f] user: drh branch: apple-osx, size: 320673 | |
2014-12-30
| ||
00:57 | Round all object sizes that go into computing SQLITE_CONFIG_PCACHE_HDRSZ up to a multiple of 8 bytes. file: [4c098bb6] check-in: [b28ce75f] user: drh branch: trunk, size: 319542 | |
2014-12-24
| ||
18:11 | Fix a failing assert() in balance_nonroot(). file: [904d3047] check-in: [e2e32314] user: dan branch: trunk, size: 319534 | |
2014-12-22
| ||
18:41 | Redefine the way PRAGMA data_version works: It continues to change when any other connection commits, including shared-cache connections, but does not change if the local connection commits. file: [1de05604] check-in: [7a97826f] user: drh branch: trunk, size: 319530 | |
2014-12-19
| ||
19:28 | Experimental "PRAGMA data_version" command for detecting when another process has changed the database file. file: [b2b2bd0a] check-in: [43db1f44] user: drh branch: data_version_pragma, size: 319443 | |
2014-12-16
| ||
00:29 | Merge latest fixes and enhancements from trunk into apple-osx. file: [ecb04166] check-in: [2c1d8dda] user: drh branch: apple-osx, size: 320063 | |
00:08 | Make sure the sqlite3BtreeCount() routine does not leave index cursors in an inconsistent state, as doing so might result in an assertion fault inside of sqlite3BtreeKey() called from saveAllCursors() if content is deleted out from under the statement that issued the sqlite3BtreeCount() call. file: [92f745cc] check-in: [5b1b6970] user: drh branch: trunk, size: 318932 | |
2014-12-11
| ||
16:38 | Fix a race condition to do with very large index keys in shared-cache mode. file: [ab4b60fc] check-in: [fc157dd7] user: dan branch: trunk, size: 318925 | |
2014-12-09
| ||
15:01 | Increase the default PMA size from 10 to 250 pages and provide the SQLITE_SORTER_PMASZ compile-time option to change this default. Add needed mutex call when clearing the KeyInfo cache in shared-cache mode. file: [e8325955] check-in: [6e2da589] user: drh branch: apple-osx, size: 320043 | |
04:26 | Fix harmless compiler warning. file: [ea6692ce] check-in: [e97b7a8b] user: mistachkin branch: trunk, size: 318912 | |
2014-12-08
| ||
07:50 | Update this branch with latest trunk changes. file: [7071995e] check-in: [69a312ad] user: dan branch: ota-update, size: 318950 | |
2014-12-06
| ||
14:56 | Avoid accessing a single uninitialized byte when moving a rare 3-byte cell from an internal page to a leaf. This was not actually causing a problem, just a valgrind warning. file: [90239634] check-in: [6aeece19] user: dan branch: trunk, size: 318907 | |
02:05 | Fix a (harmless) uninitialized variable reference in b-tree balancing for auto-vacuumed tables with overflow pages. file: [b1757167] check-in: [dd1dd445] user: drh branch: trunk, size: 318713 | |
2014-12-02
| ||
16:38 | Merge all recent enhancements and bug fixes from trunk into the apple-osx branch. file: [da9a40fd] check-in: [43c4ba26] user: drh branch: apple-osx, size: 319803 | |
16:16 | Convert two unreachable branches into assert() statements. file: [44b58cd7] check-in: [61b31e77] user: drh branch: trunk, size: 318672 | |
2014-11-27
| ||
03:46 | Fix a problem in the new b-tree balancer that was causing corruption of the fragmentation count. file: [c82a514c] check-in: [f242394e] user: drh branch: trunk, size: 318654 | |
2014-11-21
| ||
14:37 | Merge latest trunk changes with this branch. file: [1ab82a27] check-in: [7ef44c5b] user: dan branch: ota-update, size: 318241 | |
2014-11-20
| ||
15:30 | Ensure that when the number of cells on a page drops to zero that the freelist and fragment counter are both cleared. Also add evidence marks corresponding to file-format documentation. file: [4db5e06c] check-in: [ef9fbc08] user: drh branch: trunk, size: 318198 | |
2014-11-19
| ||
16:36 | Add new requirements marks associated with the file format documentation. No changes to code. file: [d0a7cfc8] check-in: [6d00bcca] user: drh branch: trunk, size: 314586 | |
2014-11-18
| ||
21:27 | Merge recent trunk enhancements. file: [6d877cd2] check-in: [ccb601f6] user: drh branch: apple-osx, size: 312637 | |
20:49 | Merge in all the other ROLLBACK fixes from the branch-3.8.7 branch. I don't know why I was doing them one-by-one. file: [b562da29] check-in: [296b0c73] user: drh branch: trunk, size: 311506 | |
20:22 | Fix a bug in the sqlite3TripAllCursors() routine that prevents it from reporting errors. It is unknown at this time whether or not this omission can result in any incorrect result in an actual query. file: [75edb585] check-in: [2896f264] user: drh branch: trunk, size: 311607 | |
2014-11-17
| ||
20:33 | Remove code from sqlite3BtreeKeySize() made unreachable by the previous check-in. file: [c961588f] check-in: [57c4aa98] user: drh branch: branch-3.8.7, size: 301105 | |
15:32 | Fix a bug in the sqlite3TripAllCursors() routine that prevents it from reporting errors. It is unknown at this time whether or not this omission can result in any incorrect result in an actual query. file: [20871251] check-in: [42588207] user: drh branch: branch-3.8.7, size: 301206 | |
2014-11-13
| ||
13:42 | When a transaction or savepoint rollback occurs, save the positions of all open read-cursors so that they can be restored following the rollback operation. Cherry-pick of check-in [dd03a2802f3f27] file: [2c15850c] check-in: [402780a9] user: drh branch: branch-3.8.7, size: 301210 | |
2014-11-12
| ||
14:56 | When a transaction or savepoint rollback occurs, save the positions of all open read-cursors so that they can be restored following the rollback operation. file: [d5d991b5] check-in: [dd03a280] user: dan branch: trunk, size: 311611 | |
2014-11-11
| ||
22:55 | Enhance ROLLBACK so that pending queries are allowed to continue as long as the schema does not change. This is a cherry-pick of check-in [b5df5ac052]. file: [944b84f7] check-in: [d4b2d5d0] user: drh branch: branch-3.8.7, size: 300288 | |
01:33 | Experimental changes that permit read operations to continue after a ROLLBACK, as long as the schema is unchanged. file: [eaef0003] check-in: [fa6e6a9a] user: drh branch: read-after-rollback, size: 310689 | |
2014-11-05
| ||
21:21 | Fix harmless compiler warnings in the new balance_nonroot() routine. file: [4a126e20] check-in: [83a1e5db] user: drh branch: trunk, size: 310184 | |
2014-11-04
| ||
14:22 | Change the definition of SQLITE_CONFIG_SCRATCH so that at most one scratch buffer is used per thread. Use the generic heap memory allocator for the WalIterator object when running a checkpoint. file: [11d12621] check-in: [391c9b85] user: drh branch: trunk, size: 310034 | |
13:41 | Improved documentation and addition of source-code evidence marks for the sqlite3_config() interface. file: [5b6e02a2] check-in: [681031a4] user: drh branch: trunk, size: 310179 | |
12:11 | Add the SQLITE_CONFIG_PCACHE_HDRSZ option for sqlite3_config(). file: [3cc91876] check-in: [6eb03e62] user: drh branch: trunk, size: 309920 | |
2014-10-31
| ||
15:20 | Merge all recent trunk enhancements into the apple-osx branch. file: [eeebb817] check-in: [fef8430f] user: drh branch: apple-osx, size: 310916 | |
14:26 | Simplify the logic in the cell redistribution loop of balance_nonroot(). Enhance and clarify comments and add assert() statements for additional verification of correctness. file: [61d96c2e] check-in: [a07078b6] user: drh branch: trunk, size: 309785 | |
12:22 | Simplify the math slightly, and reduce by one the number of loop iterations, for the loop in balance_nonroot() that moves cells between pages. file: [0f294d5e] check-in: [2e838db8] user: drh branch: trunk, size: 308957 | |
02:51 | Remove an unnecessary branch from balance_nonroot(). file: [7031b8ce] check-in: [9fc7c88e] user: drh branch: trunk, size: 308859 | |
00:05 | In the balance_nonroot() routine, protect the values in aPgno[] array from change during the page sort, so that aPgno[] can be used to avoid unnecessary pointer-map updates for auto_vacuum databases. file: [88c87803] check-in: [69c3924f] user: drh branch: trunk, size: 308823 | |
2014-10-30
| ||
23:14 | Improvements to the wording of some comments. Reinstate an assert() that is only true for non-corrupt database files by adding an "|| CORRUPT_DB" term. file: [8f7ea969] check-in: [67adb448] user: drh branch: trunk, size: 308721 | |
20:48 | Tweaks to comments in btree.c. Minor code changes to enhance testability. file: [8d955d8e] check-in: [c7d9aa3a] user: drh branch: trunk, size: 308782 | |
2014-10-28
| ||
00:56 | Correct the documentation on the maximum size of a scratch allocation. file: [5189881c] check-in: [30f86eb3] user: drh branch: trunk, size: 308873 | |
2014-10-27
| ||
19:42 | Fix harmless compiler warning in an assert statement. file: [0e3262c3] check-in: [d33a1ff3] user: mistachkin branch: trunk, size: 308813 | |
18:42 | Merge latest enhancements, including the SQLITE_ENABLE_API_ARMOR patch, from trunk. file: [ef97f308] check-in: [10aaf3b1] user: drh branch: apple-osx, size: 309937 | |
18:21 | Fix an unused variable in btree.c:allocateSpace(). file: [812c03da] check-in: [63724616] user: drh branch: trunk, size: 308806 | |
08:02 | If a free-slot is found within a page, but using that free-slot would fragment the page further and there are already at least 60 fragmented bytes, degragment the page. This matches the behaviour of the trunk. file: [9790fb4d] check-in: [1f80f8c1] user: dan branch: defrag-opt, size: 308881 | |
2014-10-25
| ||
20:36 | Further modifications to new code to better handle corrupt databases. file: [2639b89f] check-in: [1a8cf0a0] user: dan branch: defrag-opt, size: 308485 | |
2014-10-24
| ||
20:57 | Ensure that the "Any prior cache entry associated with newKey is guaranteed not to be pinned" guarantee made to xRekey implementations is not violated. file: [4decfb3b] check-in: [ecc3544e] user: dan branch: defrag-opt, size: 307802 | |
18:43 | Fix some issues in the new code on this branch related to the handling of corrupt databases. file: [df15daf1] check-in: [19736dd9] user: dan branch: defrag-opt, size: 307942 | |
16:40 | Fix some minor formatting and code organization issues. file: [56381ce7] check-in: [eab8706d] user: dan branch: defrag-opt, size: 307645 | |
2014-10-22
| ||
18:42 | Merge latest trunk with this branch. file: [37229f31] check-in: [854a54c6] user: dan branch: defrag-opt, size: 307505 | |
2014-10-20
| ||
16:34 | Merge version-3.8.7 changes with this branch. file: [c6022918] check-in: [d380a648] user: dan branch: ota-update, size: 299826 | |
2014-10-17
| ||
12:11 | Merge the 3.8.7 changes into the apple-osx branch. file: [ad424e72] check-in: [aa7bbed1] user: drh branch: apple-osx, size: 300914 | |
2014-10-15
| ||
11:55 | Add a four-byte prefix to the BtShared.pTmpSpace buffer to avoid reading before the beginning of an allocation. file: [1b1123cb] check-in: [9386bfca] user: drh branch: trunk, size: 299783 | |
2014-10-14
| ||
17:27 | Fix some code duplication issues on this branch. Add minor optimizations to the new code. file: [3c72c5aa] check-in: [58d7793b] user: dan branch: defrag-opt, size: 307165 | |
14:17 | Merge from trunk recent micro-optimizations and the fix for the DESC index GROUP BY ORDER BY bug. file: [94ffa3e9] check-in: [880df756] user: drh branch: apple-osx, size: 300574 | |
2014-10-13
| ||
18:09 | Merge trunk changes into this branch. file: [3d9d1db1] check-in: [d5b7c5a8] user: dan branch: defrag-opt, size: 307531 | |
18:03 | Further work on balance_nonroot(). file: [63211ca1] check-in: [6594f9b4] user: dan branch: defrag-opt, size: 307648 | |
16:02 | Reduce the CPU load imposed by sqlit3VdbeCursorMoveto() by factoring out some of its functions and by avoiding unnecessary calls. file: [c9fcae81] check-in: [c2799aec] user: drh branch: trunk, size: 299443 | |
2014-10-11
| ||
20:00 | Attempt to further reduce memcpy() in balance_nonroot(). file: [d5f4f74e] check-in: [fec849dc] user: dan branch: defrag-opt, size: 305666 | |
17:22 | Simplification to the insertCell() routine in btree.c, resulting in a performance boost and a very small size decrease. It turns out that the extra work involved in sometimes avoiding an memcpy() of the first four bytes of a record takes more time than just unconditionally copying those four bytes. file: [5c0b78c4] check-in: [66de1558] user: drh branch: trunk, size: 299451 | |
2014-10-09
| ||
19:35 | Change the balance_nonroot() routine to reduce the amount of memcpy work that takes place. This is a work in progress. file: [7b89fde3] check-in: [29304499] user: dan branch: defrag-opt, size: 301227 | |
11:27 | Merge the latest trunk enhancements into the apple-osx branch. file: [5c97b887] check-in: [6fc72077] user: drh branch: apple-osx, size: 300912 | |
2014-10-01
| ||
12:01 | Avoid ever writing before the start of an allocated buffer in the DIRECT_OVERFLOW_READ code. Fix for [e3a290961a6]. file: [fa006181] check-in: [c3c15d20] user: dan branch: trunk, size: 299781 | |
01:46 | Merge the latest enhancements from trunk. file: [fe089e57] check-in: [2078454a] user: drh branch: apple-osx, size: 300638 | |
2014-09-29
| ||
15:00 | Ensure that the OP_Prev opcode verifies that content has not been deleted out from under the cursor. Fix for ticket [209d31e3161b9e9ff]. file: [ede8348a] check-in: [414f0d6a] user: drh branch: trunk, size: 299507 | |
2014-09-27
| ||
05:00 | Reduce the amount of memcpy() required by defragmentPage(). file: [95a942a6] check-in: [3edab995] user: drh branch: defrag-opt, size: 299704 | |
2014-09-26
| ||
02:41 | Fix the "PRAGMA integrity_check" command so that it avoids formatting error message context messages until it actually needs to generate an error message. This avoids much formatting, and hence greatly improves the performance of "PRAGMA integrity_check" in the common case when there are no errors. It also makes the code a little smaller. file: [59f03e42] check-in: [83913515] user: drh branch: trunk, size: 299560 | |
2014-09-24
| ||
19:47 | Have each open database allocate its pTmpSpace when the first write cursor is opened, rather than on each insert or delete, for a small space savings and performance boost. file: [4d5cdfea] check-in: [99323552] user: drh branch: trunk, size: 299588 | |
18:31 | Small performance and size optimization for btreeUnlockIfUnused(). file: [ee77b1d3] check-in: [13c746f8] user: drh branch: trunk, size: 299540 | |
04:38 | Experiment using linear interpolation, instead of a strict binary search, when looking for integer-keyed rows on a single b-tree page. The experiment was not successful. The number of key comparisons is reduced by about 15%, but the added complexity of the search logic causes an overall reduction in performance. The patch is saved for historical reference only. file: [f1b4d64c] check-in: [c705cf85] user: drh branch: linear-interpolation, size: 300038 | |
02:05 | Have the clearCell() routine return the cell size to the caller, rather than have the caller make a separate call to cellSizePtr(). file: [183d62b3] check-in: [f21d2175] user: drh branch: trunk, size: 299549 | |
01:23 | Shorten all lines of source code in btree.c to at most 80 characters. No logical changes. file: [3732a278] check-in: [5dd41cdb] user: drh branch: trunk, size: 299209 | |
00:59 | Add the MemPage.noPayload boolean and use it to help cellSizePtr() and btreeParseCellPtr() run faster. file: [d64b3c55] check-in: [8e337531] user: drh branch: trunk, size: 299211 | |
2014-09-23
| ||
23:12 | Remove an unused C-preprocessor macro. No functional changes to the code. file: [b10d4c34] check-in: [f480582c] user: drh branch: trunk, size: 298685 | |
22:36 | Avoid calling btreeParseCellPtr() from within fillInCell() since most of what btreeParseCellPtr() computes is ignored by fillInCell(). Instead, have fillInCell() compute the values it needs inline. Performance improvement. file: [11cf3607] check-in: [4147f667] user: drh branch: trunk, size: 298905 | |
21:25 | Simplify the CellInfo structure for a size reduction and performance improvement. file: [2a7c67d4] check-in: [bf59df66] user: drh branch: trunk, size: 297757 | |
2014-09-22
| ||
20:38 | Fix to payload size overflow detection in the cellSizePtr() change of the previous check-in. file: [c2645014] check-in: [76097440] user: drh branch: trunk, size: 297942 | |
19:51 | Size reduction and substantial performance increase for cellSizePtr(). file: [86cc6efe] check-in: [bc8bbf32] user: drh branch: trunk, size: 297947 | |
2014-09-21
| ||
23:08 | Merge in all recent changes from trunk. file: [16c92211] check-in: [3967ebe8] user: drh branch: apple-osx, size: 298930 | |
2014-09-18
| ||
11:31 | Merge latest trunk changes with this branch. file: [be6c5e11] check-in: [67ea2979] user: dan branch: ota-update, size: 297842 | |
2014-09-16
| ||
14:37 | Reduce the number of arguments to RecordCompare functions from 4 to 3, resulting in a small performance increase. file: [6aa61c0e] check-in: [8239c35a] user: drh branch: micro-optimizations, size: 297799 | |
2014-09-15
| ||
15:34 | Merge latest trunk changes with this branch. file: [3957262c] check-in: [55b8011d] user: dan branch: ota-update, size: 297851 | |
2014-09-09
| ||
17:27 | Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_texte64(), sqlite3_result_blob64(), and sqlite3_result_texte64(). Internal memory allocation routines also now use 64-bit unsigned length parameters for safety. Also add the sqlite3_msize() interface. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. file: [e4916b44] check-in: [94954850] user: drh branch: 64-bit-lengths, size: 297808 | |
2014-09-06
| ||
16:39 | Fix typos in comments. No code changes. file: [b1c1cd1c] check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 297813 | |
2014-09-03
| ||
19:30 | Split part of "PRAGMA ota_mode" off into "PRAGMA pager_ota_mode". This allows some specialized custom VFS implementations to intercept and implement the expected pager-related effects of this pragma. file: [9cb19890] check-in: [209f672e] user: dan branch: ota-update, size: 297854 | |
2014-09-02
| ||
19:59 | Add an experimental extension for applying bulk updates to databases. file: [c46043fb] check-in: [2954ab50] user: dan branch: ota-update, size: 297893 | |
15:57 | Merge the latest trunk changes into the apple-osx branch. file: [1e5bb10b] check-in: [696dc935] user: drh branch: apple-osx, size: 298942 | |
2014-09-01
| ||
17:36 | Add support for using separate worker threads to speed large sorts. The SQLITE_MAX_WORKER_THREADS and SQLITE_DEFAULT_WORKER_THREADS compile-time options and the SQLITE_LIMIT_WORKER_THREADS argument to sqlite3_limit() and the "PRAGMA threads=N" pragma are added. file: [2a483a80] check-in: [b1c0f0bc] user: drh branch: trunk, size: 297811 | |
13:29 | Micro-optimizations in sqlite3BtreeNext() and sqlite3BtreePrevious(). file: [4d0427ba] check-in: [839c7996] user: drh branch: trunk, size: 297702 | |
2014-08-26
| ||
02:02 | Merge recent performance enhancements and the CAST operator enhancements into the apple-osx branch. file: [85855eaf] check-in: [5c273111] user: drh branch: apple-osx, size: 297256 | |
2014-08-25
| ||
13:27 | Merge the recent performance enhancements implemented on trunk into the threads branch. file: [a10ceacc] check-in: [dfdc900f] user: drh branch: threads, size: 296234 | |
2014-08-23
| ||
19:08 | Fix a variable-declaration after code problem in btree.c. Harmless in GCC and CLANG but unacceptable for MSVC. file: [4737cb5b] check-in: [45abd5c0] user: drh branch: trunk, size: 296125 | |
2014-08-22
| ||
23:33 | Another performance tweak: Split the sqlite3BtreeCursorHasMoved() routine into two with the second routine named sqlite3BtreeCursorRestore(). The first now only reports whether or not the cursor has moved and the second tries to restore the cursor. This allows the sqlite3VdbeCursorMoveto() routine to be refactored to avoid stack pointer movements, for a noticable performance gain. file: [c4b4e1c9] check-in: [ce123b5c] user: drh branch: trunk, size: 296125 | |
22:26 | Factor the saveAllCursors() routine of btree.c into two separate routines, for a noticable performance improvement. file: [776885df] check-in: [3eb08439] user: drh branch: trunk, size: 295662 | |
2014-08-20
| ||
18:43 | A small performance improvement in freeSpace() by special-casing the relatively common case of an empty freelist. file: [4195fed5] check-in: [49f44d35] user: drh branch: trunk, size: 294445 | |
17:56 | Reimplement the freeSpace() routine in btree.c so that it runs faster. file: [fe2d11c8] check-in: [fe4fd014] user: drh branch: trunk, size: 294210 | |
14:37 | Refactor local variable names in the freeSpace() routine of btree.c for improved understandability. file: [c1235eac] check-in: [7e63089a] user: drh branch: trunk, size: 294104 | |
13:17 | Change an assert() added by the previous commit into a testcase(). Fix a separate assert() in btree.c:freeSpace(). file: [53eb576f] check-in: [fe51d3aa] user: drh branch: btree-speedup, size: 293630 | |
11:56 | Further size reduction and performance improvement in btree.c:allocateSpace(). file: [398ecbdb] check-in: [1cb1cd64] user: drh branch: btree-speedup, size: 293627 | |
00:54 | Minor performance improvement and size reduction for the btree-page space allocator. file: [c580f3fb] check-in: [73637d12] user: drh branch: trunk, size: 293649 | |
2014-08-15
| ||
22:37 | Aborted merge. file: [48dad2fb] check-in: [c8ade949] user: numist branch: obsolete, size: 295920 | |
16:10 | Merge the 3.8.6 changes into the apple-osx branch. file: [7d780ca1] check-in: [b91fcb3b] user: drh branch: apple-osx, size: 294805 | |
15:46 | Merge the 3.8.6 release into the threads branch. file: [691d09b5] check-in: [05807c41] user: drh branch: threads, size: 293783 | |
2014-08-14
| ||
19:53 | Fix an assert that can fail if the database file is corrupted. file: [fa057e30] check-in: [3f45b819] user: dan branch: trunk, size: 293674 | |
2014-08-06
| ||
02:03 | Merge all recent changes from trunk. file: [f3d64fe7] check-in: [a353a851] user: drh branch: threads, size: 293759 | |
01:51 | Merge 3.8.6 beta changes in from trunk. file: [cc753a62] check-in: [b2e01080] user: drh branch: apple-osx, size: 294781 | |
2014-08-05
| ||
11:04 | Rename the internal Schema.flags field to Schema.schemaFlags. file: [99d162e5] check-in: [5ae80b3c] user: drh branch: trunk, size: 293650 | |
2014-07-30
| ||
11:49 | Merge all recent trunk changes, and especially the R-Tree IN operator fix of ticket [d2889096e7bdeac]. file: [ab2fad23] check-in: [654c6c65] user: drh branch: apple-osx, size: 294775 | |
2014-07-28
| ||
15:01 | Merge recent trunk changes into the threads branch. file: [dff8e778] check-in: [163c247b] user: drh branch: threads, size: 293753 | |
2014-07-25
| ||
21:35 | Try to fix harmless compiler warnings reported by Fortify. file: [b5531339] check-in: [e0fa6fdc] user: drh branch: trunk, size: 293644 | |
2014-05-29
| ||
20:36 | Merge trunk changes into the apple-osx branch. file: [c25678d7] check-in: [b9fad449] user: drh branch: apple-osx, size: 294780 | |
20:24 | Merge changes from the trunk into the threads branch. file: [32b552d5] check-in: [416cb091] user: drh branch: threads, size: 293758 | |
2014-05-27
| ||
15:21 | Remove unused code (previously #ifdef-ed out) from btree.c. file: [70c60a38] check-in: [8bc97371] user: drh branch: trunk, size: 293649 | |
2014-05-26
| ||
20:15 | Merge recent trunk changes into the threads branch. file: [34172d28] check-in: [82152027] user: drh branch: threads, size: 293909 | |
20:08 | Merge recent trunk changes into the apple-osx branch. file: [9656f30c] check-in: [54b5fa77] user: drh branch: apple-osx, size: 294931 | |
2014-05-21
| ||
08:21 | Fix the sqlite3_db_readonly() API so that it reports true if the database is readonly because the file format write version (byte 18 of the header) is too large. file: [e29fc07a] check-in: [8d8af114] user: drh branch: trunk, size: 293800 | |
2014-05-19
| ||
15:16 | Changes to help ensure that a multiplication does not overflow when computing the number of bytes needed for a memory allocation, and cause a malfunction. No problems existing problems were discovered. However, these changes should help to ensure that no problems arise in the future. file: [6f94e30c] check-in: [17349a49] user: drh branch: safer-malloc, size: 293657 | |
2014-05-08
| ||
23:01 | Initial attempt to merge in all trunk changes over the previous 1.5 years. This check-in compiles but there are compiler warnings and "make test" segfaults after only running a few test modules. file: [12c020db] check-in: [9411d7dc] user: drh branch: apple-osx, size: 294788 | |
2014-05-02
| ||
17:12 | Fix some broken asserts in btree.c and vdbeaux.c that may fail following an OOM error. file: [e14daeed] check-in: [e15f4706] user: dan branch: threads, size: 293766 | |
2014-04-24
| ||
13:20 | Add sqlite3_log() diagnostic messages for a specific type of corruption where the file size is reported to be too small relative to the size in the header. This branch is intended to help debug a specific problem reported from the wild and is not for general use. file: [7339c511] check-in: [34155c40] user: drh branch: filesize-debug, size: 279054 | |
2014-04-18
| ||
12:38 | Merge recent trunk changes into the threads branch. file: [1e8fa0e5] check-in: [8729aa3e] user: drh branch: threads, size: 293767 | |
2014-04-01
| ||
10:19 | Fix a problem with OOM handling in the sorter code. file: [0d1be674] check-in: [59cd5229] user: dan branch: threads, size: 292764 | |
01:24 | Remove an unnecessary conditional, replacing it with an assert(). Improvements to comments. file: [6c9b51ab] check-in: [834bf1c3] user: drh branch: overflow-pgno-cache, size: 293657 | |
2014-03-31
| ||
23:57 | Fix a compiler warning when SQLITE_DIRECT_OVERFLOW_READ is defined. Minor performance enhancement and size reduction. file: [b1d6309d] check-in: [96385dc4] user: drh branch: overflow-pgno-cache, size: 293332 | |
22:03 | Merge in the latest changes and fixes from trunk. file: [33338d61] check-in: [f6211540] user: drh branch: overflow-pgno-cache, size: 293208 | |
2014-03-28
| ||
03:12 | Enhance the sqlite3VdbeRecordCompare() routines so that if they encounter database corruption, they will set the UnpackedRecord.isCorrupt field and return 0. The sqlite3BtreeMovetoUnpacked() routine detects this and returns SQLITE_CORRUPT, causing the corruption to be reported back to the top-level. file: [a59a199f] check-in: [7fa85eaa] user: drh branch: trunk, size: 292654 | |
2014-03-25
| ||
11:00 | Detect when a VdbeCursor is still pointing at a valid row but that row has moved, and invalidated the return from prior sqlite3BtreeDataFetch() or sqlite3BtreeKeyFetch() calls. file: [8d7e432b] check-in: [e6798871] user: drh branch: trunk, size: 292521 | |
2014-03-20
| ||
18:56 | Only use the direct-overflow-read optimization if all data from the overflow page in question is being read. file: [0384d399] check-in: [d8e1f75d] user: dan branch: overflow-pgno-cache, size: 292251 | |
2014-03-19
| ||
14:10 | First attempt at getting block-sort to work. This is an incremental check-in. There are many problems still to be worked out. file: [029cec7b] check-in: [59742dd4] user: drh branch: orderby-planning, size: 292018 | |
2014-03-14
| ||
11:46 | Fix a harmless compiler warning that crops up with SQLITE_MAX_MMAP_SIZE=0. file: [2a0e73f2] check-in: [1277932b] user: drh branch: trunk, size: 291760 | |
2014-03-11
| ||
23:44 | Remove a stray C99-style comment. file: [33b5ad54] check-in: [f500e87d] user: drh branch: overflow-pgno-cache, size: 292007 | |
23:40 | Combine the various boolean fields of the BtCursor object into a single bit-vector. This allows setting or clearing more than one boolean at a time and makes the overflow-pgno-cache branch faster than trunk on speedtest1. file: [225a3f4d] check-in: [968fec44] user: drh branch: overflow-pgno-cache, size: 292042 | |
20:33 | Enable the b-tree cursor object's overflow page-number cache, which is normally enabled only for incr-blob cursors, for all cursors. file: [c748d838] check-in: [da591985] user: dan branch: overflow-pgno-cache, size: 291356 | |
2014-03-06
| ||
01:56 | Fix some incorrect comments and typos in comments. Add testcase() macros to some of the new record comparison code. file: [4d28fb15] check-in: [b83cfe89] user: drh branch: trunk, size: 291697 | |
2014-03-04
| ||
16:05 | Ensure that BtreeMovetoUnpacked() does not try to invoke xRecordCompare when it is set to NULL. file: [ad795be5] check-in: [2879234b] user: dan branch: trunk, size: 291722 | |
2014-03-03
| ||
21:46 | Fix a couple of harmless compiler warnings. file: [7a81c2c6] check-in: [fcf480cc] user: drh branch: experimental, size: 291718 | |
2014-03-01
| ||
19:44 | Remove the vdbeRecordCompareLargeHeader function. Fix some other details. file: [d288e668] check-in: [3861e853] user: dan branch: experimental, size: 291632 | |
2014-02-27
| ||
20:44 | Further changes to sqlite3VdbeRecordCompare(). file: [77f17598] check-in: [57089374] user: dan branch: experimental, size: 291672 | |
2014-02-25
| ||
21:01 | Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. file: [f4d85c3e] check-in: [85206e0b] user: dan branch: experimental, size: 291626 | |
2014-02-12
| ||
23:52 | Minor simplifications to the "zeroPage()" routine in btree.c. file: [b945df4f] check-in: [cc8f10bc] user: drh branch: trunk, size: 291430 | |
21:31 | Remove the "rowid cache" that sought to remember the largest rowid for a table and thereby speed up OP_NewRowid. That cache was ineffective. Removing it results in a performance increase of 0.4%, less memory usage, and a slightly smaller library size. file: [97020a77] check-in: [56bc5ce8] user: drh branch: trunk, size: 291458 | |
2014-02-05
| ||
17:08 | Make the root page of an ephemeral index be page 1 instead of page 2. file: [ae408b77] check-in: [a332908b] user: drh branch: subquery-codegen-refactor, size: 292591 | |
2014-02-03
| ||
14:04 | Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. file: [7b2c3cd1] check-in: [6c643e45] user: drh branch: trunk, size: 292457 | |
2014-01-28
| ||
00:49 | Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. file: [c695c106] check-in: [a2c347fa] user: drh branch: branch-3.8.2, size: 293836 | |
2014-01-20
| ||
18:25 | Handle a few obscure problems that could manifest if a database corrupted in a certain way was written by a connection in the middle of a SELECT statement on the same db. file: [02e1a4e7] check-in: [eba8a564] user: dan branch: trunk, size: 291279 | |
2014-01-14
| ||
20:14 | Add code to handle recursive CTEs. file: [c15e1722] check-in: [a5c2a54a] user: dan branch: common-table-expr, size: 291403 | |
2013-12-13
| ||
19:35 | Create and use a new pager interface sqlite3PagerUnrefNotNull() that works just like sqlite3PagerUnref() but guarantees that its argument is not a NULL pointer. file: [11e29ef8] check-in: [e00f37e2] user: drh branch: trunk, size: 291360 | |
2013-12-09
| ||
20:43 | Simplify the sqlite3BtreeKeyFetch() and sqlite3BtreeDataFetch() interfaces to the storage engine. file: [09285d6f] check-in: [bf975985] user: drh branch: trunk, size: 291320 | |
19:03 | Performance optimizations for sqlite3VXPrintf(). file: [44a44aa2] check-in: [9227ad48] user: drh branch: trunk, size: 292038 | |
02:32 | Use memmove() rather than a home-made copy loop in insertCell() too. file: [432c3e22] check-in: [a3d796b1] user: drh branch: trunk, size: 292039 | |
01:58 | Use memmove() rather than a home-made copy loop in dropCell() of btree.c, for a size reduction and performance improvement. file: [ac25a91a] check-in: [78e17068] user: drh branch: trunk, size: 292316 | |
01:04 | Avoid unnecessary no-op calls from getAndInitPage() to btreeInitPage() in the btree.c logic. file: [368d2eae] check-in: [81f5ae13] user: drh branch: trunk, size: 292507 | |
00:47 | Use putVarint32() instead of putVarint() for a quantity that can never exceed 2GiB - 1. file: [6a5f69e4] check-in: [6996fb34] user: drh branch: trunk, size: 292483 | |
2013-12-07
| ||
20:39 | If the SQLITE_ENABLE_CURSOR_HINTS macro is defined, then invoke the sqlite3BtreeCursorHint() interface to provide hints to the storage engine about rows that need not be returned. Hints can be disabled using SQLITE_TESTCTRL_OPTIMIZATIONS with SQLITE_CursorHints (0x2000). Cursor hints are not used by the built-in storage engine of SQLite but might be useful to applications that provide their own storage engine. The current code is work-in-progrss and contains bugs. file: [9e6d1898] check-in: [3a9bec52] user: drh branch: cursor-hints, size: 293084 | |
2013-12-06
| ||
23:25 | Performance optimization to the moveToRoot() subroutine in btree.c. file: [4037f58e] check-in: [b5842a70] user: drh branch: trunk, size: 292481 | |
22:44 | Remove some commented-out code from sqlite3BtreeMovetoUnpacked() to try to make it more readable. file: [1c1228bf] check-in: [2d62d113] user: drh branch: trunk, size: 292550 | |
2013-11-30
| ||
12:49 | Detect a corrupt UnpackedRecord and return SQLITE_CORRUPT prior to calling sqlite3BtreeMovetoUnpacked(). file: [fe6c95c5] check-in: [55ec474d] user: drh branch: trunk, size: 292658 | |
2013-11-25
| ||
21:41 | Remove a NEVER() from a branch that is now reachable during OOM faults. file: [ec8a4dca] check-in: [18bdcb05] user: drh branch: trunk, size: 292540 | |
20:14 | Return an SQLITE_CORRUPT error if the content size field of a table record extends off the end of a page. file: [c308e64d] check-in: [b48c4e40] user: drh branch: btree-optimization, size: 292547 | |
17:38 | Uses shifts rather than division for arithmetic on the cell indices, since those indices are always non-negative. file: [f98e6cea] check-in: [5bf2a3fe] user: drh branch: btree-optimization, size: 292485 | |
16:52 | Optimize the skipping of the payload size field when doing a binary search for a rowid. file: [fc03d3fd] check-in: [55e5bfa2] user: drh branch: btree-optimization, size: 292294 | |
16:23 | Arrange for sqlite3BtreeMovetoUnpacked() to always leave the cursor cell parse cache invalidated. This fixes issues with previous check-ins on this branch and also runs faster. file: [0ce10b29] check-in: [a7467560] user: drh branch: btree-optimization, size: 292324 | |
15:01 | More optimizations to sqlite3BtreeMovetoUnpacked(). But there are failures in TH3. Committing this intermediate state to facilitate bisecting. file: [7459c164] check-in: [f80497be] user: drh branch: btree-optimization, size: 292333 | |
14:10 | More improvements to sqlite3BtreeMovetoUnpacked() performance. file: [c300cb68] check-in: [88680698] user: drh branch: btree-optimization, size: 292357 | |
02:38 | Performance improvements in sqlite3BtreeMovetoUnpacked(). file: [b0fd869c] check-in: [d0fb7ace] user: drh branch: btree-optimization, size: 292305 | |
2013-11-21
| ||
21:59 | Changes some offset and amount parameters from "int" to "u32" to avoid harmless signed/unsigned comparison warnings. file: [17ca5729] check-in: [4e8c5d07] user: drh branch: trunk, size: 292028 | |
2013-11-06
| ||
14:36 | Allocate extra stack space for UnpackedRecord objects, reducing the need to malloc for them as often, and thereby get a performance improvement. file: [260dedc1] check-in: [a725a75f] user: drh branch: omit-rowid, size: 292028 | |
2013-10-16
| ||
11:39 | Clear a valgrind error by zeroing the first 4 bytes of the temp-space allocation used by the b-tree module. file: [509722ce] check-in: [8651aba1] user: dan branch: trunk, size: 292028 | |
2013-10-06
| ||
22:52 | Remove an incorrect debugging assert() that was accidently added during the STAT4 enhancement. file: [d5720cbb] check-in: [2bb7f74b] user: drh branch: trunk, size: 291293 | |
2013-09-26
| ||
11:04 | Fix a faulty assert() in sqlite3BtreeBeginTrans() that may fail in shared-cache mode. file: [5ccbbaed] check-in: [1e1321ee] user: dan branch: trunk, size: 291339 | |
2013-08-26
| ||
23:18 | Merge the STAT4 capability into trunk. file: [b9b57df5] check-in: [a32af0ab] user: drh branch: trunk, size: 291304 | |
2013-08-21
| ||
23:42 | Simplify the btreeGetPage() routine so that it uses a single flag parameter in place of two boolean parameters. file: [b7cbb0bc] check-in: [617e23ec] user: drh branch: trunk, size: 291258 | |
21:12 | Simplification to the StrAccum object and the sqlite3StrAccumAppend() method that also results in slightly better performance. file: [7e7b3eba] check-in: [700dbbea] user: drh branch: trunk, size: 291245 | |
15:52 | Performance enhancement in btreeParseCellPtr(). file: [d49f1600] check-in: [a17190a2] user: drh branch: trunk, size: 291233 | |
2013-08-20
| ||
00:42 | Performance optimizations in the VDBE and especially to the OP_Next and related opcodes. file: [adea13e6] check-in: [d78c5d89] user: drh branch: toTypeFuncs, size: 291216 | |
2013-08-19
| ||
22:22 | Additional performance improvements in sqlite3BtreeNext() and sqlite3BtreePrevious(). file: [d8cb52cd] check-in: [6f99b54a] user: drh branch: toTypeFuncs, size: 291110 | |
20:04 | Performance improvement in sqlite3BtreeNext() and sqlite3BtreePrevious() for the common case of a valid cursor. file: [78287b30] check-in: [dc65ad8c] user: drh branch: trunk, size: 290604 | |
2013-08-16
| ||
20:42 | Add the cache_spill pragma. file: [9b985e4f] check-in: [cdb181c0] user: drh branch: cache_spill, size: 290358 | |
2013-08-03
| ||
20:24 | Begin adding experimental sqlite_stat4 table. This commit is buggy. file: [15ea4e98] check-in: [2beea303] user: dan branch: sqlite_stat4, size: 290597 | |
2013-06-28
| ||
19:41 | Allow read transactions to be freely opened and closed by SQL statements run from within the implementation of user-functions if the user-function is called by a SELECT statement that does not access any database tables (e.g. "SELECT user_function();"). file: [3f7bbfd7] check-in: [f308c485] user: dan branch: trunk, size: 290551 | |
01:24 | Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted. file: [4fc3690a] check-in: [59f98c5c] user: drh branch: trunk, size: 290553 | |
2013-06-27
| ||
23:54 | Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes "nVdbeActive". Related fields becomes "nVdbeRead", "nVdbeWrite", and "nVdbeExec". file: [c29ca371] check-in: [14f79696] user: drh branch: trunk, size: 290533 | |
2013-05-28
| ||
12:11 | Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. file: [7fba377c] check-in: [a0d5cc93] user: drh branch: trunk, size: 290535 | |
2013-05-14
| ||
23:13 | Merge together the fork in this branch. file: [fcfbe61a] check-in: [164e3d4d] user: drh branch: shared-cache-fixes, size: 290533 | |
23:12 | Fix an assert() in unlockBtreeIfUnused() so that it checks for the existance of an untripped cursor, not for the existance of any cursor at all. file: [34ea83e1] check-in: [a6f851d0] user: drh branch: shared-cache-fixes, size: 290500 | |
20:36 | Avoid deleting a b-tree "has-content" vector belonging to another shared-cache connection from within sqlite3_close(). file: [e42631ac] check-in: [93462df7] user: dan branch: shared-cache-fixes, size: 290454 | |
2013-04-15
| ||
17:03 | Refactoring the mmap interface. The controlling pragma is now "mmap_size" instead of "mmap_limit". Also change SQLITE_CONFIG_MMAP_LIMIT and SQLITE_FCNTL_MMAP_LIMIT to SQLITE_CONFIG_MMAP_SIZE and SQLITE_FCNTL_MMAP_SIZE, respecctively. The default mmap_size is now always 0, meaning that memory mapped I/O is off by default. There is a new compile-time option SQLITE_MAX_MMAP_SIZE that determines a hard upper bound on the mmap_size. Setting SQLITE_MAX_MMAP_SIZE to zero disables the memory-mapped I/O logic and causes it to be omitted from the build. An extra argument is added to SQLITE_CONFIG_MMAP_SIZE that can optionally lower the SQLITE_MAX_MMAP_SIZE at start-time. The SQLITE_MAX_MMAP_SIZE is zero for platforms where we know that it does not work, meaning that it cannot be turned on by mistake on those platforms. file: [480a6d25] check-in: [ea1404a1] user: drh branch: trunk, size: 290421 | |
2013-04-04
| ||
00:40 | Try to use mmap() to speed access to the database file on windows, linux, and mac. file: [5f2c4fe7] check-in: [fff2be60] user: drh branch: trunk, size: 290421 | |
2013-04-03
| ||
21:23 | Release resources prior to bailing out of the btreeCreateTable() routine following an OOM error. file: [58c4d684] check-in: [b2a72be9] user: drh branch: experimental-mmap, size: 290177 | |
20:04 | Remove an unreachable branch in the direct blob I/O logic of btree.c. file: [4e3d07b3] check-in: [f97d7274] user: drh branch: experimental-mmap, size: 290178 | |
11:52 | Remove the restriction on using xFetch to load the root pages of tables and indexes. It appears to have been based on a misconception. file: [fd492d65] check-in: [5b082efe] user: dan branch: experimental-mmap, size: 289981 | |
11:38 | When moving a page to make way for the root page of a new table or index in an auto-vacuum database, save the positions of any cursors that may be holding xFetch references to the page being moved. file: [4f4b2394] check-in: [9d9b1da5] user: dan branch: experimental-mmap, size: 290836 | |
11:17 | In btree.c, save the positions of other cursors open on the same table when writing via an incremental blob handle. Otherwise, they may be left holding an out-of-date xFetch page reference. file: [b38cb3a1] check-in: [3f09fba1] user: dan branch: experimental-mmap, size: 290563 | |
2013-04-01
| ||
22:38 | Add the SQLITE_CONFIG_MMAP_LIMIT configuration option for overriding the SQLITE_DEFAULT_MMAP_LIMIT compile-time setting. Enhance "PRAGMA mmap_limit" so that without a specific database name, it sets the limit on all database files and changes the default for any future databases that might be added using ATTACH. file: [bb679fdd] check-in: [78141d0a] user: drh branch: experimental-mmap, size: 290235 | |
2013-03-29
| ||
18:52 | Fix a problem in btree.c that could cause a crash following an OOM. Also various test script problems. file: [84c9a4a2] check-in: [e8bcdf93] user: dan branch: two-mappings, size: 290178 | |
2013-03-27
| ||
03:15 | Candidate fix for ticket [6bfb98dfc0c]: Make sure invalid cursors drop all references to database pages prior to doing any insert or update. file: [62ba5954] check-in: [322a5f08] user: drh branch: trunk, size: 288538 | |
2013-03-26
| ||
14:16 | In btree.c, save the positions of any open cursors before moving any pages around to auto-vacuum the database on commit. file: [19b587b3] check-in: [30c0a693] user: dan branch: experimental-mmap, size: 290185 | |
2013-03-25
| ||
23:09 | Memory-mapped I/O is now on by default. The "PRAGMA mmap_limit(N)" can be used to issue a hint to the VFS to limit mmap space to N bytes. The VFS is free to ignore that hint if desired. However, if "PRAGMA mmap_limit(0)" is used, xFetch is never called. file: [771f0391] check-in: [1b37c4ef] user: drh branch: experimental-mmap, size: 290120 | |
19:57 | Merge all recent trunk changes into the experimental-mmap branch. file: [ef238f2d] check-in: [a607d63f] user: drh branch: experimental-mmap, size: 290104 | |
2013-03-22
| ||
19:56 | Fix a potential NULL-pointer dereference in btreeSwapOutMmap(). file: [f5ea8d3d] check-in: [e81ccdcd] user: drh branch: experimental-mmap, size: 290104 | |
2013-03-21
| ||
21:20 | Many spelling fixes in comments. No changes to code. file: [3cebaa69] check-in: [6f6e2d50] user: mistachkin branch: trunk, size: 288294 | |
15:57 | Fix a problem when opening a write-transaction while there exist read-only b-tree cursors in mmap mode. file: [dd4683fa] check-in: [32e0bbb7] user: dan branch: experimental-mmap, size: 290097 | |
2013-03-19
| ||
19:28 | Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size". file: [d4d551f0] check-in: [6183f1bd] user: dan branch: experimental-mmap, size: 290098 | |
2013-03-15
| ||
18:29 | Allow read-only cursors to use mmap pages even if there is an open write transaction. file: [934921ec] check-in: [b387e2f9] user: dan branch: experimental-mmap, size: 289769 | |
2013-03-14
| ||
18:34 | Use mmap() to read from the database file in rollback mode. This branch is unix only for now. file: [c1a956c6] check-in: [6f21d9cb] user: dan branch: experimental-mmap, size: 289177 | |
2013-03-11
| ||
11:49 | Fixes for compiling with SQLITE_OMIT_AUTOVACUUM and/or SQLITE_OMIT_TRIGGER defined. file: [746c4daf] check-in: [938b91e8] user: dan branch: omit-fixes, size: 288294 | |
2013-03-05
| ||
11:27 | Fix a bug in the recent incremental-vacuum related changes. file: [c7ce6045] check-in: [717863fc] user: dan branch: trunk, size: 287908 | |
2013-03-02
| ||
03:25 | Update comments on the free-page allocator to accurately reflect the latest implementation. Add new asserts to the free-page allocator. file: [ea4cc870] check-in: [9a135e37] user: drh branch: trunk, size: 287908 | |
2013-02-24
| ||
11:50 | Fix a case where database corruption may cause an assert() to fail. file: [cbad7197] check-in: [ba33bb05] user: dan branch: incr-vacuum-opt, size: 287417 | |
2013-02-23
| ||
19:43 | Fix a case in the incremental vacuum code where database corruption was going unreported. file: [b84e2ac3] check-in: [4cd30c72] user: dan branch: incr-vacuum-opt, size: 287357 | |
19:11 | Fix a cut-and-paste bug causing the library to fail to report database corruption in a few cases. file: [02ab112a] check-in: [f921df59] user: dan branch: incr-vacuum-opt, size: 287360 | |
17:49 | Fix off-by-one bug in [c3939d2491] uncovered by th3. file: [bcd64dff] check-in: [66f9faa9] user: dan branch: incr-vacuum-opt, size: 287407 | |
16:40 | If a rollback mode transaction reduces the size of the database file, avoid actually truncating the file until after the transaction has been committed (but before the db has been unlocked). This means pages that are removed from the database by truncating the file need not be journalled. file: [f021a7f5] check-in: [b73847f1] user: dan branch: incr-vacuum-opt, size: 287406 | |
2013-02-22
| ||
20:57 | Fix a problem with the previous commit. file: [76f063ff] check-in: [720a3cea] user: dan branch: incr-vacuum-opt, size: 286667 | |
20:16 | Avoid moving pages more than once in an incremental vacuum operation. file: [960274cb] check-in: [c3939d24] user: dan branch: incr-vacuum-opt, size: 286390 | |
2012-12-12
| ||
14:30 | Allow the error message from "PRAGMA integrity_check" to be longer than 20,000 bytes. file: [7a80e4a6] check-in: [120c82d5] user: drh branch: trunk, size: 285056 | |
2012-10-18
| ||
10:35 | More warning fixes. file: [eccee944] check-in: [51a6a797] user: mistachkin branch: warnings, size: 285044 | |
2012-10-13
| ||
19:58 | Ensure that when the source of a backup is a database that is zero bytes in size, the final destination database consists of at least one page. Truncating it to zero bytes is equivalent to zeroing the schema cookie and change counter, which can cause problems for existing clients. file: [299377f0] check-in: [af5c9ee4] user: dan branch: zero-byte-backup-fix, size: 285044 | |
2012-10-02
| ||
23:26 | Work around an optimization issue with the MSVC compiler for ARM. file: [97edf88a] check-in: [9fab9edd] user: drh branch: branch-3.7.14, size: 283920 | |
22:54 | Work around an optimization issue with the MSVC compiler for ARM. file: [14de53eb] check-in: [7d301fdf] user: mistachkin branch: trunk, size: 284686 | |
2012-10-01
| ||
12:44 | Omit the sqlite3GetReservedNoMutex() routine in build configurations where it is not used. file: [95ee3c1e] check-in: [f193dbb6] user: drh branch: trunk, size: 284499 | |
2012-09-28
| ||
20:23 | Avoid calling sqlite3BtreeEnter() in a corner case where the corresponding database handle mutex (sqlite3.mutex) may not be held. This prevents a potential deadlock or crash that can occur if the backup API, shared-cache mode and SQLITE_HAVE_CODEC are all in use. file: [821615a1] check-in: [89b8c377] user: dan branch: trunk, size: 284398 | |
18:13 | Modify the clearCell function to use SQLITE_CORRUPT_BKPT in the one place it was not. file: [6e1b4814] check-in: [472beb30] user: mistachkin branch: trunk, size: 283738 | |
2012-08-31
| ||
14:10 | Merge in latest trunk changes. file: [64acbd5f] check-in: [bc9b9cd0] user: dan branch: apple-osx, size: 284864 | |
2012-08-25
| ||
10:01 | Fix all known instances of 'repeated the' style typos in comments. No changes to code. file: [9cf6de11] check-in: [9b19b847] user: mistachkin branch: trunk, size: 283733 | |
01:38 | Merge all the latest trunk changes into the apple-osx branch. file: [31cf99fc] check-in: [6723add4] user: drh branch: apple-osx, size: 284868 | |
2012-08-20
| ||
15:53 | Remove tab characters from source code files. Replace them with spaces. file: [32dc63ef] check-in: [7edd10a9] user: drh branch: trunk, size: 283737 | |
2012-08-14
| ||
18:43 | Add an assert() to the btree rebalancer in order to silence a clang/scan-build warning. file: [82b6fcbe] check-in: [6730579c] user: drh branch: trunk, size: 283723 | |
2012-08-08
| ||
14:04 | When populating an index b-tree as part of a CREATE INDEX or REINDEX statement, distribute cells between up to three siblings in balance_nonroot() instead of four. This produces identical database files, but is slightly faster. file: [fe849105] check-in: [b0d31e77] user: dan branch: trunk, size: 283694 | |
11:55 | When building a b-tree as part of a CREATE INDEX or REINDEX statement, attempt to pack keys into pages as tightly as possible. file: [3a2dbf6f] check-in: [efea62b9] user: dan branch: trunk, size: 283636 | |
2012-08-06
| ||
18:50 | When reusing pages as part of creating a new index, allocate the leaves from each free-list trunk page in ascending order, instead of trying to maximize localization for each individual allocation. This increases the chance that pages will be written to disk in ascending order by a large CREATE INDEX statement, improving overall performance. file: [1d366468] check-in: [d045f8b2] user: dan branch: sorter-coalesce-writes, size: 283611 | |
2012-06-08
| ||
01:13 | Merge trunk changes into the apple-osx branch. file: [453a9180] check-in: [9d1b8515] user: drh branch: apple-osx, size: 284384 | |
2012-05-28
| ||
13:58 | Add the mode=memory option to URI filenames, which when present forces the database to be an in-memory database. This enables named in-memory databases. file: [f0b71054] check-in: [651520fa] user: drh branch: trunk, size: 283253 | |
2012-05-27
| ||
01:19 | Have user interfaces report out the filename of in-memory databases as an empty string, as it always has. This simplifies the changes. file: [964c7862] check-in: [595dfdbf] user: drh branch: shared-cache-memdb, size: 283192 | |
00:11 | Fix corner-case problems with shared-cache for in-memory databases. file: [d938da25] check-in: [997ef5f6] user: drh branch: shared-cache-memdb, size: 283425 | |
2012-05-26
| ||
20:08 | Only allow :memory: databases to share cache if there are created using a URI filename. This minimizes the risk of breakages in legacy applications that have shared-cache enabled but also use :memory: databases which they expect to keep separate. file: [e5e99219] check-in: [e3ad61e0] user: drh branch: shared-cache-memdb, size: 283110 | |
18:06 | Enable the use of shared cache for an in-memory database, so that separate database connections can share the same in-memory database. file: [23e2d21f] check-in: [4590e433] user: drh branch: shared-cache-memdb, size: 283061 | |
2012-04-19
| ||
20:43 | Update the apple-osx branch so that it includes all of the latest trunk changes. file: [207d4859] check-in: [b72f07b4] user: drh branch: apple-osx, size: 284045 | |
2012-04-03
| ||
17:43 | Modify the integrity-check code to reduce the size of the large allocation from 4 bytes to 1 bit for each page in the database file. file: [df800f10] check-in: [fa3a498d] user: dan branch: trunk, size: 282914 | |
2012-03-31
| ||
02:46 | Merge all the latest trunk changes into the apple-osx branch. file: [748ff64c] check-in: [18ec60ca] user: drh branch: apple-osx, size: 283487 | |
2012-03-23
| ||
11:09 | When an incremental blob cursor is invalidated (occurs when an SQL statement modifies or deletes the row the blob cursor points to) release all page references held by the cursor. Otherwise, the presence of these references may cause other code in btree.c to incorrectly infer that the database is corrupt. file: [02aeee1f] check-in: [82c3f2ba] user: dan branch: fts4-incr-merge, size: 282356 | |
2012-03-05
| ||
16:39 | Pull in all the latest trunk changes. file: [fbaf5764] check-in: [504bf490] user: drh branch: apple-osx, size: 283477 | |
2012-02-13
| ||
16:43 | Change the ROLLBACK command so that pending statements to not block it. The pending statements instead return SQLITE_ABORT upon next access. Note: This causes separate shared-cache connections in read_uncommitted mode to abort as well. file: [253c3147] check-in: [9b66c79e] user: drh branch: nonblocking-rollback, size: 282346 | |
2012-02-10
| ||
18:18 | Pull the latest trunk changes into the apple-osx branch. file: [c21852e2] check-in: [e2485986] user: drh branch: apple-osx, size: 283848 | |
2012-02-02
| ||
19:37 | Reduce the size of the MemPage object by about 32 bytes. Other structure size optimizations. file: [bb0132a7] check-in: [21695c34] user: drh branch: trunk, size: 282717 | |
2012-01-17
| ||
15:29 | Remove the undocumented PRAGMA omit_readlock hack. file: [24bde768] check-in: [96900c47] user: drh branch: trunk, size: 282637 | |
2012-01-14
| ||
14:13 | Merge the latest trunk changes into the apple-osx branch. file: [572deff9] check-in: [2cc414cd] user: drh branch: apple-osx, size: 284071 | |
2012-01-12
| ||
15:05 | Fix typos in a testcase() macro introduced by the previous commit. file: [a65816cc] check-in: [0467742f] user: dan branch: trunk, size: 282940 | |
14:25 | Remove some assert() statements that can fail with corrupt databases. file: [8276f939] check-in: [7654ae71] user: dan branch: trunk, size: 282896 | |
2012-01-08
| ||
00:54 | Fix harmless compiler warning seen with MSVC. file: [378a0f39] check-in: [9612bcd6] user: mistachkin branch: trunk, size: 282142 | |
2012-01-05
| ||
23:32 | Combine various boolean variables in the BtShared structure into a single boolean vector. Also make performance improvement simplifications to sqlite3BtreeMovetoUnpacked(). file: [ef51e904] check-in: [11949331] user: drh branch: trunk, size: 282138 | |
2012-01-03
| ||
21:54 | Pull all the latest trunk changes over into the apple-osx branch. file: [7cf38b09] check-in: [8a048423] user: drh branch: apple-osx, size: 282315 | |
21:33 | Experimental changes to prevent buffer overreads when parsing a corrupt database file. file: [30dd27d3] check-in: [9e5add51] user: drh branch: no-overread, size: 281634 | |
2012-01-02
| ||
16:38 | Remove an incorrect assert() in btree.c. file: [8f683b1f] check-in: [c1691d99] user: drh branch: trunk, size: 281184 | |
2011-12-21
| ||
17:00 | Avoid 32-bit overflow when calculating the byte offset of an overflow page in SQLITE_DIRECT_OVERFLOW_READ code. Fix for [ac0ff496b7]. file: [2fdde7d1] check-in: [c5256b59] user: dan branch: trunk, size: 280956 | |
2011-12-08
| ||
21:08 | Merge the latest trunk changes into the apple-osx branch. file: [46eae4a0] check-in: [59e0d4f3] user: drh branch: apple-osx, size: 282084 | |
2011-11-14
| ||
12:34 | Further work on mmap(). Still does not work right - autovacuum tests are the first to fail. file: [c683806c] check-in: [638a39bb] user: drh branch: mmap-experimental, size: 280880 | |
01:55 | Begin making experimental changes to use mmap() for reading content from a database. The code compiles, but crashes on the test suite. file: [2d943dc5] check-in: [09be42d5] user: drh branch: mmap-experimental, size: 280544 | |
2011-11-12
| ||
23:10 | Attempt to modify btree.c so that it assumes that calls to sqlite3PagerWrite() will reallocate the page buffer. As there is not good way to test this assumption yet, probably a few spots were missed. file: [149cccf2] check-in: [ceee03c7] user: drh branch: experimental-pcache, size: 280282 | |
2011-11-11
| ||
23:51 | Catch and report errors from sqlite3OsFullPathname(). file: [80ea6522] check-in: [77119785] user: drh branch: trunk, size: 280953 | |
23:31 | Remove use of malloc and free from the Windows VFS. Also, prevent sqlite3BtreeOpen from assuming that sqlite3OsFullPathname cannot fail. file: [60e0151c] check-in: [8966ec17] user: mistachkin branch: winSyscall, size: 280628 | |
00:27 | Make sure a corrupt index does not cause a buffer overread in sqlite3VdbeRecordCompare(). file: [2521a74f] check-in: [471cf0d8] user: drh branch: trunk, size: 280843 | |
2011-10-21
| ||
17:18 | Merge the latest trunk changes into the apple-osx branch. file: [601b808e] check-in: [be62ef05] user: drh branch: apple-osx, size: 281638 | |
2011-10-15
| ||
00:16 | Added the tool/warnings-clang.sh script. Changes so that there are no warnings with either gcc or clang even including FTS4 and RTREE and both with and without SQLITE_THREADSAFE=0. file: [32199e2d] check-in: [39408702] user: drh branch: trunk, size: 280507 | |
2011-10-14
| ||
21:49 | Add assert() statements and eliminate needless variable assignments in order to get the clang scan-build utility to report zero problems against the SQLite core. Clang's static analysis did find one real problem - but it was in the command-line shell, not in the SQLite core. file: [4918e848] check-in: [60fee957] user: drh branch: trunk, size: 280404 | |
2011-10-12
| ||
17:00 | Clarify a comment and fix a code formatting issue in btree.c. file: [74da2e08] check-in: [4f1a558d] user: drh branch: trunk, size: 280290 | |
2011-10-11
| ||
14:19 | Merge the latest trunk changes into the apple-osx branch. file: [2fdd62df] check-in: [7e2c4898] user: drh branch: apple-osx, size: 281405 | |
2011-10-10
| ||
22:11 | Merging in cherry picked diffs for persist wal, alloc padding, wal-safe vacuum and sqlite3_file_control based lockstate checking file: [1870b70e] check-in: [db5b7b77] user: adam branch: apple-osx-377, size: 279529 | |
2011-10-08
| ||
14:57 | Add the SQLITE_DIRECT_OVERFLOW_READ compile time option. file: [b53e009b] check-in: [2ab14a84] user: dan branch: trunk, size: 280274 | |
2011-09-14
| ||
19:05 | Merge in the latest changes from trunk. file: [71a65f9b] check-in: [2456b4d0] user: drh branch: apple-osx, size: 280060 | |
18:19 | Remove 'const' from a variable that might actually be written when an OOM error occurs. Also, fix a couple MSVC/Win32 compiler warnings. file: [77b09c69] check-in: [3035dc1c] user: mistachkin branch: trunk, size: 278929 | |
2011-09-05
| ||
20:16 | Fix a minor performance regression in btreeMoveto(). file: [4cb13cf0] check-in: [d0712dfb] user: dan branch: trunk, size: 278924 | |
14:20 | Refactor the sqlite3VdbeRecordUnpack() interface to better accommodate the vdbesort.c module. file: [958f26c8] check-in: [f115b230] user: dan branch: trunk, size: 278923 | |
2011-09-02
| ||
21:42 | Remove some dead code. Fix a faulty assert(). Improve some variable names. file: [4d46fe30] check-in: [a9a64592] user: drh branch: merge-sort, size: 278864 | |
18:03 | Combine two malloc calls in vdbesort.c. file: [dc3f2444] check-in: [cf48ad83] user: dan branch: merge-sort, size: 278890 | |
10:31 | Instead of a temporary b-tree, use a linked-list and merge-sort to sort records in main memory in vdbesort.c. file: [bc2099e7] check-in: [7769fb98] user: dan branch: merge-sort, size: 279038 | |
2011-08-31
| ||
13:27 | Add checks to make sure cells in corrupt database files do not overflow a page when doing autovacuum. Problem detected by valgrind. file: [4a2856b3] check-in: [d0b347b4] user: drh branch: trunk, size: 279463 | |
2011-08-27
| ||
18:48 | Experimental changes to improve the performance of OP_Next. file: [bd89d604] check-in: [1a249845] user: dan branch: experimental, size: 279280 | |
2011-08-26
| ||
19:18 | Merge the latest trunk changes into the apple-osx branch. file: [a10d1274] check-in: [55af8003] user: drh branch: apple-osx, size: 280128 | |
00:34 | Create a new pager type, PAGER_SORTER, for use in the external merge sort. Such pagers are always held in memory but do report when they are under memory pressure by calling pagerStress. file: [ed13fdef] check-in: [c71d7320] user: drh branch: trunk, size: 278997 | |
2011-08-23
| ||
18:06 | Merge latest trunk changes into the apple-osx branch. file: [51e4af60] check-in: [c5f7977b] user: dan branch: apple-osx, size: 279705 | |
11:47 | When copying a rollback mode database over a WAL database using the backup API, leave the destination database in WAL mode (instead of switching it to rollback mode). Fix for [af95b8c609]. file: [97cf3ba4] check-in: [35e6ac18] user: dan branch: trunk, size: 278574 | |
2011-08-04
| ||
12:14 | Change to using packed-memory-arrays instead of b-trees when performing an offline merge-sort for CREATE INDEX. This makes it easier to control the number of disc seeks required when merging. file: [a30bdcc2] check-in: [a4770d07] user: dan branch: experimental, size: 278615 | |
2011-06-25
| ||
21:43 | Changes to make pragma synchronous sticky when SQLITE_DEFAULT_WAL_SAFETYLEVEL is used file: [e0918186] check-in: [c6158b25] user: adam branch: apple-osx, size: 279570 | |
16:35 | Fix test cases so that they work with SQLITE_DEFAULT_WAL_SAFETYLEVEL defined. file: [43581d03] check-in: [8f8b373e] user: dan branch: apple-osx, size: 279435 | |
2011-06-24
| ||
20:47 | Merging local changes to apple-osx file: [fea8eaab] check-in: [34f0efa2] user: adam branch: apple-osx, size: 279240 | |
2011-06-06
| ||
13:38 | Add assert() statements to verify that u16 pointers associated with the enhancement in [897f56a158] are always 2-byte aligned. file: [8c46f0ab] check-in: [98ccfa93] user: drh branch: trunk, size: 278439 | |
2011-06-04
| ||
01:43 | Performance improvement to the btree search routine. file: [c19d7b35] check-in: [65db822f] user: drh branch: trunk, size: 278279 | |
2011-06-03
| ||
23:28 | Performance improvements on memory copies inside of btree by moving 2 bytes at a time instead of just 1 byte at a time. file: [9f214af2] check-in: [897f56a1] user: drh branch: trunk, size: 278286 | |
17:50 | Factor an "if" out of a loop in balance_nonroot() for about a 1% performance increase. file: [12aa3b71] check-in: [1bd72d0c] user: drh branch: trunk, size: 278217 | |
2011-05-30
| ||
23:42 | Minor performance improvements. file: [0d3b39dc] check-in: [f9950c6a] user: drh branch: trunk, size: 277768 | |
2011-05-17
| ||
15:21 | Avoid exceeding array bounds when reading a corrupt database file in autovacuum mode. Fixes a problem discovered by John Regehr and Peng Li using a customized clang compiler. file: [975ad691] check-in: [f7c525f5] user: drh branch: trunk, size: 277719 | |
2011-05-01
| ||
22:57 | Backport check-ins [0900e35348f4b9bf3] and [4fead8e714c7e50] to the 3.7.2 branch. These check-ins provide hints to the btree layer for when it is possible to use a hash table rather than a btree to implement an index. The SQLite BTree layer does not use these hints, but alternative btree layers might. file: [40c7a361] check-in: [7155e6f3] user: drh branch: branch-3.7.2, size: 277890 | |
2011-04-23
| ||
15:54 | Have the ATTACH command do URI interpretation in the same way as sqlite3_open() and sqlite3_open_v2() do. file: [26f8a9d6] check-in: [68240e75] user: dan branch: uri, size: 277541 | |
2011-04-07
| ||
14:47 | When searching a list of freelist trunk pages looking for a specific page to allocate, avoid unnecessary journalling of the unchanged trunk pages towards the start of the list. file: [6a9164af] check-in: [d03d63d7] user: drh branch: trunk, size: 277549 | |
2011-04-06
| ||
17:54 | Changes to support building with various SQLITE_OMIT_XXX options defined. file: [4fcad108] check-in: [2039ed95] user: dan branch: trunk, size: 277517 | |
2011-04-05
| ||
22:08 | Suppress many harmless compiler warnings, mostly signed/unsigned comparisons within asserts or unused parameters in extensions. file: [6002f05e] check-in: [3eeb0ff7] user: drh branch: trunk, size: 277517 | |
2011-04-03
| ||
02:41 | Fix typos in comments. No changes to code. file: [107723ed] check-in: [28c5f12e] user: drh branch: trunk, size: 277446 | |
2011-03-31
| ||
18:36 | Provide hints to the btree layer Next and Previous primitives to let them know if they can be no-ops if the underlying index is unique. file: [c1d7d81d] check-in: [a5aae174] user: drh branch: branch-3.7.2, size: 276025 | |
2011-03-29
| ||
15:40 | Fix a problem whereby following an IO error in CommitPhaseTwo() of a multi-file transaction the b-tree layer could be left in TRANS_WRITE state, causing problems later on. file: [2b9c81ff] check-in: [dbe569a0] user: dan branch: trunk, size: 277441 | |
2011-03-08
| ||
02:38 | Fix additional cases of possible signed integer overflow, especially with regard to negation. file: [43302cc4] check-in: [2d5800bd] user: drh branch: trunk, size: 276712 | |
2011-03-06
| ||
21:28 | Remove dead code identified by the clang static analyzer. file: [33265f92] check-in: [01a79d5a] user: drh branch: trunk, size: 276748 | |
2011-02-20
| ||
03:40 | Do not report the database corruption if the the db size header field is greater than the file size on disk unless the two change-counter header fields are identical. Fix for ticket [89b8c9ac54]. Backport by cherrypick of [00c4596f0b270]. file: [9fd44383] check-in: [e2616004] user: drh branch: branch-3.7.4, size: 276797 | |
2011-02-09
| ||
18:19 | Do not report corruption if the the db size header field is greater than the file size on disk unless the two change-counter header fields are identical. Fix for ticket [89b8c9ac54]. file: [ca9f4486] check-in: [00c4596f] user: dan branch: trunk, size: 276787 | |
2011-02-02
| ||
16:34 | Merge in the blocking-checkpoint enhancement, including the new sqlite3_wal_checkpoint_v2() interface and the PRAGMA wal_checkpoint(full) statement. file: [cefe0966] check-in: [bac7342c] user: drh branch: trunk, size: 276793 | |
2011-01-25
| ||
04:34 | Shave a few cycles so that performance is better than 3.7.4 in speed tests. file: [9004c98f] check-in: [e1464930] user: drh branch: trunk, size: 276659 | |
2011-01-12
| ||
17:56 | Do not raise an SQLITE_CORRUPT error in Recoverymode if the database size in the header is larger than the physical file size. This facilitates recovery of a database in which the database size field has been corrupted. file: [a27c3b41] check-in: [114640d9] user: drh branch: trunk, size: 276803 | |
2010-12-06
| ||
21:09 | Fix the build so that it once again works with SQLITE_OMIT_SHARED_CACHE and SQLITE_OMIT_AUTOVACUUM. file: [b70bf1dc] check-in: [fabcb6b9] user: drh branch: trunk, size: 276758 | |
2010-11-19
| ||
18:51 | Merge the checkpoint_fullfsync pragma and the superlock demonstration into the checkpoint-v2 experimental branch. file: [3578a5e8] check-in: [ebf74015] user: drh branch: blocking-checkpoint, size: 277109 | |
18:23 | Add the checkpoint_fullfsync pragma which enables F_FULLFSYNC on checkpoint operations only, not during ordinary commit fsyncs. file: [ccafb8a8] check-in: [a0698673] user: drh branch: trunk, size: 276975 | |
2010-11-18
| ||
12:11 | Modify the interface to the blocking wal-checkpoint functionality. file: [d90149f6] check-in: [72787c01] user: dan branch: blocking-checkpoint, size: 276842 | |
2010-11-16
| ||
18:56 | Add experimental command "PRAGMA wal_blocking_checkpoint", which uses the busy-handler to block until all readers have finished in order to ensure the next writer will be able to wrap around to the start of the log file. file: [444aae4f] check-in: [7e3fc2c8] user: dan branch: blocking-checkpoint, size: 277119 | |
2010-10-20
| ||
18:56 | Updates to FTS4 to improve performance and make more accurate cost estimates for prefix terms. file: [3edab36d] check-in: [d0a450ce] user: dan branch: experimental, size: 276708 | |
2010-10-14
| ||
01:17 | Avoid taking locks on unused database connections when committing a read transaction. file: [8a1b0267] check-in: [c0ee614f] user: drh branch: trunk, size: 276738 | |
2010-09-01
| ||
02:38 | Fix some compiler warnings under MSVC. file: [d8785771] check-in: [afdc82a9] user: shaneh branch: trunk, size: 276687 | |
2010-08-30
| ||
22:15 | Provide hints to the btree layer during the creation of transient tables for when it is possible for those tables to use a hash rather than a binary tree. No use is currently made of those hints, though assert() statement verify their accuracy. file: [175495bf] check-in: [4fead8e7] user: drh branch: trunk, size: 276683 | |
15:02 | Remove the sqlite3BtreeFactory() wrapper routine. All modules now call sqlite3BtreeOpen() directly. file: [e601b88b] check-in: [0900e353] user: drh branch: trunk, size: 276052 | |
2010-08-24
| ||
01:59 | Cherrypick the incremental_vacuum bug fix ([255f1eefa373153942c67b18b]) into the apple-osx 3.6.23 branch. file: [d66fc956] check-in: [60f16838] user: drh branch: apple-osx-3623, size: 269635 | |
2010-08-23
| ||
15:41 | Fix for ticket [5e10420e8d]. file: [5047fb30] check-in: [255f1eef] user: dan branch: trunk, size: 274818 | |
2010-08-21
| ||
15:09 | Fix the ptrmapPageno() routine so that it works correctly for an input of 1. file: [2dff4076] check-in: [699a9bf2] user: drh branch: trunk, size: 274676 | |
2010-08-19
| ||
14:22 | Remove a NEVER from balance_quick() that can occur in WAL mode on a corrupt database file. file: [69942b33] check-in: [b273891a] user: drh branch: trunk, size: 274482 | |
2010-08-18
| ||
21:19 | Fix two asserts in the btree logic so that they work correctly even for maximum-size index entries for 32K and 64K pages. file: [3089d018] check-in: [e127192d] user: drh branch: trunk, size: 274489 | |
02:28 | Fix some compiler warnings in the MSVC build. file: [b1213572] check-in: [1f5662b7] user: shaneh branch: trunk, size: 274486 | |
2010-08-17
| ||
19:40 | Suppress harmless compiler warning. file: [3b4bca08] check-in: [3f8c068a] user: drh branch: trunk, size: 274434 | |
2010-08-14
| ||
21:21 | Adjustments for better 64K page size handling. file: [083ced09] check-in: [faf1974e] user: drh branch: trunk, size: 274434 | |
17:12 | Change sqlite3PagerPagecount() to return void, since the return value was always SQLITE_OK and was never used. file: [f5758ebc] check-in: [7dd78eb7] user: drh branch: trunk, size: 274433 | |
16:02 | Minor simplifications to btree.c in support of full-coverage testing. file: [4d861dd1] check-in: [364df6c7] user: drh branch: trunk, size: 274490 | |
2010-08-12
| ||
02:41 | Increase the maximum page size from 32k to 64k. file: [042a5c0a] check-in: [45362437] user: drh branch: trunk, size: 274072 | |
2010-08-05
| ||
03:21 | Do not read the database file size on a SAVEPOINT rollback any more since after checkin [65b8636ac6e5] the in-header-size field is always valid. file: [63eebba7] check-in: [fbe70e11] user: drh branch: trunk, size: 273840 | |
2010-08-04
| ||
11:59 | Backport the [65b8636ac6e5] fix for ticket [51ae9cad317a1] to version 3.7.0. file: [0de928e4] check-in: [dec70c63] user: drh branch: branch-3.7.0, size: 273146 | |
11:34 | When opening a write-transaction on a database file that has been appended to or truncated by a pre-3.7.0 client, update the database-size field in the database header. Fix for [51ae9cad31]. file: [397093af] check-in: [65b8636a] user: dan branch: trunk, size: 273733 | |
2010-08-02
| ||
10:47 | In shared-cache mode, do not allow one connection to checkpoint a database while a second connection is reading or writing the same shared-cache. file: [2b122b7d] check-in: [e75b52d1] user: dan branch: trunk, size: 273135 | |
2010-07-24
| ||
16:34 | Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). file: [ed454f53] check-in: [ac1f37a6] user: drh branch: malloc-enhancement, size: 272588 | |
2010-07-03
| ||
05:56 | Change code in OP_Rewind to avoid a valgrind warning following an error in the btree layer. This change does not fix any bug, just a warning. file: [9a214e61] check-in: [4f62dbcf] user: dan branch: mistake, size: 272548 | |
2010-07-02
| ||
17:05 | Fix some warnings when compiling under MSVC. file: [c34267e8] check-in: [70833877] user: shaneh branch: mistake, size: 272570 | |
2010-06-30
| ||
04:29 | Add coverage test cases. Have sqlite3_backup_step() transform SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning. file: [ac51d077] check-in: [5e19bc36] user: dan branch: trunk, size: 272560 | |
2010-06-17
| ||
02:13 | Bug fix: Only trust the database size number at offset 28 if the change counter at offset 24 matches the version number counter at offset 92. This prevents corruption in the case of two applications writing to the database where one is an older version of SQLite and the other is a newer version. file: [9806fb40] check-in: [f80c3f92] user: drh branch: trunk, size: 272483 | |
2010-06-01
| ||
14:12 | If an attempt to get a read-lock on the WAL fails with SQLITE_BUSY_RECOVER, call the busy-handler at the btree level. file: [5934a9f5] check-in: [ce644965] user: dan branch: wal-incr-ckpt, size: 272422 | |
2010-05-01
| ||
16:40 | Support compile-time option SQLITE_OMIT_WAL, for building without WAL support. file: [d0414a5f] check-in: [9b230c43] user: dan branch: wal, size: 272415 | |
2010-04-29
| ||
22:34 | Refactor wal.c to use the VFS. This check-in compiles and links and works ok as long as you leave WAL turned off, but WAL does not work. file: [2e41e62e] check-in: [62db5fa3] user: drh branch: wal, size: 272265 | |
2010-04-27
| ||
14:37 | Fix a problem with identifying a corrupt database in WAL mode. file: [dd26f3b5] check-in: [c8658da4] user: dan branch: wal, size: 272265 | |
2010-04-22
| ||
06:27 | Further tests and changes related to switching between WAL and rollback modes. file: [f87ed73e] check-in: [12363184] user: dan branch: wal, size: 272239 | |
2010-04-21
| ||
18:37 | Tests for (and changes to) the code to switch between WAL and rollback modes. file: [fcfff21f] check-in: [9f4f933f] user: dan branch: wal, size: 272239 | |
11:43 | If, after obtaining a SHARED lock, there exists a *-wal file in the file-system, use WAL mode. This is necessary to recover from a crash that damages the first page of the database file. file: [e6ef1020] check-in: [33cabf27] user: dan branch: wal, size: 271785 | |
2010-04-20
| ||
18:53 | Use the read and write version fields of the database header to mark a database as operating in wal-mode. file: [013cf019] check-in: [96bef18c] user: dan branch: wal, size: 271411 | |
2010-04-07
| ||
20:29 | When rolling back a savepoint to the beginning of the transaction, make sure to initialize the database size in the btree layer correctly even if the database size field of the header is zeroed. file: [01559397] check-in: [a3540c6a] user: drh branch: trunk, size: 270466 | |
2010-04-02
| ||
12:46 | If the size of the database according to the header is larger than the actual database file size, report that the database is corrupt. file: [aa756431] check-in: [8eb1f244] user: drh branch: trunk, size: 270368 | |
2010-04-01
| ||
02:22 | Restore the size information in the BtShared structure when a transaction rolls back. file: [639a8ca0] check-in: [802aeb30] user: drh branch: trunk, size: 270105 | |
2010-03-31
| ||
20:29 | Report corruption if a database contains a reference that is out of range according to the filesize-in-header database size. file: [02ad0060] check-in: [a91db0b1] user: drh branch: trunk, size: 269898 | |
02:31 | Increase test coverage following the introduction of the new filesize-in-header logic. file: [de086bad] check-in: [dbc2c3c0] user: drh branch: trunk, size: 270221 | |
2010-03-30
| ||
22:58 | Continuing refinements to the filesize-in-header enhancement. file: [d3a0ee18] check-in: [79e22b95] user: drh branch: trunk, size: 270046 | |
15:51 | Add a NEVER macro around a test in btree.c that can not longer be true. file: [dc9dc08f] check-in: [c117f992] user: drh branch: trunk, size: 269913 | |
2010-03-29
| ||
21:13 | The btree layer now tracks when a database is empty at the start of a transaction and rolls back to that state. file: [ca75bce3] check-in: [01ef6c19] user: drh branch: experimental, size: 269611 | |
19:36 | Fix issues with the io.test script. There is still a problem with a ROLLBACK TO not working on an initially empty database files. And much more testing is needed. file: [6bb6cf7b] check-in: [09786e2a] user: drh branch: experimental, size: 269508 | |
2010-03-27
| ||
17:12 | Experimental changes that cause SQLite to use bytes 28..31 of the database header to determine the database size, rather than using the actual database size. This allows database space to be preallocated. file: [28c39750] check-in: [b844ac6f] user: drh branch: experimental, size: 269618 | |
2010-03-09
| ||
14:41 | Minor changes to silence compiler warnings on various MSVC builds. file: [0d6e44d6] check-in: [115c978b] user: shaneh branch: trunk, size: 269493 | |
2010-02-26
| ||
15:09 | Avoid a buffer overwrite that can occur with a corrupt database if secure-delete is enabled. file: [22bcd5cb] check-in: [7bdb1e05] user: dan branch: trunk, size: 269448 | |
13:07 | Avoid incorrect compiler warnings by doing a couple of needless variable initializations. file: [65359edf] check-in: [8f29490d] user: drh branch: trunk, size: 269225 | |
01:46 | Minor changes to silence some compiler warnings with MSVC. file: [fa6f5834] check-in: [4927c62d] user: shaneh branch: trunk, size: 269225 | |
2010-02-25
| ||
19:09 | Add experimental fix for corruption detection problem. This may well be revised yet. file: [0fc16c6f] check-in: [1cc4be7e] user: dan branch: trunk, size: 269214 | |
14:44 | Add some technically unnecessary variable initializations to silence compiler warnings. file: [171eceee] check-in: [a2550597] user: dan branch: branch-3.6.1, size: 231646 | |
02:32 | Merge in all of the logging enhancements. This is a cherrypick merge of the following check-ins: [103321e37a], [a8076aede3], [6d910245ad], [7c4cca6d1a], [edea3bb740], [1a6d4bb130], [a8c984c1d6], [69a493182f], and [1168763d2c]. file: [5f00d6dd] check-in: [46f406b2] user: drh branch: branch-3.6.22, size: 267942 | |
02:04 | Enhance integrity_check to detect out-of-order rowids. This is a cherrypick merge of check-in [cae47c5b09]. file: [e9ded8d7] check-in: [ecd22ef3] user: drh branch: branch-3.6.22, size: 267933 | |
2010-02-23
| ||
17:36 | Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging output for CORRUPT, and CANTOPEN errors. file: [ae804d16] check-in: [7c4cca6d] user: drh branch: trunk, size: 268407 | |
2010-02-19
| ||
04:28 | Changes to pragma integrity_check to check rowid order. Tests of same in corruptE.test. file: [b7ac4420] check-in: [cae47c5b] user: shaneh branch: trunk, size: 268397 | |
2010-02-12
| ||
19:46 | Enhancements to the secure_delete pragma to make it easier to use. file: [c9ee3c30] check-in: [2bb38bb9] user: drh branch: trunk, size: 266620 | |
18:18 | Allow the secure-delete setting to be changed at run-time using a pragma. The SQLITE_SECURE_DELETE compile-time option determines the default setting. file: [25078c9b] check-in: [f72f8a87] user: drh branch: trunk, size: 266597 | |
2009-12-06
| ||
03:35 | Enhanced detection of database corruption in btree.c:allocateSpace(). file: [efdef395] check-in: [5a511f98] user: drh branch: trunk, size: 266155 | |
2009-12-05
| ||
18:34 | Fix to check-in [f221f31eff]: Make sure local variable rc is declared even when compiled without SQLITE_DEBUG. file: [92de7465] check-in: [7a9a3532] user: drh branch: trunk, size: 265889 | |
18:03 | Catch an obscure case of database corruption. file: [bc0393e5] check-in: [0f9b17a6] user: dan branch: trunk, size: 265899 | |
2009-12-04
| ||
22:51 | Remove an assert() in btree.c:releasePage() that is not necessarily true when the btree is recovering from an OOM that occurs in the middle of a balance(). file: [976b4ca0] check-in: [04fc9c76] user: drh branch: trunk, size: 265827 | |
2009-12-03
| ||
21:26 | Fix an assert() in btree.c that might have fired on a corrupt database file. file: [086f343d] check-in: [5ab2b3e3] user: drh branch: trunk, size: 265908 | |
19:40 | Remove a NEVER() from btree.c that could occur in a very obscure tested evaluation with an I/O error on fstat(). file: [e6f7c7bb] check-in: [d5861d9f] user: drh branch: trunk, size: 265525 | |
2009-11-24
| ||
02:37 | Fix SQLITE_SECURE_DELETE so that it overwrites content on the root pages of tables and indices that are dropped using the truncate optimization. file: [c13f6d1a] check-in: [02ef972a] user: drh branch: trunk, size: 265732 | |
2009-11-18
| ||
23:01 | Performance improvement by avoiding unnecessary calls to memset(). file: [d37a90bb] check-in: [85940468] user: drh branch: trunk, size: 265636 | |
2009-11-13
| ||
17:05 | Force 8-byte memory alignment on memory allocated for VDBE cursors. file: [4076d11e] check-in: [bdc45ba7] user: drh branch: trunk, size: 265184 | |
2009-11-10
| ||
01:30 | Remove the obsolete "$Id:$" RCS identifier strings from the source code. file: [daf01297] check-in: [f6c045f6] user: drh branch: trunk, size: 265176 | |
2009-11-01
| ||
19:26 | Fix compiler warnings. Better comments on some variables associated with LIKE/GLOB processing in the query planner. file: [3b29423f] check-in: [cfa2db0f] user: drh branch: trunk, size: 265235 | |
2009-10-16
| ||
15:05 | Comment cleanup in btree.c. file: [b2d060e4] check-in: [32966ba4] user: drh branch: trunk, size: 265231 | |
14:55 | Experimental fix for [f777251dc7]. This may be changed yet. file: [953ad663] check-in: [174477bc] user: dan branch: trunk, size: 264671 | |
2009-09-09
| ||
14:17 | Added SQLITE_OPEN_SHAREDCACHE and SQLITE_OPEN_PRIVATECACHE flags as possibilities to sqlite3_open_v2(), to override the global shared cache mode setting. Ticket [9fd0bc36639c15] file: [9c425425] check-in: [f509eb8b] user: drh branch: trunk, size: 264864 | |
2009-09-08
| ||
01:14 | Code simplifications, especially to the pseudo-table logic, and comment improvements. file: [873a8270] check-in: [52449a95] user: drh branch: trunk, size: 264868 | |
2009-08-25
| ||
13:53 | Avoid calling sqite3VdbeRecordCompare() with uninitialized memory following an OOM. Doing so is harmless, but it worries valgrind. file: [6b60ece5] check-in: [d33b9eb2] user: drh branch: trunk, size: 264661 | |
2009-08-14
| ||
17:01 | Fix a case where SQLite may write past the end of a buffer as a result of a corrupted database file. file: [49212dda] check-in: [43321a55] user: dan branch: trunk, size: 264600 | |
2009-08-10
| ||
03:57 | Removed some warnings from the MSVC compile. (CVS 6965) file: [97d32ef9] check-in: [ee034cfc] user: shane branch: trunk, size: 264494 | |
2009-08-08
| ||
18:01 | Suppress various compiler warnings. (CVS 6963) file: [812c365f] check-in: [257e9b57] user: drh branch: trunk, size: 264474 | |
2009-07-24
| ||
19:01 | Further simplifications to pager.c in support of structural coverage testing. (CVS 6929) file: [46f24d0b] check-in: [866216c0] user: drh branch: trunk, size: 264591 | |
17:58 | Allow virtual tables to be used in shared-cache mode. (CVS 6928) file: [c1d3d670] check-in: [5d9e767a] user: danielk1977 branch: trunk, size: 264641 | |
2009-07-23
| ||
01:44 | Simplifications and comment enhancements on btree.c. (CVS 6925) file: [64fbba11] check-in: [5ba880dd] user: drh branch: trunk, size: 264672 | |
2009-07-22
| ||
18:07 | Simplifications to btree.c in support of coverage testing. (CVS 6923) file: [e3cd5ed9] check-in: [375fd6f9] user: drh branch: trunk, size: 264394 | |
14:08 | Fix a double-free that can occur after database corruption is detected. (CVS 6921) file: [74655dc7] check-in: [5260e8b1] user: danielk1977 branch: trunk, size: 264494 | |
00:35 | Further simplifications to btree.c, especially the sqlite3BtreeKey() and sqlite3BtreeData() functions. New assert() statements added to verify that these routines are called correctly. (CVS 6917) file: [ece7e39b] check-in: [96cfd079] user: drh branch: trunk, size: 264507 | |
2009-07-21
| ||
19:25 | Change getAndInitPage() (btree.c) to use only PagerAcquire(), not PagerLookup() and PagerAcquire(). (CVS 6916) file: [710f95cf] check-in: [0b41dfc0] user: danielk1977 branch: trunk, size: 263749 | |
19:02 | Additional simplifications to btree.c in support of coverage testing. (CVS 6915) file: [abc2ccac] check-in: [716fccea] user: drh branch: trunk, size: 263795 | |
15:33 | Remove an assert() in btree.c which is no longer true due to changes in the error reporting behavior of ptrmapPut(). (CVS 6914) file: [d5f5b30e] check-in: [110998f1] user: drh branch: trunk, size: 263622 | |
11:52 | Changes to btree.c in support of coverage testing. (CVS 6913) file: [d5dde31b] check-in: [4cf23e9e] user: drh branch: trunk, size: 263653 | |
2009-07-20
| ||
19:30 | Reverse the order of two conditionals in a test in order to achieve coverage of them both. Also: clarifications to comments in btree.c. (CVS 6912) file: [123dd6ab] check-in: [a159e9d2] user: drh branch: trunk, size: 263105 | |
17:11 | Modify various routines inside btree.c to take a pointer to the return-code as a parameter and to no-op if the return-code storage location already contains a non-zero code. (CVS 6911) file: [a597d1d9] check-in: [7dcf2a78] user: drh branch: trunk, size: 263085 | |
2009-07-16
| ||
18:21 | Code simplifications and comment improvements in support of structural coverage testing. (CVS 6899) file: [4d964398] check-in: [94525179] user: drh branch: trunk, size: 263006 | |
2009-07-15
| ||
18:15 | Fix a potential database corruption following DROP TABLE when the pending byte page corresponds to a ptrmap page. This situation cannot happen in a real deployment - but it still needs to be fixed. (CVS 6897) file: [7e2ecefd] check-in: [6242db39] user: drh branch: trunk, size: 262714 | |
17:25 | Simplifications to btree.c in support of structural testing. Renamed the "skip" field of the BtCursor object to "skipNext" to make it easier to search for places where it is used. (CVS 6896) file: [a1fda2c5] check-in: [d3897235] user: drh branch: trunk, size: 262752 | |
11:26 | Added the SQLITE_TESTCTRL_RESERVE option to sqlite3_test_control(). Simplifications to btree.c to facilitate structural coverage testing. (CVS 6894) file: [b5a8d21f] check-in: [cfbeda1b] user: drh branch: trunk, size: 262630 | |
2009-07-14
| ||
17:48 | Simplifications to the PRAGMA integrity_check logic. Remove unreachable code. (CVS 6892) file: [dcdf6af6] check-in: [17749fa5] user: drh branch: trunk, size: 262401 | |
2009-07-13
| ||
13:18 | Change an unreachable condition in btree.c to a NEVER(). (CVS 6888) file: [b88edecb] check-in: [9f800e11] user: danielk1977 branch: trunk, size: 262618 | |
11:22 | In sqlite3PagerWrite(), do not set the PGHDR_NEED_SYNC flag on a page if an IO error occured while attempting to journal it. (CVS 6887) file: [39559c17] check-in: [b9be365d] user: danielk1977 branch: trunk, size: 262219 | |
09:41 | Remove an assert ("assert( subpage>0 )") from btree.c that may not be true for a corrupt database. Also add comments and other assert() statements to btree.c function moveToRoot(). (CVS 6886) file: [a65e2050] check-in: [3151dab9] user: danielk1977 branch: trunk, size: 261982 | |
07:30 | Remove a case from BtreeMovetoUnpacked() that is unreachable as of (6881). (CVS 6885) file: [48825008] check-in: [39ce2097] user: danielk1977 branch: trunk, size: 260523 | |
2009-07-12
| ||
02:32 | Simplifications to btree.c to help facilitate coverage testing. (CVS 6884) file: [46f5eb09] check-in: [dfb146ef] user: drh branch: trunk, size: 260365 | |
2009-07-11
| ||
18:26 | Remove an unused parameter from the accessPayload() function in btree.c. (CVS 6882) file: [e1ad67c9] check-in: [7deb6568] user: drh branch: trunk, size: 260322 | |
17:39 | Fix a case where deleting a row from a corrupt database could cause an assert to fail. (CVS 6881) file: [2604d941] check-in: [6994b41a] user: danielk1977 branch: trunk, size: 260450 | |
17:04 | Bug fix in the computation of the number of pages to autovacuum when nReserve is greater than zero. (CVS 6880) file: [6a5d08b4] check-in: [618a83d6] user: drh branch: trunk, size: 260397 | |
13:13 | Unwind some complex conditions in sqlite3BtreeDelete() into separate "if" statements. (CVS 6879) file: [a080b574] check-in: [d99bde9c] user: drh branch: trunk, size: 260112 | |
11:45 | Remove another unreachable branch from btree.c. (CVS 6878) file: [0fd74216] check-in: [b0853100] user: danielk1977 branch: trunk, size: 260124 | |
06:55 | Modify the integrity-check code so that each b-tree page inspected is reinitialized while doing so, even if an initialized copy exists in the cache. This prevents an assert from failing when running integrity_check on a corrupt database. (CVS 6877) file: [829ff601] check-in: [709576c6] user: danielk1977 branch: trunk, size: 260093 | |
05:06 | Remove unreachable condition from btree.c. (CVS 6876) file: [563cda7b] check-in: [47b40fef] user: danielk1977 branch: trunk, size: 259961 | |
2009-07-10
| ||
16:51 | Fix a pager reference count leak in btree that occurs on an OOM following a database page size change. (CVS 6875) file: [c331cc04] check-in: [c6dfc8bd] user: drh branch: trunk, size: 259631 | |
02:52 | Simplifications to the PRAGMA integrity_check logic in btree.c. (CVS 6873) file: [90b5fbf4] check-in: [440c573c] user: drh branch: trunk, size: 259677 | |
2009-07-09
| ||
13:25 | Fix two faulty assert() statements btree. (It was possible for the assertions to be false given a corrupt database file as input.) (CVS 6872) file: [0c58f787] check-in: [9403f04d] user: drh branch: trunk, size: 259607 | |
11:36 | Remove an unused branch from btree.c. (CVS 6871) file: [58c2d32d] check-in: [45efb78a] user: danielk1977 branch: trunk, size: 259592 | |
08:27 | In btree.c, have setSharedCacheLock() assume that the b-tree is sharable instead of checking to see if it is. The caller has already performed this check. (CVS 6870) file: [45595e89] check-in: [3190eefd] user: danielk1977 branch: trunk, size: 259585 | |
05:07 | Restore (btree_set_cache_size) to test3.c. This is used on unix for the tcl "crash tests". Make some functions no longer used outside of btree.c static. (CVS 6869) file: [068c2d86] check-in: [1d96ce8c] user: danielk1977 branch: trunk, size: 259126 | |
03:20 | removed the test function sqlite3BtreeFlags() (test code only); (CVS 6868) file: [abceac00] check-in: [579ba6c8] user: shane branch: trunk, size: 259567 | |
02:48 | removed unused functions from test3.c (test code only); (CVS 6867) file: [c9775946] check-in: [0eb69e8d] user: shane branch: trunk, size: 260069 | |
02:24 | Simplifications and additional testcase() macros for btree.c. (CVS 6866) file: [3a97e228] check-in: [1b8c3a82] user: drh branch: trunk, size: 260936 | |
2009-07-08
| ||
18:50 | Fix a typo in (6861): "ifndef SQLITE_TEST" -> "ifdef SQLITE_TEST". (CVS 6865) file: [92c2f9f5] check-in: [890dbab2] user: danielk1977 branch: trunk, size: 260948 | |
18:45 | Revert part of (6860) that was accidentally checked in. (CVS 6864) file: [8a607b18] check-in: [11e295cc] user: danielk1977 branch: trunk, size: 260949 | |
18:12 | Add another boundary-condition testcase() macro to btree.c. Correct the comment on modifyPagePointer(). (CVS 6863) file: [a2117e0d] check-in: [fed66e86] user: drh branch: trunk, size: 260912 | |
16:54 | Improvements to comments in btree.c:freeSpace(). Added a testcase() macro to verify a boundary case is tested in sqlite3BtreeInitPage(). (CVS 6862) file: [88efb67b] check-in: [5ac991b3] user: drh branch: trunk, size: 260934 | |
15:14 | Comment out sqlite3BtreeFlags() when not in debug mode. Tweaks to database corruption detection logic in freeSpace(). (CVS 6861) file: [e95997f1] check-in: [196cbf82] user: drh branch: trunk, size: 260799 | |
13:55 | Fix error handling in sqlite3BtreePutData(). (CVS 6860) file: [62fc49f2] check-in: [86eba4f1] user: danielk1977 branch: trunk, size: 260805 | |
08:05 | Remove an ALWAYS clause that could be false if an IO error within a statement executed by a virtual table caused an emergency rollback. (CVS 6859) file: [2fd0b5cc] check-in: [0cc705c2] user: danielk1977 branch: trunk, size: 260727 | |
01:49 | Simplifications to sqlite3BtreeInsert() and allocateSpace(). Added many testcase() macros to verify boundary conditions in btree.c. (CVS 6858) file: [e82f52ac] check-in: [aab82a22] user: drh branch: trunk, size: 260551 | |
2009-07-07
| ||
17:38 | Improvements to corrupt database detection in defragmentPage(). (CVS 6857) file: [48ac9ac6] check-in: [87bbc8d6] user: drh branch: trunk, size: 260028 | |
15:47 | Do not load the root-page of a b-tree table/index when opening a cursor. Instead, allow it to be loaded when the cursor is first used (in function moveToRoot()). Also move the root-page flags sanity checks that were a part of the OP_OpenRead/OpenWrite opcodes into the moveToRoot() function. (CVS 6856) file: [0cc9c503] check-in: [06dcfe72] user: danielk1977 branch: trunk, size: 259562 | |
11:39 | Fix a reference count problem following database corruption detection in the ptrmapPut() routine of btree.c. (CVS 6854) file: [8f4c2ebd] check-in: [ec1e27e3] user: drh branch: trunk, size: 259214 | |
02:44 | Simplifications to btree.c and vdbeaux.c in support of structural coverage testing. (CVS 6853) file: [efad7a5a] check-in: [fc2a40a9] user: drh branch: trunk, size: 259181 | |
2009-07-06
| ||
18:56 | Make the sqlite3BtreeMoveto function static, since it is only used from within btree.c. Remove unused function lockBtreeWithRetry from btree.c. (CVS 6850) file: [1a7caa2b] check-in: [30d5ec62] user: danielk1977 branch: trunk, size: 259137 | |
2009-07-04
| ||
17:16 | Remove unreachable code from function btreeCursor() in btree.c. (CVS 6848) file: [1c12a097] check-in: [c76a366e] user: danielk1977 branch: trunk, size: 259847 | |
15:41 | Remove a redundant branch from btree.c. (CVS 6847) file: [464fbd75] check-in: [133357d2] user: danielk1977 branch: trunk, size: 259768 | |
2009-07-03
| ||
16:25 | Simplify the way the read-uncommitted flag is handled to facilitate test coverage. (CVS 6841) file: [b7f75130] check-in: [e2112d61] user: danielk1977 branch: trunk, size: 259794 | |
2009-07-02
| ||
17:21 | When a b-tree transaction is committed when there are open cursors, downgrade shared-cache write-locks to read-locks instead of relinquishing all locks. Fix for #3942. (CVS 6837) file: [8a3f74ae] check-in: [611e704f] user: danielk1977 branch: trunk, size: 260673 | |
07:47 | Cause opening a transaction on a sharable b-tree module automatically obtain a read-lock on page 1. This means there is no way for sqlite3BtreeGetMeta() to fail. (CVS 6836) file: [b739b965] check-in: [e3c055f1] user: danielk1977 branch: trunk, size: 259733 | |
05:23 | Fix for compilation with OMIT_AUTOVACUUM defined. Ticket #3940. (CVS 6835) file: [aff035e8] check-in: [8f0591ae] user: danielk1977 branch: trunk, size: 260887 | |
2009-06-29
| ||
06:00 | Cause incremental-blob read/write operations lock shared-cache tables in the same way as normal SQL read/writes. Add complex assert statements to make sure tehe correct shared-cache locks are held when accessing the database. Eliminate some redundant checks from btree.c. (CVS 6830) file: [078eb410] check-in: [f17ef378] user: danielk1977 branch: trunk, size: 260844 | |
2009-06-26
| ||
16:32 | Removed a few compiler warnings under MSVC. (CVS 6825) file: [617d674e] check-in: [f01a9fc3] user: shane branch: trunk, size: 257839 | |
2009-06-25
| ||
16:11 | Fix a problem with a return code being ignored in insertCell(). (CVS 6816) file: [c049fb18] check-in: [bb5f1c01] user: danielk1977 branch: trunk, size: 257797 | |
09:40 | Replace an "if" condition that is always true in btree.c with an assert(). (CVS 6814) file: [d57b2935] check-in: [daadbd9a] user: danielk1977 branch: trunk, size: 257818 | |
2009-06-24
| ||
05:40 | Simplify things by rolling the functionality of balance_shallower() into balance_nonroot(). (CVS 6808) file: [699c333d] check-in: [11750c6a] user: danielk1977 branch: trunk, size: 257790 | |
2009-06-23
| ||
16:40 | Remove a condition from balance_nonroot() that is always true. (CVS 6806) file: [807e32c1] check-in: [c5dc80e6] user: danielk1977 branch: trunk, size: 258777 | |
15:43 | Call balance_shallower() from balance_nonroot() instead of from balance(). This simplifies coverage testing a bit. (CVS 6805) file: [13e33e85] check-in: [da9893e2] user: danielk1977 branch: trunk, size: 258753 | |
11:22 | Fix a failing assert in btree.c. The same bug was causing a spurious SQLITE_CORRUPT return when compiled without SQLITE_DEBUG. (CVS 6800) file: [73219130] check-in: [47ec8749] user: danielk1977 branch: trunk, size: 259376 | |
2009-06-22
| ||
18:03 | Remove a condition that is always true from btree.c. (CVS 6798) file: [4796c27b] check-in: [3ec8b37a] user: danielk1977 branch: trunk, size: 259199 | |
12:05 | Make sure sqlite3BtreeCreateTable() returns an error code if the largest rootpage field is invalid in auto_vacuum mode. Update file-format comments to describe all of the "meta" values. (CVS 6797) file: [e24cdcd3] check-in: [bda38f5e] user: drh branch: trunk, size: 259140 | |
2009-06-18
| ||
17:22 | Move codec management from database connections into the pager so that it will work together with shared cache. (CVS 6782) file: [0fbea81d] check-in: [ed08b53c] user: drh branch: trunk, size: 259088 | |
11:29 | Reduce the minimum usable page space to 480 byte from 500 bytes. (CVS 6780) file: [067ad47d] check-in: [db4fb835] user: drh branch: trunk, size: 259014 | |
2009-06-17
| ||
13:57 | Fix a potential segfault following database corruption. Problem made visible by check-in (6772). (CVS 6775) file: [c7fc867f] check-in: [69eb0ff8] user: drh branch: trunk, size: 259014 | |
13:09 | Suppress some -Wextra compiler warnings from GCC. (CVS 6774) file: [5d4e1fda] check-in: [59ec937c] user: drh branch: trunk, size: 258993 | |
11:49 | Fix a bug affecting secure-delete mode introduced by (6768). (CVS 6773) file: [9225e072] check-in: [a433ca82] user: danielk1977 branch: trunk, size: 258915 | |
11:13 | Fix for #3918. Also, fix the TRACE macros in balance_nonroot(). (CVS 6772) file: [37145843] check-in: [368e44ec] user: danielk1977 branch: trunk, size: 258390 | |
2009-06-16
| ||
16:50 | Changes to balance_nonroot() and BtreeDelete() to simplify delete operations and reduce stack/heap usage while balancing b-tree structures. (CVS 6768) file: [1edede2a] check-in: [092b276e] user: danielk1977 branch: trunk, size: 258369 | |
04:31 | Remove a duplicate assert from btree.c. Ticket #3915. (CVS 6765) file: [08115026] check-in: [d89542cd] user: danielk1977 branch: trunk, size: 257667 | |
2009-06-15
| ||
16:27 | Fix compiler warnings with MSVC build. (CVS 6761) file: [8363cf2e] check-in: [e1e64307] user: shane branch: trunk, size: 257699 | |
2009-06-14
| ||
12:47 | Detect database corruption and abort balance_nonroot() before the corruption causes problems. (CVS 6758) file: [9804315e] check-in: [3448b39d] user: drh branch: trunk, size: 257690 | |
2009-06-10
| ||
09:11 | Minor tweak to balance_quick() to save a few instructions. (CVS 6743) file: [b883af5a] check-in: [9ace9959] user: danielk1977 branch: trunk, size: 257581 | |
2009-06-09
| ||
18:58 | Fix compiler warnings with MSVC build. (CVS 6741) file: [e626616c] check-in: [0bd84e73] user: shane branch: trunk, size: 257484 | |
13:42 | Enable cell overflow checking in sqlite3BtreeInitPage() using the compile-time option SQLITE_ENABLE_OVERSIZE_CELL_CHECK. Change the tests so that they recognize different error messages depending on the setting of this macro. (CVS 6735) file: [a3c7d36d] check-in: [56bff6eb] user: drh branch: trunk, size: 257472 | |
11:34 | Avoid calling fillInCell() to create an internal node intkey cell from balance_nonroot(). A single putVarint() does the same thing more quickly. (CVS 6734) file: [a5a8e678] check-in: [2e5d42ae] user: danielk1977 branch: trunk, size: 257468 | |
10:37 | Only do the cell overread checks in sqlite3BtreeInitPage if SQLITE_OVERREAD_CHECK is defined at compile-time. (CVS 6733) file: [30bd9f07] check-in: [49f544eb] user: drh branch: trunk, size: 257557 | |
09:41 | Do not clear the MemPage.nFree variable when insertCell() adds an overflow cell to a page. Not doing this means balance_quick() can avoid a call to sqlite3BtreeInitPage(). (CVS 6732) file: [53c5df7f] check-in: [8f1c1f61] user: danielk1977 branch: trunk, size: 257570 | |
2009-06-08
| ||
14:49 | Change the btree balance code so that it does not call balance_nonroot() recursively. (CVS 6729) file: [50716b7a] check-in: [7863db90] user: danielk1977 branch: trunk, size: 258556 | |
2009-06-05
| ||
18:44 | Detect when database corruption causes an attemp to set the pointer map value for a pointer map page and report the corruption. (CVS 6722) file: [bb9dbeaf] check-in: [3ae4880b] user: drh branch: trunk, size: 255921 | |
14:17 | Take care that a corrupt variable-length integer does not cause 32-bit integer overflow when parsing a record format, nor cause excessively large memory allocations. (CVS 6719) file: [3a0e5294] check-in: [38b20327] user: drh branch: trunk, size: 255867 | |
2009-06-04
| ||
19:06 | Earlier detection of freelist corruption in the page allocation routines. (CVS 6718) file: [17ab7af7] check-in: [e557c8e5] user: drh branch: trunk, size: 255963 | |
17:02 | Fix an assertion fault in balance_quick() that occurs when an interior btree node has zero cells due to database corruption. Also update the corrupt7.test result vectors for a couple of cases where the error report on database corruption changed due to earlier detection. (CVS 6717) file: [a55ea6bd] check-in: [1335e444] user: drh branch: trunk, size: 255424 | |
16:14 | If the root page of a btree is empty and is also not a leaf page and the page is not page 1, then report database corruption. (CVS 6716) file: [ca21e0b4] check-in: [52b02ca5] user: drh branch: trunk, size: 255400 | |
14:46 | Reduce the stack usage of balance_quick(). (CVS 6715) file: [ca836296] check-in: [e7ad68e9] user: danielk1977 branch: trunk, size: 255355 | |
00:11 | Fix two instances where a malformed header in a database file (in other words a corrupt database file) can lead to an assertion fault. (CVS 6712) file: [708b9373] check-in: [4e92c7f2] user: drh branch: trunk, size: 255048 | |
2009-06-03
| ||
21:04 | Change the pcache1.c implementation so that the "header" occurs at the end of page buffer, not at the beginning. This insures that the 20 bytes immediately following the page buffer are mapped if a read of the page buffer overruns due to a malformed cell. (CVS 6711) file: [f8636b7a] check-in: [c54de1f5] user: drh branch: trunk, size: 254999 | |
17:26 | Add corruptD.test, a container for testing the "cell overflow" problem. Also shuffle a small amount of code in BtreeInitPage() to check that the page header pointer to the start of the cell offset array is set to a sane value. (CVS 6710) file: [b0ac9955] check-in: [7fa5d3cb] user: danielk1977 branch: trunk, size: 254001 | |
11:25 | Define a set of constants to use as the "index" argument to sqlite3BtreeGetMeta and UpdateMeta. This makes some parts of the code easier to follow. (CVS 6709) file: [5afa1b5b] check-in: [6dbf4eca] user: danielk1977 branch: trunk, size: 253634 | |
2009-05-28
| ||
11:05 | Workaround the need for internal API sqlite3BtreeCursorDb(). It was only being used for an assert() statement, which can be done differently. (CVS 6683) file: [41bee6e4] check-in: [5904af6e] user: danielk1977 branch: trunk, size: 253552 | |
2009-05-06
| ||
18:57 | Changes to silence compiler warnings under MSVC. (CVS 6613) file: [7c4b02af] check-in: [df599237] user: shane branch: trunk, size: 253633 | |
2009-05-04
| ||
19:01 | Avoid parsing cells that fit entirely on the b-tree page when searching a b-tree index. (CVS 6601) file: [a601a89b] check-in: [77a82395] user: danielk1977 branch: trunk, size: 253629 | |
11:42 | Speed up INSERT operations that add data to UNIQUE or PRIMARY KEY indexes by rationalizing duplicate seek operations. (CVS 6599) file: [62f3194f] check-in: [cac4f3d8] user: danielk1977 branch: trunk, size: 252216 | |
2009-05-02
| ||
10:03 | When a cursor points at the last entry of an intkey btree after an insert, leave it there (instead of moving it to the tree root node). This speeds up statements of the form "INSERT INTO ... SELECT ..." that use auto-generated rowids. (CVS 6592) file: [64ad8841] check-in: [9950c0a7] user: danielk1977 branch: trunk, size: 251539 | |
07:36 | Do not reset the cursor before seeking it in sqlite3BtreeInsert(). This speeds up INSERT operations that use auto-generated rowid values. (CVS 6591) file: [1201cba9] check-in: [20c4acc2] user: danielk1977 branch: trunk, size: 249887 | |
2009-05-01
| ||
13:16 | Update PRAGMA integrity_check so that it treats SQLITE_IOERR_NOMEM errors from underlying components the same as SQLITE_NOMEM errors. (CVS 6587) file: [4bef945f] check-in: [26444f2a] user: drh branch: trunk, size: 249341 | |
2009-04-30
| ||
13:30 | Disallow attaching the same database multiple times to the same db connection in shared cache mode, since doing so leads to deadlock. (CVS 6578) file: [2165bfef] check-in: [715f14f1] user: drh branch: trunk, size: 249289 | |
09:10 | When SQLite is configured to use in-memory temp files (either by setting SQLITE_TEMP_STORE during compilation or using the temp_store pragma at run time), store statement/savepoint journals in memory also. Ticket #3825. (CVS 6575) file: [2b89d1f5] check-in: [38f8c5a1] user: danielk1977 branch: trunk, size: 248595 | |
01:22 | Remove always-true tests from attach.c. In btree.c, always test the return from sqlite3PagerSetPagesize() since it might return SQLITE_NOMEM. (CVS 6572) file: [4ac764ea] check-in: [8bf60b24] user: drh branch: trunk, size: 248561 | |
2009-04-29
| ||
17:49 | Modify the assemblePage() function in btree.c so that it runs slightly faster. (CVS 6569) file: [57b2aeac] check-in: [7ec42e98] user: danielk1977 branch: trunk, size: 248546 | |
11:31 | Add a version of cellSizePtr() that is faster than using sqlite3BtreeParseCellPtr(). This speeds up balance_nonroot(). (CVS 6566) file: [d3e38cf7] check-in: [e8f7f7b7] user: danielk1977 branch: trunk, size: 248611 | |
06:27 | Simplify a conditional expression in btree.c. (CVS 6565) file: [3dffdafe] check-in: [fc3a5ac2] user: danielk1977 branch: trunk, size: 247452 | |
2009-04-19
| ||
20:51 | Update comments and remove unused code in btree.c. No functional changes. (CVS 6521) file: [b4ec46b3] check-in: [bd860184] user: drh branch: trunk, size: 247482 | |
2009-04-11
| ||
16:06 | Fix a case where a corrupt database could cause an assert() to fail. (CVS 6496) file: [103858ad] check-in: [2c560e05] user: danielk1977 branch: trunk, size: 247646 | |
2009-04-10
| ||
09:47 | Always set BtShared.db when entering the BtShared mutex. Ticket #3793. (CVS 6480) file: [8331febf] check-in: [ed6620ba] user: danielk1977 branch: trunk, size: 247465 | |
00:56 | Force 8-byte alignment of sqlite3_value objects in the sqlite3VdbeUnpackRecord() primitive. Ticket #3777. (CVS 6479) file: [02c902db] check-in: [2cc68272] user: drh branch: trunk, size: 247763 | |
2009-04-07
| ||
14:38 | Fix an incorrect assert in btree.c. (CVS 6465) file: [0d02176d] check-in: [2c1f5983] user: danielk1977 branch: trunk, size: 247770 | |
2009-04-06
| ||
17:50 | Test cases and minor code changes to increase coverage of btree.c. (CVS 6456) file: [effd3b70] check-in: [def3a016] user: danielk1977 branch: trunk, size: 247736 | |
2009-04-05
| ||
12:22 | Additional code to make sure and to assert that memory allocations have 8-byte alignment. Ticket #3777. (CVS 6450) file: [457a71a1] check-in: [208382e0] user: drh branch: trunk, size: 247551 | |
2009-04-02
| ||
20:16 | Make sure the VACUUM statement locks down the page_size and auto_vacuum modes after it runs. Otherwise, pragmas might change these settings on a populated database, resulting in problems. (CVS 6442) file: [f4fdf535] check-in: [85e6a474] user: drh branch: trunk, size: 247611 | |
18:28 | Fix a problem causing the BtShared.isPending flag to be cleared to early. Also coverage improvements for btree.c. (CVS 6440) file: [7d51b2ef] check-in: [8f142344] user: danielk1977 branch: trunk, size: 247343 | |
2009-04-01
| ||
19:07 | Remove an unreachable branch from lockBtree(). Add comments. (CVS 6428) file: [dcf8157b] check-in: [85979295] user: danielk1977 branch: trunk, size: 246834 | |
18:03 | Remove the unused SQLITE_Vtab flag. (CVS 6425) file: [3e831426] check-in: [fdd78962] user: danielk1977 branch: trunk, size: 246487 | |
17:13 | In pageReinit() in btree.c, only reinitialize a page if there are one or more references to it, not including the transient reference held by pager.c. This was always the intent. (CVS 6424) file: [abd530b6] check-in: [0c5a7d11] user: danielk1977 branch: trunk, size: 246527 | |
16:25 | Remove an unreachable branch from allocateSpace() in btree.c. Add comments and asserts to the same function. (CVS 6422) file: [cfa70f8e] check-in: [f8e15a54] user: danielk1977 branch: trunk, size: 246480 | |
09:41 | Add some assert() statements to querySharedCacheTableLock(). (CVS 6421) file: [afb15be9] check-in: [3e3b5e86] user: danielk1977 branch: trunk, size: 245857 | |
2009-03-30
| ||
18:50 | Fix a case where a pointer map page was not being journalled before a file truncation that occurs as part of an incremental vacuum. (CVS 6413) file: [304c18b7] check-in: [c5890935] user: danielk1977 branch: trunk, size: 245003 | |
17:19 | Add a comment to the pageReinit() routine explaining why the return code from sqlite3BtreeInitPage() is ignored. Comment change only - no changes to code. (CVS 6412) file: [244dddea] check-in: [10f605be] user: drh branch: trunk, size: 244671 | |
13:53 | Modify integrity-check to prevent a buffer overread when dealing with a corrupted database. (CVS 6411) file: [5f99af1a] check-in: [3c9097f1] user: danielk1977 branch: trunk, size: 244253 | |
2009-03-28
| ||
10:54 | The fix in (6395) was not correct. Fix #3756 a different way. (CVS 6397) file: [3aef6704] check-in: [9278f7b1] user: danielk1977 branch: trunk, size: 244181 | |
2009-03-25
| ||
15:43 | Fix a problem preventing sqlite3_extended_errcode() from working correctly. (CVS 6385) file: [a0095c47] check-in: [de469c46] user: danielk1977 branch: trunk, size: 243970 | |
2009-03-23
| ||
02:34 | Fix compiler warning in MSVC. (CVS 6371) file: [1a709b6a] check-in: [83a4d5b3] user: shane branch: trunk, size: 243965 | |
2009-03-20
| ||
13:15 | Rename the unused MEM2 static mutex to OPEN and reuse it to serialize access to the sqlite3BtreeOpen() routine to prevent a race condition on detection of sharable caches. Ticket #3735. (CVS 6363) file: [4fbb5f26] check-in: [19fa5a29] user: drh branch: trunk, size: 243959 | |
2009-03-18
| ||
10:33 | Fix some cases where executing SQL from within a user-function callback could cause problems related to statement-transactions. (CVS 6355) file: [081e1aac] check-in: [a60f4191] user: danielk1977 branch: trunk, size: 243451 | |
2009-03-17
| ||
22:33 | Move the rowid cache out of VdbeCursor and into BtCursor. When multiple BtCursors are open on the same table, set their rowid cache all at the same time. Ticket #3731. (CVS 6354) file: [805ca960] check-in: [18978583] user: drh branch: trunk, size: 244779 | |
2009-03-16
| ||
13:19 | Add the sqlite3_unlock_notify() API. (CVS 6348) file: [7d1c7e15] check-in: [b649a6cc] user: danielk1977 branch: trunk, size: 243141 | |
2009-03-12
| ||
14:43 | Make calls to sqlite3BtreeRollbackStmt() no-ops when passed a Btree* handle that does not have an open statement transaction. Ticket #3718. (CVS 6342) file: [6e7501d7] check-in: [a1bb1aef] user: danielk1977 branch: trunk, size: 241658 | |
2009-03-05
| ||
04:20 | Corrected typos and misspellings. Ticket #3702. (CVS 6336) file: [ec710abc] check-in: [6404afa0] user: shane branch: trunk, size: 241609 | |
2009-02-24
| ||
19:21 | Additional commands and another procedure name changes for clarity of presentation. No logic changes. (CVS 6323) file: [c219cd5d] check-in: [91d9d51e] user: drh branch: trunk, size: 241604 | |
18:57 | Changes to comments and functions/procedure names for clarification. No changes to logic. (CVS 6322) file: [10c415ef] check-in: [b99c1815] user: drh branch: trunk, size: 241359 | |
16:18 | Enhanced comments on table locking logic as it relates to preparing new statements. Added assert() and testcase() but no other changes to code. (CVS 6319) file: [8b8697ab] check-in: [4a12f5b8] user: drh branch: trunk, size: 241035 | |
10:01 | Optimize queries of the form "SELECT count(*) FROM <tbl>" by adding a sqlite3BtreeCount() interface to the btree layer. (CVS 6316) file: [e0178d6f] check-in: [d4aa6593] user: danielk1977 branch: trunk, size: 240890 | |
2009-02-18
| ||
20:31 | Make sure the auto_vacuum=INCREMENTAL setting is preserved across a VACUUM. Ticket #3663. (CVS 6304) file: [086fdb45] check-in: [ded04f12] user: drh branch: trunk, size: 238313 | |
2009-02-04
| ||
01:49 | Remove compiler warnings under MSVC. (CVS 6249) file: [71f30e74] check-in: [6301f08a] user: shane branch: trunk, size: 238270 | |
2009-02-03
| ||
16:51 | Commit first version of the 'backup' feature. (CVS 6241) file: [800a0656] check-in: [663479b4] user: danielk1977 branch: trunk, size: 238230 | |
2009-01-31
| ||
14:54 | Avoid a segfault when running vacuum on an in-memory database. Ticket #3620. (CVS 6221) file: [dfbbfc39] check-in: [407830c6] user: danielk1977 branch: trunk, size: 245487 | |
2009-01-28
| ||
20:21 | Fix a segfault that can occur when attempting to insert into a corrupt database file. Need a test case. (CVS 6212) file: [606c67b1] check-in: [68957cf0] user: drh branch: trunk, size: 245356 | |
2009-01-20
| ||
17:06 | Big change to make pager.c easier to follow. Unused variables removed, comments improved, etc. (CVS 6197) file: [01b3af74] check-in: [12f7346c] user: danielk1977 branch: trunk, size: 245292 | |
2009-01-16
| ||
16:23 | Revert (6187). (CVS 6188) file: [e183a435] check-in: [a353c1ab] user: danielk1977 branch: trunk, size: 240581 | |
15:21 | This commit is an error. Reverted by (6188). (CVS 6187) file: [3b446e24] check-in: [aa67fd0c] user: danielk1977 branch: trunk, size: 245301 | |
2009-01-10
| ||
16:15 | When compiled with SQLITE_DEBUG (in other words, when assert() is enabled) the ALWAYS and NEVER macros will throw an assertion if their arguments are not true or false, respectively. (CVS 6159) file: [603ce196] check-in: [64a8dcd8] user: drh branch: trunk, size: 240573 | |
2009-01-09
| ||
14:11 | Simplifications to btree.c to improve test coverage. (CVS 6150) file: [6ece0e36] check-in: [ac84f106] user: drh branch: trunk, size: 240593 | |
2009-01-06
| ||
18:21 | Reduce the number of paths in btreeCopyFile(). (CVS 6124) file: [8f5a2e9a] check-in: [df2c285c] user: danielk1977 branch: trunk, size: 241596 | |
2009-01-02
| ||
21:08 | Reinitialize page 1 of the database file following a ROLLBACK TO of a transactional SAVEPOINT on an initially empty database. (CVS 6103) file: [b0cf3e72] check-in: [3e9efb76] user: drh branch: trunk, size: 241837 | |
18:10 | Fix compiler warnings in pager.c (CVS 6102) file: [2a89b28a] check-in: [78dd7909] user: drh branch: trunk, size: 241777 | |
2008-12-27
| ||
15:23 | Fix a problem with savepoint and incremental-vacuum. (CVS 6066) file: [581fdccd] check-in: [08352f9e] user: danielk1977 branch: trunk, size: 241817 | |
2008-12-23
| ||
15:58 | Make sure nOverflow is always cleared when a page is released. (CVS 6059) file: [f695109b] check-in: [8d0f7244] user: drh branch: trunk, size: 242550 | |
10:37 | Fix a couple of assert() failures that can occur in btree.c and pager.c. (CVS 6055) file: [69983b4e] check-in: [ae44e748] user: danielk1977 branch: trunk, size: 242422 | |
2008-12-18
| ||
15:45 | Add savepoint2.test, a file containing savepoint tests similar to tests in trans.test and avtrans.test. And a few savepoint bug fixes. (CVS 6039) file: [ad51b56b] check-in: [98a53d91] user: danielk1977 branch: trunk, size: 242494 | |
2008-12-17
| ||
17:30 | Add the savepoint feature. This feature is largely untested at this point. (CVS 6036) file: [c402a9a1] check-in: [34b56600] user: danielk1977 branch: trunk, size: 241984 | |
2008-12-16
| ||
13:46 | Make sure the memory returned from sqlite3ScratchMalloc() is 8-byte aligned. Ticket #3542. (CVS 6031) file: [fb64a2af] check-in: [13b56b7f] user: drh branch: trunk, size: 240515 | |
2008-12-10
| ||
21:19 | Additional work at eliminating silly compiler warnings. (CVS 6010) file: [e5bfe007] check-in: [ea01d437] user: drh branch: trunk, size: 240530 | |
16:45 | Add explicit casts to silence nuisance warnings from VC++. (CVS 6004) file: [ba7baa98] check-in: [da1cbfa7] user: drh branch: trunk, size: 240480 | |
2008-12-05
| ||
22:40 | Fix integrity check so that it always reports memory allocation errors that it encounters. (CVS 5984) file: [05fae412] check-in: [2a3f5ce1] user: drh branch: trunk, size: 239725 | |
20:01 | Make sure the nOverflow flag in MemPage is reset to zero after every insert. (CVS 5983) file: [b3438bc1] check-in: [bfde3dae] user: drh branch: trunk, size: 239513 | |
2008-11-27
| ||
02:22 | Add 19 new assert() statements in btree.c that attempt to detect writing to a cache page which is not writeable. (CVS 5964) file: [372c5b32] check-in: [f9c73590] user: drh branch: trunk, size: 239096 | |
2008-11-26
| ||
14:55 | Port check-ins (5955) and (5956) into the 3.6.6 branch. (CVS 5958) file: [1c468249] check-in: [8c0edbef] user: drh branch: branch_3_6_6, size: 237143 | |
07:40 | Fix an obscure memory leak that can follow an IO error. (CVS 5956) file: [615a2b9e] check-in: [8271229c] user: danielk1977 branch: trunk, size: 237133 | |
07:25 | Fix a couple of assert() failures provoked by running with a small default cache-size (64 pages). (CVS 5955) file: [950070c6] check-in: [1a66481a] user: danielk1977 branch: trunk, size: 237074 | |
2008-11-22
| ||
14:07 | Port the corruption bug fix of check-in (5938) into a branch off of version 3.6.6. (CVS 5947) file: [adfb7974] check-in: [15d88edf] user: drh branch: branch_3_6_6, size: 236997 | |
2008-11-21
| ||
09:09 | Fix the problems demonstrated in tkt35xx.test in a different way to (5936). (CVS 5938) file: [286ff124] check-in: [ddf980a5] user: danielk1977 branch: trunk, size: 237001 | |
2008-11-19
| ||
10:22 | Simplify the way the pager layer invokes the busy-handler callback. (CVS 5922) file: [76c1b092] check-in: [7bd1ac18] user: danielk1977 branch: trunk, size: 236956 | |
09:05 | Changes to avoid "unused parameter" compiler warnings. (CVS 5921) file: [abbd6838] check-in: [88134322] user: danielk1977 branch: trunk, size: 237051 | |
2008-11-17
| ||
14:20 | Changes to btree.c to avoid the unsigned/signed comparison warnings. (CVS 5911) file: [661d3224] check-in: [24469dba] user: danielk1977 branch: trunk, size: 237186 | |
2008-11-13
| ||
18:29 | Fixed several more crashes due to corrupt db files. Added corruptC.test to soak.test. (CVS 5905) file: [81c22965] check-in: [9b7a52e9] user: shane branch: trunk, size: 237113 | |
14:28 | Add an API to support custom page cache implementations. (CVS 5899) file: [be3e0aa6] check-in: [47866d67] user: danielk1977 branch: trunk, size: 236826 | |
2008-11-12
| ||
18:21 | Avoid some buffer overreads detected by valgrind while running corruptC.test. (CVS 5898) file: [7c06d81f] check-in: [faa6bd7b] user: danielk1977 branch: trunk, size: 236691 | |
08:49 | Fix a database corruption related crash uncovered by corruptC.test. (CVS 5890) file: [7505a73b] check-in: [395084ac] user: danielk1977 branch: trunk, size: 236613 | |
04:55 | Fixed a few more crashes when dealing with corrupt db files. (CVS 5888) file: [5406b753] check-in: [f8bb34e4] user: shane branch: trunk, size: 236538 | |
2008-11-11
| ||
22:18 | Fixed crash during an UPDATE when free cell size is corrupt. (CVS 5887) file: [9794c9ee] check-in: [ec18667e] user: shane branch: trunk, size: 236279 | |
20:51 | Prevent a crash during an UPDATE when the cell offset is corrupt. (CVS 5886) file: [16dda042] check-in: [99d4172e] user: shane branch: trunk, size: 236203 | |
17:36 | Fixed crash in integrity_check with corrupt content offset size in page header. (CVS 5881) file: [7824bc89] check-in: [0659a666] user: shane branch: trunk, size: 236106 | |
2008-11-10
| ||
17:14 | In btree.c, omit calls to setChildPtrmaps() if SQLITE_OMIT_AUTOVACUUM is defined. Ticket #3439. (CVS 5871) file: [e0ceb752] check-in: [e0f07323] user: shane branch: trunk, size: 235831 | |
2008-11-03
| ||
20:55 | Change the name of the Cursor object to VdbeCursor. (CVS 5857) file: [4320c626] check-in: [fdb98fd8] user: drh branch: trunk, size: 235718 | |
2008-10-27
| ||
13:59 | Make sqlite3_count_changes() and total_changes() work with "DELETE FROM ". (CVS 5844) file: [5d72b67e] check-in: [e68e4282] user: danielk1977 branch: trunk, size: 235725 | |
2008-10-08
| ||
17:58 | After an OP_NullRow is executed on a cursor, cause any subsequent OP_Next or OP_Prev to behave as if there were no more rows to traverse. Ticket #3424. (CVS 5782) file: [3e686f89] check-in: [af679f61] user: danielk1977 branch: trunk, size: 235402 | |
2008-09-30
| ||
17:18 | Add some testcase() and assert() macros to btree.c to aid with testing recent changes. (CVS 5757) file: [64a38df6] check-in: [fb461b78] user: drh branch: trunk, size: 235381 | |
16:48 | Fix a comment in btree.c. No code changes. (CVS 5756) file: [d1720e1e] check-in: [0f3c5633] user: danielk1977 branch: trunk, size: 233373 | |
14:06 | Change leading tabs into spaces. (CVS 5755) file: [b7fbd31b] check-in: [4e536463] user: drh branch: trunk, size: 233236 | |
09:31 | Fix a recently introduced problem with deleting entries from index tables. (CVS 5754) file: [2e5cf91c] check-in: [83c064ca] user: danielk1977 branch: trunk, size: 233167 | |
2008-09-29
| ||
16:41 | Remove the reparentPage() and reparentChildPages() functions from btree.c. All calls to these functions can now be replaced by a call to setChildPtrmaps(). (CVS 5751) file: [df02edb0] check-in: [35e8e4dc] user: danielk1977 branch: trunk, size: 230699 | |
15:53 | Remove the MemPage.idxShift variable. It is no longer required. (CVS 5750) file: [002084e2] check-in: [7354abd0] user: danielk1977 branch: trunk, size: 235250 | |
11:49 | Instead of storing a pointer to the parent page in the MemPage structure, have each B-Tree cursor keep track of the ancestry of the current page. (CVS 5747) file: [8fc7c0bd] check-in: [40425e93] user: danielk1977 branch: trunk, size: 235182 | |
2008-09-26
| ||
17:31 | Performance enhancement: avoid calling reparentChildPages() from balance_nonroot(). (CVS 5743) file: [850d7ede] check-in: [28fd0a50] user: danielk1977 branch: trunk, size: 238244 | |
2008-09-19
| ||
16:39 | In function moveToRoot(), use the MemPage.pParent pointers to find the root page if they are valid. This is slightly faster than requesting a new reference to the root page from the pager layer. (CVS 5725) file: [4d642d23] check-in: [0c8b74e6] user: danielk1977 branch: trunk, size: 235866 | |
15:10 | In sqlite3BtreeGetMeta(), if BtShared.pPage1 is available use it instead of requesting a new reference from the pager layer. (CVS 5724) file: [cfe8dbba] check-in: [59be34cf] user: danielk1977 branch: trunk, size: 234766 | |
2008-09-18
| ||
18:17 | Fix a segfault introduced by (5720) that can follow an IO error. (CVS 5721) file: [54fc8950] check-in: [05d34626] user: danielk1977 branch: trunk, size: 234644 | |
17:34 | Avoid parsing the structure of b-tree pages (in sqlite3BtreeInitPage) more than is necessary. (CVS 5720) file: [e8484887] check-in: [6b998f30] user: danielk1977 branch: trunk, size: 234603 | |
01:08 | Performance improvements in getAndInitPage(): omit the upper bound check on page number if the page is already in cache. (CVS 5716) file: [5db7b54e] check-in: [badd0873] user: drh branch: trunk, size: 232882 | |
2008-09-10
| ||
17:53 | Fix some trivial cases where database corruption was causing an error code other than SQLITE_CORRUPT to be returned. (CVS 5690) file: [5419fcd2] check-in: [89fda074] user: danielk1977 branch: trunk, size: 232107 | |
14:45 | Fix for handling database files corrupted in such a was as to make a b-tree page a direct or indirect descendant of itself. (CVS 5689) file: [9e11a68f] check-in: [93545861] user: danielk1977 branch: trunk, size: 232064 | |
2008-09-05
| ||
05:02 | Fix a problem in btree.c preventing an OOM error from being propagated up to the caller. (CVS 5677) file: [6ea37de3] check-in: [0b8ee83f] user: danielk1977 branch: trunk, size: 231651 | |
2008-09-02
| ||
14:07 | Move the sqlite3SharedCacheEnabled global and the inProgress static variable (function sqlite3_initialize()) into the global sqlite3Config structure. This is required for the OMIT_WSD feature to work on some platforms. (CVS 5662) file: [70706ed6] check-in: [88c82759] user: danielk1977 branch: trunk, size: 231658 | |
09:38 | Modify pcache.c to work with OMIT_WSD. (CVS 5659) file: [3c251cac] check-in: [44def90d] user: danielk1977 branch: trunk, size: 231840 | |
00:52 | Continuing work on adding full support for the SQLITE_OMIT_WSD compile-time option. (CVS 5658) file: [a12044e5] check-in: [ef26ea5c] user: drh branch: trunk, size: 231831 | |
2008-09-01
| ||
18:34 | Begin adding support for the SQLITE_OMIT_WSD macro. Some (many) WSD variables still need wrappers added to them. (CVS 5652) file: [deb7e145] check-in: [573d92ab] user: danielk1977 branch: trunk, size: 231663 | |
2008-08-27
| ||
15:16 | Use a bitvec object to store the set of pages with the 'always-rollback' property for a transaction. (CVS 5622) file: [9b98b0d2] check-in: [9e932599] user: danielk1977 branch: trunk, size: 231657 | |
2008-08-25
| ||
11:57 | Fix a segfault that can occur when running integrity_check on a corrupt db. (CVS 5606) file: [f6a1f698] check-in: [eae959ed] user: danielk1977 branch: trunk, size: 231647 | |
2008-08-23
| ||
16:17 | Do not incorrectly detect corruption when an auto-vacuum database is converted to a non-auto-vacuum database within a vacuum. Ticket #3332. (CVS 5603) file: [9253ac92] check-in: [cb869946] user: danielk1977 branch: trunk, size: 231590 | |
2008-08-22
| ||
17:34 | Remove dead code. (CVS 5601) file: [4212dce1] check-in: [6de9c084] user: drh branch: trunk, size: 231575 | |
12:57 | Fix nuisance compiler warnings. Ticket #3309. (CVS 5591) file: [e1b5c898] check-in: [2a365e29] user: drh branch: trunk, size: 231641 | |
2008-08-20
| ||
22:06 | Modify the sqlite3VdbeUnpackRecord() interface to force the temporary space to be 8-byte aligned. This might be important for Sparc. Ticket #3318. (CVS 5573) file: [3078f7a5] check-in: [00b17798] user: drh branch: trunk, size: 231626 | |
14:49 | Add the pcache module from the experimental branch. Also change things so that most of the built-in SQL functions are kept in single static hash-table, rather than creating and populating a separate hash table for each open database connection. (CVS 5566) file: [c536edea] check-in: [cb494e10] user: danielk1977 branch: trunk, size: 231631 | |
2008-08-13
| ||
19:11 | Additional changes toward fixing ticket #3292. (CVS 5562) file: [c38431ae] check-in: [0b92cbf5] user: drh branch: trunk, size: 231575 | |
14:07 | A partial fix for ticket #3292. This fixes the original problem but there are other similar problems lurking in the code still. (CVS 5561) file: [2ae1092e] check-in: [055f173a] user: drh branch: trunk, size: 231586 | |
2008-08-02
| ||
17:36 | Fix a reference count leak introduced by (5526). (CVS 5527) file: [da7491ef] check-in: [f653995c] user: danielk1977 branch: trunk, size: 231588 | |
17:03 | Avoid doing IO purely to check assert() constraints. (CVS 5526) file: [ff5ff00d] check-in: [fb26ae72] user: danielk1977 branch: trunk, size: 231517 | |
2008-08-01
| ||
20:10 | Bring test coverage up to 99%. (CVS 5522) file: [0be00cb6] check-in: [2cd6bae8] user: drh branch: trunk, size: 231415 | |
2008-07-28
| ||
19:34 | Implement the "lookaside" memory allocation cache. Use of this cache makes the speed1.test script run about 15% faster. Added new interfaces to control the cache. (CVS 5488) file: [540186cc] check-in: [e48f9697] user: drh branch: trunk, size: 231304 | |
2008-07-19
| ||
14:25 | Reduce the number of "#ifndef SQLITE_OMIT_AUTOVACUUM" conditions in btree.c by using the ISAUTOVACUUM macro instead. (CVS 5444) file: [1318ab0e] check-in: [a560c618] user: danielk1977 branch: trunk, size: 231307 | |
11:49 | Improve the performance of balance_nonroot() on auto-vacuum databases by reducing the number of calls to ptrmapPut(). (CVS 5442) file: [7303414d] check-in: [9992b1ae] user: danielk1977 branch: trunk, size: 231746 | |
2008-07-18
| ||
17:16 | Fix SQLITE_OMIT_AUTOVACUUM so that it works again. Ticket #3228. (CVS 5439) file: [770e1b12] check-in: [3b2dd417] user: drh branch: trunk, size: 229797 | |
09:34 | Performance improvement: reduce the number of calls to ptrmapPageno() made by ptrmapPut() and ptrmapGet(). (CVS 5437) file: [95640f01] check-in: [d807fb27] user: danielk1977 branch: trunk, size: 229700 | |
03:32 | The zeroPage() routine in btree.c need not actually zero the whole page, just the header. (CVS 5434) file: [af2bc332] check-in: [c69633ec] user: drh branch: trunk, size: 229684 | |
02:44 | Omit the check for cell-pointer consistency in sqlite3BtreeInitPage() for a 2.5% performance gain. (CVS 5433) file: [134d2f76] check-in: [b88087e6] user: drh branch: trunk, size: 229680 | |
00:57 | Optimization to sqltie3BtreeParseCellPtr. 0.3% performance increase. (CVS 5432) file: [5299a702] check-in: [77e099ad] user: drh branch: trunk, size: 229284 | |
2008-07-17
| ||
18:39 | Simplify the b-tree logic by taking advantage of the fact that all b-trees are either intkey+leafdata or zerodata. (CVS 5431) file: [c618d62f] check-in: [29d3bfd7] user: drh branch: trunk, size: 229251 | |
2008-07-16
| ||
18:17 | Eliminate some unnecessary IO during a commit in full auto-vacuum mode. (CVS 5426) file: [5dcc47a3] check-in: [1d01c02a] user: danielk1977 branch: trunk, size: 228981 | |
2008-07-12
| ||
14:52 | Remove leftover debugging commands (breakpoint and btree_breakpoint) from test scripts. (CVS 5400) file: [cda41ffc] check-in: [dcb16024] user: drh branch: trunk, size: 228933 | |
2008-07-11
| ||
21:02 | Detect and handles the case where a row is modified or deleted while it is being read during SELECT processing. (CVS 5399) file: [dcbb9624] check-in: [c80a5d09] user: drh branch: trunk, size: 228852 | |
16:39 | Added corruptA.test for testing malformed database headers. (CVS 5397) file: [8d082147] check-in: [6dcce6b9] user: drh branch: trunk, size: 228551 | |
16:15 | Additional test coverage for the btree module. Remove the failsafe() macro and replace it with ALWAYS() and NEVER(). (CVS 5395) file: [881d5eb6] check-in: [d7e2f0d2] user: drh branch: trunk, size: 228639 | |
03:38 | Remove an extra zeroPage() call that was left in the previous check-in by mistake. Ticket #3209. (CVS 5393) file: [6ec7584e] check-in: [c45d578e] user: drh branch: trunk, size: 228655 | |
03:34 | Make the btree layer robust when faced with a corrupt database that contains duplicate entries on the freelist. Ticket #3209. (CVS 5392) file: [89f1122f] check-in: [30825f74] user: drh branch: trunk, size: 228686 | |
02:21 | Additional test coverage in btree.c. Added corruption tests for the ptrmap pages of an autovacuumed database (corrupt8.test). (CVS 5391) file: [71ba2420] check-in: [620b4721] user: drh branch: trunk, size: 228640 | |
2008-07-10
| ||
00:32 | Remove unused code. Test coverage enhancements. Modify the algorithm used to select column names for VIEWs of joins so that the constructed column names omits the underlying table names. (CVS 5386) file: [61c4752f] check-in: [636cd723] user: drh branch: trunk, size: 228515 | |
2008-07-09
| ||
11:49 | Coverage testing for balance_quick() and balance_deeper(). (CVS 5382) file: [fbc557de] check-in: [491f8f96] user: danielk1977 branch: trunk, size: 228818 | |
2008-07-08
| ||
19:34 | Completely rework the sqlite3SetString() primitive so that it honors the SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374) file: [a52b0a1d] check-in: [8ed04b1e] user: drh branch: trunk, size: 228348 | |
17:13 | Test another corruption case in btree.c. And an IO error related scenario. (CVS 5371) file: [965da6ca] check-in: [d74fbb81] user: danielk1977 branch: trunk, size: 228368 | |
2008-07-04
| ||
17:52 | Fix a bug in btree.c that caused it to report a database as being corrupt if it used one of the last 6 slots in a freelist trunk page. Continue to never use those last 6 slots so that databases from newer versions are still readable with older versions. (CVS 5344) file: [e0026855] check-in: [b8ff6b0a] user: drh branch: trunk, size: 228359 | |
2008-06-28
| ||
15:33 | Remove an assert() that was failing if there were any open incremental blob handles when a statement transaction was rolled back. (CVS 5326) file: [dd7b7a92] check-in: [f66491ab] user: danielk1977 branch: trunk, size: 227620 | |
2008-06-23
| ||
09:50 | Fix a bug whereby opening a connection to an existing shared-cache caused the cache-size (the value configured by "PRAGMA cache_size") to revert to its default value. (CVS 5274) file: [6d25027d] check-in: [0492aa8e] user: danielk1977 branch: trunk, size: 227661 | |
2008-06-19
| ||
01:03 | Bug fixes: Plug a memory leak introduced by the previous check-in. Get the amalgamation to the point where it will compile. (CVS 5241) file: [54a5e5f8] check-in: [005f8eae] user: drh branch: trunk, size: 227457 | |
00:16 | Add some test logic to the new memory allocation subsystem. (Lots more needed.) The test suite is currently indicating memory leaks, though it is unclear if this is a true code problem or just an instrumentation problem. (CVS 5240) file: [a7c8e782] check-in: [cb1f11cd] user: drh branch: trunk, size: 227434 | |
2008-06-18
| ||
17:09 | Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234) file: [bae7f135] check-in: [5059644c] user: danielk1977 branch: trunk, size: 227357 | |
2008-06-17
| ||
15:12 | Add internal interfaces: PageMalloc/PageFree and ScratchMalloc/ScratchFree. (CVS 5226) file: [a7b1ffdd] check-in: [3e797d0f] user: drh branch: trunk, size: 227329 | |
2008-06-15
| ||
02:51 | Continuing work on the new memory allocation subsystem. Added routines for temporary memory allocation. Right the btree balance mechanism to only do one temporary allocation at a time. (CVS 5220) file: [b374c2ba] check-in: [65fe7b62] user: drh branch: trunk, size: 227228 | |
2008-06-11
| ||
18:27 | Fix an error in the previous commit found by corrupt7.test. (CVS 5204) file: [1f4a3f83] check-in: [afcfba0a] user: danielk1977 branch: trunk, size: 227003 | |
18:15 | Check that the offsets in the cell-offset array of a b-tree page are within range in sqlite3BtreeInit(). (CVS 5203) file: [48290915] check-in: [82f27e28] user: danielk1977 branch: trunk, size: 227003 | |
2008-06-10
| ||
17:30 | Invalidate sqlite3_blob* handles whenever an SQL statement is used to delete or modify the rows containing the open blob. Previously, modifying the table containing the open blob in any way invalidated the handle. This was too restrictive. (CVS 5199) file: [5f76517e] check-in: [e339c91f] user: danielk1977 branch: trunk, size: 226488 | |
2008-06-09
| ||
19:27 | Moved declaration of int nPage; to top of block to silence picky compilers (MSVC). (CVS 5197) file: [0c2c19a9] check-in: [120bffff] user: shane branch: trunk, size: 225322 | |
2008-06-07
| ||
08:58 | Change the signature of sqlite3PagerPagecount() so that it can return an error code. (CVS 5195) file: [fca8ae92] check-in: [e9f01c01] user: danielk1977 branch: trunk, size: 225328 | |
2008-05-09
| ||
16:57 | Fix a problem with recovering from an IO error in exclusive-locking mode. (CVS 5112) file: [7bee6ba4] check-in: [7a44fb96] user: danielk1977 branch: trunk, size: 225158 | |
2008-05-07
| ||
19:11 | Fix some problems with multi-file transactions in persistent journal mode. (CVS 5102) file: [7401bcbd] check-in: [e98a7f87] user: danielk1977 branch: trunk, size: 225054 | |
07:13 | Fix a problem causing the database to be truncated to the wrong size after an incremental-vacuum is performed on a database in full auto-vacuum mode. (CVS 5094) file: [556adb8f] check-in: [ed98df24] user: danielk1977 branch: trunk, size: 225028 | |
2008-05-05
| ||
15:26 | Avoid leaking page references after an IO error is encountered. (CVS 5082) file: [638f450d] check-in: [198c395b] user: danielk1977 branch: trunk, size: 225020 | |
12:09 | Avoid leaking page references when database corruption is encountered. (CVS 5080) file: [6b16a43a] check-in: [270d47e8] user: danielk1977 branch: trunk, size: 225040 | |
2008-05-02
| ||
14:23 | Make sure that when a connection is blocking on a RESERVED lock that it continues after the lock is released. Ticket #3093. (CVS 5078) file: [05c6bcb6] check-in: [3dc334aa] user: drh branch: trunk, size: 224920 | |
2008-04-24
| ||
19:15 | Consolidated varint macro usage from btreeInt.h, vdbe.c, and vdbeaux.c into sqliteInt.h and made their use consistent. Slight improvements to varint32 macros. (CVS 5045) file: [8b2294c6] check-in: [0d04ccd9] user: shane branch: trunk, size: 224881 | |
2008-04-03
| ||
21:46 | Remove superfluous code from btree.c. (CVS 4964) file: [ee340ad9] check-in: [40173010] user: drh branch: trunk, size: 224882 | |
2008-04-02
| ||
18:33 | Minor optimizations. (CVS 4955) file: [680c357b] check-in: [e8529455] user: drh branch: trunk, size: 225170 | |
16:29 | Simplifications to the LockTable opcode. (CVS 4954) file: [00cc20be] check-in: [66c5d715] user: drh branch: trunk, size: 225134 | |
2008-03-29
| ||
16:01 | Make the sqlite3BtreeMoveto routine a no-op if the cursor is already pointing at the cell we are trying to move to. (CVS 4938) file: [20d51e14] check-in: [9b567ab6] user: drh branch: trunk, size: 225019 | |
2008-03-25
| ||
17:23 | Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather than a record formed using {quote: MakeRecord.} This avoids a needless packing and unpacking of the record to be deleted. (CVS 4916) file: [6e60d634] check-in: [ee381b43] user: drh branch: trunk, size: 224138 | |
14:24 | Have each {quote: BtShared} structure hang on to a buffer of just under page-size bytes for temporary use. This reduces the number of calls to malloc(). (CVS 4914) file: [366f5f66] check-in: [fe1bc0f3] user: danielk1977 branch: trunk, size: 223308 | |
09:56 | Fix for memory leak in malloc3.test. (CVS 4913) file: [0a170b7b] check-in: [ef0e40e8] user: danielk1977 branch: trunk, size: 222969 | |
09:47 | Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912) file: [5e3f2556] check-in: [04715364] user: danielk1977 branch: trunk, size: 222914 | |
00:22 | Removed the direct btree tests - part of the ongoing effort to test by calling only public interfaces. Modify the sqlite3VdbeRecordCompare interface to used a pre-parsed second key - resulting in a 13% performance improvement on speed1p.test. (CVS 4911) file: [984962aa] check-in: [0e1d84f2] user: drh branch: trunk, size: 222870 | |
2008-03-23
| ||
00:20 | Remove redundant tests from the reparenter in the btree module. (CVS 4909) file: [15424f41] check-in: [a807e718] user: drh branch: trunk, size: 223669 | |
2008-03-20
| ||
11:04 | Allow a VACUUM operation to change the page-size in the same way as it can be used to change a database between auto-vacuum and normal mode. (CVS 4896) file: [77304a20] check-in: [871df0e7] user: danielk1977 branch: trunk, size: 223728 | |
2008-03-04
| ||
17:45 | Various renames & cleanups to limit exported symbols on amalgamation build (CVS 4819) file: [439e2684] check-in: [9c6694bb] user: mlcreech branch: trunk, size: 218146 | |
2008-02-19
| ||
14:59 | Use 16-bit integers for indexing within a page in btree. Tighter bounds on the maximum number of cells within one page. (CVS 4796) file: [134a152a] check-in: [8fdbe4ab] user: drh branch: trunk, size: 218143 | |
2008-01-31
| ||
14:54 | Fix assertion fault in sqllimits1.test encountered when auto_vacuum is enabled. Correct the sqllimit1 tests to account for extra pages inserted by auto_vacuum. (CVS 4759) file: [29ea5771] check-in: [9b207d1a] user: drh branch: trunk, size: 218163 | |
2008-01-19
| ||
23:50 | Additional test coverage improvements. Test coverage now stands at 98.73%. (CVS 4731) file: [a3125bd5] check-in: [010f7b78] user: drh branch: trunk, size: 218102 | |
2008-01-02
| ||
11:50 | Take advantage of the fact that b-tree cursors need not be closed while other cursors modify their tables to simplify trigger program generation code. (CVS 4654) file: [5164b329] check-in: [f1966a8a] user: danielk1977 branch: trunk, size: 218061 | |
2008-01-01
| ||
06:19 | Silence a harmless unitialised variable warning in btree.c. Ticket #2862. (CVS 4650) file: [6c3ded4f] check-in: [b51782cc] user: danielk1977 branch: trunk, size: 218014 | |
2007-12-21
| ||
04:47 | Fix for #2854. "BEGIN EXCLUSIVE" excludes other shared cache users from using the database. (CVS 4642) file: [bef8ceec] check-in: [2e59b1d0] user: danielk1977 branch: trunk, size: 218187 | |
2007-12-13
| ||
21:54 | Change all instances of "it's" in comments to either "its" or "it is", as appropriate, in case the comments are ever again read by a pedantic grammarian. Ticket #2840. (CVS 4629) file: [10cc2401] check-in: [4e91a267] user: drh branch: trunk, size: 217483 | |
2007-12-07
| ||
18:55 | In shared-cache mode, make sure the busy hander invoked is the busy handler associated with the database connection that caused the lock contention in the first place. (CVS 4598) file: [45c65b60] check-in: [c9eb6591] user: drh branch: trunk, size: 217488 | |
2007-11-28
| ||
16:19 | Change the BTree so that it uses the Pagers temporary page space when reorganizing the rows on a page, rather than mallocing for space of its own. In this way, we avoid having to deal with a malloc failure deep down inside the page reorganizer. Ticket #2806 (CVS 4577) file: [c5844bb4] check-in: [98960132] user: drh branch: trunk, size: 217195 | |
2007-11-05
| ||
15:30 | Fix some minor problems with malloc failure and in-memory databases. (CVS 4527) file: [008ce6b6] check-in: [b752906e] user: danielk1977 branch: trunk, size: 217259 | |
2007-10-16
| ||
19:45 | A cosmetic changes to btree.c which (we are told) works around a bug in MSVC++. (CVS 4491) file: [1212c516] check-in: [329dd014] user: drh branch: trunk, size: 217270 | |
2007-10-03
| ||
08:46 | Add automatic recovery from the pager "error-state". Also add a new error code - SQLITE_IOERR_NOMEM. (CVS 4454) file: [a491c45b] check-in: [12eca32a] user: danielk1977 branch: trunk, size: 217260 | |
2007-09-17
| ||
07:02 | Add a parameter to specify the size of the output buffer passed to xGetTempname() and xFullPathname(). This, and the previous commit, are changes to the public vfs API introduced in 3.5.0. (CVS 4433) file: [ed7c4825] check-in: [8b29f5fb] user: danielk1977 branch: trunk, size: 217311 | |
2007-09-12
| ||
17:01 | Fixes for compilation/testing when the various OMIT macros are defined. (CVS 4423) file: [ac94b8a9] check-in: [c8405b15] user: danielk1977 branch: trunk, size: 217253 | |
2007-09-07
| ||
14:32 | Fix a segfault that could occur while attempting to add new pages to the freelist in a corrupt database. (CVS 4414) file: [30f7efaf] check-in: [c8e85fff] user: drh branch: trunk, size: 217207 | |
2007-09-06
| ||
23:39 | Throw an error on an attempt to open a database where the page size is larger than SQLITE_MAX_PAGE_SIZE. Ticket #2628. (CVS 4411) file: [9d684690] check-in: [4881f7cb] user: drh branch: trunk, size: 217140 | |
22:19 | Allocate page cache headers and page cache data buffers separately. The data buffer will be a power of two in size and this gives some malloc implementation additional optimization opportunitites. (CVS 4409) file: [f37796c6] check-in: [2b755def] user: drh branch: trunk, size: 217063 | |
2007-09-03
| ||
22:00 | Fix btree.c so that it works with -DSQLITE_THREADSAFE=0 and -DSQLITE_DEBUG=1 (CVS 4387) file: [b1e8025a] check-in: [fee2d7c0] user: drh branch: trunk, size: 217023 | |
15:19 | Honor the SQLITE_OPEN_ flags passed into sqlite3_open_v2(). Some test cases added but more are needed. Ticket #2616. (CVS 4376) file: [bc7d8565] check-in: [020a2b10] user: drh branch: trunk, size: 216935 | |
2007-08-30
| ||
01:19 | Fix for the sqlite3AbortOtherActiveVdbes() problem. (CVS 4328) file: [f22955f6] check-in: [e40d40a5] user: drh branch: trunk, size: 216823 | |
2007-08-29
| ||
19:15 | Fix minor problems on various tests. This is a snapshot prior to possible major changes in order to fix the sqlite3AbortOtherActiveVdbes problem. (CVS 4327) file: [91b362f7] check-in: [35cb63ec] user: drh branch: trunk, size: 215396 | |
17:43 | Improvements to mutex asserts. The quick test runs to completion without assertion faults. (CVS 4324) file: [ff821439] check-in: [2732af0e] user: drh branch: trunk, size: 215428 | |
12:31 | Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) file: [7079a423] check-in: [e38ef81b] user: danielk1977 branch: trunk, size: 215056 | |
04:00 | Better asserts(). But now some of the tests are busted again. (CVS 4320) file: [f9ea7d1e] check-in: [e8060f85] user: drh branch: trunk, size: 214985 | |
2007-08-28
| ||
23:28 | The shared_err test runs with no errors. But a potential deadlock has been discovered and is still unfixed. (CVS 4317) file: [0241f797] check-in: [f84550be] user: drh branch: trunk, size: 216480 | |
22:24 | Clean up the locking in the btree logic. (CVS 4316) file: [8796aa42] check-in: [967ab229] user: drh branch: trunk, size: 216354 | |
02:27 | Work toward correct btree locking in a multithreaded environment. (CVS 4307) file: [850cd5de] check-in: [b8cc493b] user: drh branch: trunk, size: 215422 | |
2007-08-24
| ||
11:52 | Select the default page size for new databases based on the sector-size and IOCAP flags. (CVS 4286) file: [dbb8ec48] check-in: [13dda2e8] user: danielk1977 branch: trunk, size: 218768 | |
03:51 | The win32 driver compiles but does not yet work well. Many bugs fixed. (CVS 4282) file: [fe9d292c] check-in: [3a68fcdd] user: drh branch: trunk, size: 218745 | |
2007-08-23
| ||
02:47 | Improvements to memory leak detection. The --backtrace=NNN option is now recognized by tester.tcl. Memory leak summaries are automatically written to the file ./memleak.txt and each leak is tagged with the test in which it occurred. The quick.test script runs on Linux with no errors and no leaks. (CVS 4273) file: [8fa6341b] check-in: [21f6b310] user: drh branch: trunk, size: 218745 | |
2007-08-22
| ||
11:41 | Get the quick.test script running with SQLITE_THREADSAFE enabled. (CVS 4269) file: [1e189c3a] check-in: [1f28b7e4] user: drh branch: trunk, size: 218621 | |
02:56 | A complete run of quick.test with mutex debugging enabled. (CVS 4266) file: [3e935a30] check-in: [783e07d5] user: drh branch: trunk, size: 218689 | |
00:39 | Reenable the memory management logic. The quick.test script now runs with SQLITE_MEMDEBUG and SQLITE_ENABLE_MEMORY_MANAGEMENT. 7 minor errors. (CVS 4265) file: [e35f1d7d] check-in: [1914044b] user: drh branch: trunk, size: 218401 | |
2007-08-21
| ||
19:33 | The sqlite3_value object now carries an sqlite3* pointer to use for recording malloc failures. This eliminates the need to pass sqlite3* pointers into many internal interfaces. Also added more mutexing. (CVS 4263) file: [4cfe2fe8] check-in: [92872761] user: drh branch: trunk, size: 218396 | |
13:11 | Avoid journalling an extra page when a btree insert operation uses the 'quick-balance' trick. (CVS 4257) file: [8e529f39] check-in: [0da48209] user: danielk1977 branch: trunk, size: 218255 | |
2007-08-20
| ||
23:50 | The quick test runs again with a handfull of errors after adding the mutex locks to btree, the VFS registration interfaces, and FTS3. (CVS 4254) file: [9460e9ad] check-in: [6cf725d2] user: drh branch: trunk, size: 218004 | |
22:48 | Work toward multithreading support. Currently crashes quickly on a test. (CVS 4253) file: [ae710a86] check-in: [1315bd8e] user: drh branch: trunk, size: 218000 | |
13:14 | Bug fix in BTree shared cache locking code. (CVS 4246) file: [f8a04f35] check-in: [399d3e75] user: drh branch: trunk, size: 208060 | |
2007-08-17
| ||
16:50 | Remove some old OsFile and IoMethod related code. Add the sqlite3OsLockState function. (CVS 4241) file: [f00ed30c] check-in: [08a0f480] user: danielk1977 branch: trunk, size: 208102 | |
15:53 | Begin migration to using sqlite3_vfs interface. (CVS 4240) file: [c4e563b8] check-in: [af3e3c7a] user: danielk1977 branch: trunk, size: 208035 | |
01:14 | Begin adding mutexes. Compiles without SQLITE_OMIT_SHARED_CACHE but we get an assertion fault on the shared cache testing. (CVS 4239) file: [409e7362] check-in: [4c1e9ffe] user: drh branch: trunk, size: 207954 | |
2007-08-16
| ||
10:09 | More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) file: [f371e9d7] check-in: [77b16713] user: danielk1977 branch: trunk, size: 202288 | |
04:30 | Half-way through a major refactoring of the memory allocation. I have not even attempted to compile so I am certain there are countless errors. (CVS 4231) file: [1f7c0098] check-in: [deb7ecd6] user: drh branch: trunk, size: 202265 | |
2007-08-14
| ||
13:20 | Back-port critical soft heap limit fixes to version 3.3.17. The following check-ins were back-ported: (4031), (4037), (4097), (4202), (4203), (4207), (4208), (4214). (CVS 4222) file: [4b987e7a] check-in: [f0029da3] user: drh branch: branch_3_3_17, size: 217291 | |
2007-08-13
| ||
14:56 | Fix a page leak in btree balance routines that follows a malloc failure. This problem detected by the new soft-heap-limit testing. (CVS 4214) file: [be3f7d6d] check-in: [bad661bb] user: drh branch: trunk, size: 202179 | |
2007-08-07
| ||
17:13 | Remove all tabs from source code files. Ticket #2556. (CVS 4198) file: [b7141f51] check-in: [7550dd1d] user: drh branch: trunk, size: 202229 | |
2007-08-05
| ||
23:52 | Fix some compiler warnings. (CVS 4196) file: [c7b7e952] check-in: [6cc15409] user: drh branch: trunk, size: 202208 | |
2007-07-23
| ||
19:26 | Check the return value of sqlite3PagerWrite() when autovacuuming. Ticket #2524. (CVS 4176) file: [53c6108f] check-in: [b4a5c62b] user: drh branch: trunk, size: 202182 | |
2007-06-26
| ||
01:04 | Try to work around an MSVC compiler bug. Ticket #2457. (CVS 4126) file: [c1cc6660] check-in: [4a7079a1] user: drh branch: trunk, size: 202177 | |
2007-06-25
| ||
08:16 | Make the auto_vacuum mode peristent in all cases. (CVS 4115) file: [4a282b7f] check-in: [5b0408dd] user: danielk1977 branch: trunk, size: 201422 | |
2007-06-24
| ||
10:14 | Make setting "PRAGMA auto_vacuum = incremental" persistent if it is executed before the database file is created. (CVS 4113) file: [63d40146] check-in: [c666fad1] user: danielk1977 branch: trunk, size: 201314 | |
2007-06-20
| ||
15:14 | Remove an unused variable from btree.c. (CVS 4102) file: [ca4f2d5c] check-in: [cb47a829] user: drh branch: trunk, size: 201146 | |
2007-05-24
| ||
09:20 | Fix a page reference leak that could occur after an IO error. (CVS 4036) file: [bde03df9] check-in: [d00c8242] user: danielk1977 branch: trunk, size: 201173 | |
07:47 | Remove an incorrect assert() statement that was being triggered by ioerr tests run in utf-16 mode. (CVS 4035) file: [f2839925] check-in: [c6575173] user: danielk1977 branch: trunk, size: 201163 | |
07:22 | Fix an assert() failure occuring in corrupt.test. (CVS 4034) file: [125ff88b] check-in: [3c54cddf] user: danielk1977 branch: trunk, size: 201209 | |
2007-05-23
| ||
13:34 | Fix a leaked page reference that could occur after an IO error in auto-vacuum databases. Also modify incrvacuum.test to work with DEFAULT_AUTOVACUUM=1 builds. (CVS 4031) file: [7e3d0c6a] check-in: [e691f2fa] user: danielk1977 branch: trunk, size: 201132 | |
09:52 | Fix a database corrupting bug in the optimistic overflow chain. Exposed by running bigrow.test with auto-vacuum enabled. (CVS 4030) file: [8b39c5aa] check-in: [10ee2d50] user: danielk1977 branch: trunk, size: 201174 | |
2007-05-17
| ||
18:28 | Change the way overflow pages are allocated from the free-list to increase the chance that they are a contiguous block. Much more can still be done. (CVS 4023) file: [9179039d] check-in: [b7391892] user: danielk1977 branch: trunk, size: 200752 | |
2007-05-16
| ||
17:28 | Change a few selected functions to macros to speed things up. (CVS 4015) file: [911798b9] check-in: [93f811ec] user: danielk1977 branch: trunk, size: 200482 | |
2007-05-12
| ||
10:41 | Fix another variant of the "IN (...)" b-tree problem. (CVS 3988) file: [0c2f9b06] check-in: [260338c4] user: danielk1977 branch: trunk, size: 199998 | |
09:30 | Fix an obscure b-tree bug that applied to transient trees used for IN(...) expressions. (CVS 3987) file: [f24b394e] check-in: [96c7232f] user: danielk1977 branch: trunk, size: 199859 | |
2007-05-08
| ||
21:45 | Remove compiler warnings in the amalgamation. (CVS 3960) file: [ec0943dd] check-in: [c5754530] user: drh branch: trunk, size: 199099 | |
14:51 | Add the max_page_count pragma used to limit the maximum size of a database file. Untested. (CVS 3948) file: [dca996d4] check-in: [b1b74f06] user: drh branch: trunk, size: 199510 | |
2007-05-05
| ||
18:39 | Factor out btree test logic into a separate test_btree.c file. (CVS 3928) file: [6d3db641] check-in: [d51274f1] user: drh branch: trunk, size: 199202 | |
11:48 | Refactoring. Split btreeInt.h off from btree.c. Split malloc.c off from util.c. Expect much more to follow. (CVS 3925) file: [7311696f] check-in: [16041116] user: drh branch: trunk, size: 204611 | |
2007-05-04
| ||
19:03 | Fix compilation and testing with OMIT_INCRBLOB defined. (CVS 3923) file: [1bd7820b] check-in: [a0f8adc6] user: danielk1977 branch: trunk, size: 229102 | |
18:36 | Test interaction of incremental io and other database writes. (CVS 3922) file: [d01ab360] check-in: [4516416b] user: danielk1977 branch: trunk, size: 229066 | |
13:15 | Eliminate all uses of sprintf() and strcpy(). These were not being misused. But getting rid of them removes a library dependency. And it avoids warnings from the OpenBSD compiler. Ticket #2336. (CVS 3916) file: [ebf16f19] check-in: [ba4845b3] user: drh branch: trunk, size: 229064 | |
12:05 | Test cases and corrections to IO and malloc() error handling in incremental blob IO functions. (CVS 3915) file: [a47fe817] check-in: [641e5528] user: danielk1977 branch: trunk, size: 228910 | |
08:32 | Rework accessPayload() function for clarity. (CVS 3912) file: [b88c9265] check-in: [42d07c70] user: danielk1977 branch: trunk, size: 229002 | |
2007-05-03
| ||
13:11 | Fix a bug where accessPayload() was calling PagerWrite() on the wrong page handle. Ticket #2332. (CVS 3906) file: [1f75491c] check-in: [cf9eeba7] user: danielk1977 branch: trunk, size: 226341 | |
11:43 | Minor bugfixes for incrblob mode. (CVS 3903) file: [ae379266] check-in: [db54a946] user: danielk1977 branch: trunk, size: 226348 | |
2007-05-02
| ||
17:54 | Allow CREATE TABLE to occur while other queries are running. DROP TABLE is still prohibited, however, since we do not want to delete a table out from under an running query. (CVS 3902) file: [a84c848e] check-in: [5b4bf1fc] user: drh branch: trunk, size: 226335 | |
17:48 | Combine the internal btree functions BtreePutData() and getPayload(). (CVS 3901) file: [ecd0a02c] check-in: [a100a530] user: danielk1977 branch: trunk, size: 226671 | |
16:48 | Cache the location of overflow pages in cursors used for incremental blob IO. (CVS 3899) file: [4efb50fa] check-in: [349f1ea7] user: danielk1977 branch: trunk, size: 228200 | |
13:16 | Use the pointer-map pages to make the incremental blob API more efficient. (CVS 3896) file: [0b2c181e] check-in: [93a3bf71] user: danielk1977 branch: trunk, size: 225634 | |
01:34 | Begin adding the zeroblob API to support incremental blob i/o. (CVS 3894) file: [4e0735d1] check-in: [7a01836d] user: drh branch: trunk, size: 221763 | |
2007-05-01
| ||
17:49 | First approximation of incremental blob IO API. (CVS 3892) file: [80814622] check-in: [c444836e] user: danielk1977 branch: trunk, size: 221500 | |
2007-04-30
| ||
16:55 | Try to avoid reading pages when moving overflow chains to the free-list. (CVS 3886) file: [abdbd026] check-in: [8cccec68] user: danielk1977 branch: trunk, size: 220218 | |
2007-04-28
| ||
15:47 | Add some tests (and 2 resulting bug fixes) to incr vacuum mode. (CVS 3885) file: [066ca573] check-in: [89b1b3f8] user: danielk1977 branch: trunk, size: 219001 | |
2007-04-27
| ||
07:05 | Modifications to btree integrity check so that it can be run inside a transaction after an incr vacuum. (CVS 3878) file: [1e9261de] check-in: [4d4180d6] user: danielk1977 branch: trunk, size: 218564 | |
2007-04-26
| ||
14:42 | Add largely untested code for the incremental vacuum function. (CVS 3876) file: [d08db3a8] check-in: [f6a6d2b8] user: danielk1977 branch: trunk, size: 218476 | |
2007-04-24
| ||
17:35 | This fixes a missed case in check-in (3866). Do not apply patch (3866) without also applying this patch. (CVS 3867) file: [960bf64b] check-in: [66c2fa08] user: drh branch: trunk, size: 217337 | |
17:27 | When the write_version flag in the database header is larger than what the library understands, make the database read-only. The old behavior was to make the database unreadable. (CVS 3866) file: [16119ce5] check-in: [10648e99] user: drh branch: trunk, size: 217266 | |
2007-04-19
| ||
00:24 | Get the build working with SQLITE_OMIT_SHARED_CACHE. Ticket #2307. (CVS 3857) file: [bed25c6a] check-in: [b623538c] user: drh branch: trunk, size: 217143 | |
2007-04-13
| ||
02:14 | Fix multiple performance regressions (ticket #2298 among them) and add tests to make sure they do not come back. (CVS 3839) file: [2023a837] check-in: [32bb2d58] user: drh branch: trunk, size: 217305 | |
2007-04-09
| ||
12:45 | Fix an obscure pager refcnt leak that occurs following a transient I/O error. (CVS 3829) file: [7adc16a1] check-in: [ce6f56ec] user: drh branch: trunk, size: 216217 | |
2007-04-07
| ||
15:03 | For filesystem databases, do not store a list of pages in the statement journal in main memory. (CVS 3825) file: [ea98c554] check-in: [0af764a0] user: danielk1977 branch: trunk, size: 216298 | |
2007-04-06
| ||
15:02 | Binary file I/O infrastructure added and used to increase test coverage for detection of corrupt database files. (CVS 3822) file: [5a0f4258] check-in: [479b3d96] user: drh branch: trunk, size: 215866 | |
01:03 | Make sure the sqlite3BtreePrevious() routine terminates properly if the table is deleted out from under it. Ticket #2286. This bug was discovered while trying to increase test coverage from 98.5% to 99% - once again showing the value of full coverage testing. (CVS 3818) file: [27299eba] check-in: [bebf8d2f] user: drh branch: trunk, size: 215850 | |
2007-04-02
| ||
05:07 | Fix a resource leak introduced by the change-counter optimisation. Also add some test coverage. (CVS 3790) file: [48fa58f2] check-in: [ba0538a4] user: danielk1977 branch: trunk, size: 215778 | |
2007-03-31
| ||
02:36 | Fix a large memory leak in the btree layer that occurs following an I/O error when in shared cache mode. (CVS 3776) file: [052d0306] check-in: [dce4cb84] user: drh branch: trunk, size: 215524 | |
2007-03-30
| ||
20:43 | Remove vestiges of the SQLITE_PROTOCOL error. (CVS 3773) file: [ef4a874b] check-in: [6dfd4a12] user: drh branch: trunk, size: 215413 | |
14:06 | Refactoring the btree and pager routines into distinct two-phase commit routines. We've always done a two-phase commit - this change is just making that more apparent in the code. (CVS 3762) file: [931d8d6e] check-in: [66b3ad09] user: drh branch: trunk, size: 215486 | |
11:12 | Comment changes in btree.c and added a missing "else" in pragma.c. (CVS 3757) file: [9b41229e] check-in: [9a7d7e31] user: drh branch: trunk, size: 215243 | |
2007-03-29
| ||
05:51 | Change BtreeMoveto so that it can be biased to the right or to the center. Use a right bias when appending and a center bias when searching. This gives about a 15% reduction in calls to sqlite3VdbeRecordCompare. (CVS 3741) file: [6619f15c] check-in: [ad4a6b1a] user: drh branch: trunk, size: 214038 | |
04:43 | Bias the b-tree binary search toward the high end. The common case is to append data and this heuristic makes append run much faster because there are fewer comparisons. (CVS 3740) file: [434a3584] check-in: [a9877f61] user: drh branch: trunk, size: 213608 | |
2007-03-27
| ||
14:05 | Fix off-by-one errors in the header comments of btree.c. Ticket #2272. (CVS 3726) file: [27e62fc5] check-in: [a70ea720] user: drh branch: trunk, size: 213689 | |
2007-03-26
| ||
22:05 | Modify sources to that they can be combined into a single sqlite3.c source file. Eliminate all type-pruned pointer warnings. (CVS 3722) file: [0659070e] check-in: [0b832e21] user: drh branch: trunk, size: 213693 | |
2007-03-19
| ||
17:44 | Modify the interface to the pager sub-system in preparation for performing IO in blocks based on sector-size, not database page-size. (CVS 3705) file: [4d94251b] check-in: [7dc76588] user: danielk1977 branch: trunk, size: 213646 | |
11:54 | Fix a comment in btree.c (CVS 3702) file: [f5278b44] check-in: [05700c11] user: drh branch: trunk, size: 212983 | |
11:25 | Changes to support medium sector sizes larger than the database page size. (CVS 3701) file: [4336ada7] check-in: [3a3e8eb2] user: danielk1977 branch: trunk, size: 213521 | |
2007-03-06
| ||
15:53 | Fixes to the overflow-chain optization of (3672). (CVS 3674) file: [f5c1b3d8] check-in: [d6986d1e] user: drh branch: trunk, size: 213511 | |
11:42 | Do not read the last page of a overflow chain when deleting that chain. Just add the page to the freelist. This reduces I/O. (CVS 3672) file: [d42d2b63] check-in: [6db945f7] user: drh branch: trunk, size: 213291 | |
2007-03-04
| ||
13:15 | Changes to the btree and pager that reduce the amount of I/O when dealing with the freelist. (1) Avoid journaling pages of a table that is being deleted. (2) Do not read the original content of pages being pulled off of the freelist. (CVS 3671) file: [866536a3] check-in: [2ba5be31] user: drh branch: trunk, size: 213039 | |
2007-02-10
| ||
19:22 | Changes to support fragmentation analysis in sqlite3_analyzer. (CVS 3634) file: [4d4bef16] check-in: [bd6bc3b8] user: drh branch: trunk, size: 213026 | |
2007-01-27
| ||
02:24 | Limit the number of errors returned by PRAGMA integrity_check to 100 by default. Specify an alternative limit using an argument to the pragma. Ticket #2176. (CVS 3609) file |