/ History for src/btree.c
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for src/btree.c

2020-09-25
13:56
[fb797065] part of check-in [78d8db7c] More classification of functions. Fix incorrect comment that sqlite3BtreeCursorHasHint() is only used within asserts. (check-in: [78d8db7c] user: shearer branch: btree-code-documentation, size: 372488)
2020-09-16
16:45
[73a3e74e] part of check-in [61981b97] Fix a tsan error that could occur when using shared-cache mode. (check-in: [61981b97] user: dan branch: branch-3.33, size: 372252)
2020-09-04
19:10
[1fbb15cf] part of check-in [de80bc87] Fix a tsan error that could occur when using shared-cache mode. (check-in: [de80bc87] user: dan branch: trunk, size: 372478)
2020-08-31
18:49
[87f2c3f1] part of check-in [dca5b919] New test-control that returns the number of calls to sqlite3BtreeMovetoUnpacked() on the main database and then resets the counter. This only works for SQLITE_DEBUG builds. (check-in: [dca5b919] user: drh branch: trunk, size: 372491)
2020-08-25
19:09
[634381c8] part of check-in [ad195e3d] Add support for the sqlite3_txn_state() interface. (check-in: [ad195e3d] user: drh branch: trunk, size: 372196)
2020-08-11
14:06
[abc4d4ef] part of check-in [3ee73880] Update this branch with latest from begin-concurrent-pnu. (check-in: [3ee73880] user: dan branch: begin-concurrent-report, size: 405625)
13:22
[868a8d10] part of check-in [ebefcb86] Merge all the latest changes into the begin-concurrent-pnu-wal2 branch. (check-in: [ebefcb86] user: drh branch: begin-concurrent-pnu-wal2, size: 391266)
11:34
[e0f00b5a] part of check-in [91262e66] Merge latest trunk changes into this branch. (check-in: [91262e66] user: dan branch: wal2, size: 372296)
2020-08-10
21:16
[869e74c2] part of check-in [ed4c742c] Merge recent trunk enhancements into begin-concurrent. (check-in: [ed4c742c] user: drh branch: begin-concurrent, size: 391243)
21:01
[1439fd9b] part of check-in [5bbd4bdd] Simplify #ifdefs associated with Parse.eParseMode. Fix an #ifdef error associated with SQLITE_OMIT_AUTOVACUUM. (check-in: [5bbd4bdd] user: drh branch: trunk, size: 372265)
2020-07-31
23:34
[9950163f] part of check-in [8cf342d4] Back out a NEVER() that turns out to be reachable. (check-in: [8cf342d4] user: drh branch: trunk, size: 372265)
17:08
[1d4dd533] part of check-in [ebd39665] Merge latest wal2 changes into this branch. (check-in: [ebd39665] user: dan branch: begin-concurrent-pnu-wal2, size: 391281)
16:01
[8a28f505] part of check-in [0c0d0a77] Merge latest trunk changes into this branch. (check-in: [0c0d0a77] user: dan branch: wal2, size: 372311)
02:07
[08f951b4] part of check-in [12bb75d9] Remove an ALWAYS() that turns out to be reachable. (check-in: [12bb75d9] user: drh branch: trunk, size: 372272)
2020-07-30
19:56
[9069ece2] part of check-in [fd01e788] Merge begin-concurrent-pnu changes into this branch. (check-in: [fd01e788] user: dan branch: begin-concurrent-report, size: 405640)
19:19
[d8388dad] part of check-in [e8a66515] Merge latest trunk changes into this branch. (check-in: [e8a66515] user: dan branch: begin-concurrent, size: 391258)
17:14
[56ec47e8] part of check-in [905752da] Fix unreachable branches. (check-in: [905752da] user: drh branch: larger-databases, size: 372280)
2020-07-29
16:18
[62f1c3a1] part of check-in [a80ae2c9] Dozens and dozens of typo fixes in comments. This change adds no value to the end product and is disruptive, so it is questionable whether or not it will ever land on trunk. (check-in: [a80ae2c9] user: drh branch: typos, size: 372151)
12:23
[e047029f] part of check-in [1d69eee8] Fix signed/unsigned compiler warnings. (check-in: [1d69eee8] user: drh branch: larger-databases, size: 372307)
2020-07-28
20:32
[398b6a2e] part of check-in [805bb67a] Earlier detection of out-of-range page numbers in the btree layer. (check-in: [805bb67a] user: drh branch: larger-databases, size: 372307)
2020-07-23
09:14
[312780d3] part of check-in [b5443b47] Merge support for partial integrity checks. (check-in: [b5443b47] user: drh branch: larger-databases, size: 372126)
00:45
[4bb684b2] part of check-in [65dd3214] Add the ability to do a PRAGMA integrity_check (or quick_check) on a single table by specifying the table name as the argument. (check-in: [65dd3214] user: drh branch: trunk, size: 372147)
2020-07-22
17:12
[a4720f51] part of check-in [4c5f3c6c] All TCL tests now passing. (check-in: [4c5f3c6c] user: drh branch: larger-databases, size: 371125)
13:38
[7c8eec73] part of check-in [9ce1710a] Continuing work toward supporting unsigned 32-bit page numbers. (check-in: [9ce1710a] user: drh branch: larger-databases, size: 371130)
2020-07-20
12:47
[21984273] part of check-in [9cb7da9b] Initial changes to allow database up to 281TB in size. (check-in: [9cb7da9b] user: drh branch: larger-databases, size: 371150)
2020-07-17
11:07
[f567a058] part of check-in [12a909fb] Bring this branch up to date with begin-concurrent-pnu. (check-in: [12a909fb] user: dan branch: begin-concurrent-report, size: 404445)
2020-07-16
20:57
[2897731a] part of check-in [2160ede1] Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions. (check-in: [2160ede1] user: dan branch: begin-concurrent-pnu-wal2, size: 390024)
20:39
[f420325b] part of check-in [e9393a18] Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions. (check-in: [e9393a18] user: dan branch: begin-concurrent-pnu, size: 390063)
20:10
[e1b94261] part of check-in [24eead92] Allow BEGIN CONCURRENT transactions to contain schema modifications. However, this causes them to conflict with all other transactions. (check-in: [24eead92] user: dan branch: mistake, size: 389993)
2020-07-14
12:40
[b8b0e80c] part of check-in [f25a56c2] Early detection of freelist size corruption in incremental vacuum. (check-in: [f25a56c2] user: drh branch: trunk, size: 371147)
2020-07-11
16:42
[e8a64df5] part of check-in [30735432] Improved detection of a corrupt database schema. Fix for a problem discovered by dbsqlfuzz. (check-in: [30735432] user: drh branch: trunk, size: 371131)
2020-06-29
18:30
[e8e4a7e4] part of check-in [87c7d962] Change the name of IntegrityCk.mallocFailed to IntegrityCk.bOomFault to avoid confusion with the sqlite3 object field with the same name. (check-in: [87c7d962] user: drh branch: trunk, size: 371041)
2020-06-19
15:24
[b49799f0] part of check-in [7a876209] Extend the refactoring into extensions. Clean up stray newlines. (check-in: [7a876209] user: drh branch: trunk, size: 371059)
13:33
[fe9c4c68] part of check-in [9536fa0a] Further refactoring of the schema table name. (check-in: [9536fa0a] user: drh branch: trunk, size: 371051)
11:34
[d9d7813a] part of check-in [7bb08b1b] Refactoring various names. No changes in the resulting machine code. (check-in: [7bb08b1b] user: drh branch: trunk, size: 371051)
2020-06-18
13:16
[70129047] part of check-in [b69b9c06] Fix an assert() that could fail when operating on a database with a corrupt schema. (check-in: [b69b9c06] user: drh branch: branch-3.32, size: 371059)
2020-06-17
20:29
[e6db473a] part of check-in [4a340c9b] Fix an assert() that could fail when operating on a database with a corrupt schema. (check-in: [4a340c9b] user: dan branch: trunk, size: 371059)
2020-06-15
20:27
[f3a4479b] part of check-in [61782a7a] Provide "sqlite_schema" as an alternative name to the table that holds the database schema. (check-in: [61782a7a] user: drh branch: trunk, size: 371020)
2020-06-12
00:31
[fabc215b] part of check-in [44e573ec] Remove a NEVER() that turns out to be reachable. (check-in: [44e573ec] user: drh branch: trunk, size: 371020)
2020-05-18
19:55
[61260c56] part of check-in [5dc355cc] Merge latest trunk changes into this branch. (check-in: [5dc355cc] user: dan branch: begin-concurrent-pnu-wal2, size: 389927)
17:18
[8977eed0] part of check-in [16b1eca9] Merge latest trunk changes into this branch. (check-in: [16b1eca9] user: dan branch: wal2, size: 371058)
16:19
[9cdd780b] part of check-in [c69f030b] Merge recent changes from trunk. (check-in: [c69f030b] user: drh branch: begin-concurrent-pnu, size: 389966)
15:41
[0f2b08c7] part of check-in [9e4a7b3e] Merge latest trunk changes into this branch. (check-in: [9e4a7b3e] user: dan branch: begin-concurrent, size: 389896)
2020-05-07
14:26
[f14e415f] part of check-in [49e4dc72] Fix an error that could occur if the first transaction executed by a connection configured to use blocking locks is a write-transaction for which the WRITER lock cannot be obtained. (check-in: [49e4dc72] user: dan branch: setlk-deadlock-changes, size: 371027)
14:05
[d78458bf] part of check-in [ac4ee696] Merge trunk changes into this branch. (check-in: [ac4ee696] user: dan branch: setlk-deadlock-changes, size: 371025)
01:56
[b7b9b444] part of check-in [99749d4f] Fix the handling of reserve-bytes so that the maximum value of 255 can be used. (check-in: [99749d4f] user: drh branch: trunk, size: 370542)
2020-05-06
20:55
[a0f550b2] part of check-in [92dc5913] Fix harmless compiler warnings. (check-in: [92dc5913] user: drh branch: setlk-deadlock-changes, size: 371043)
20:27
[f0cd4a36] part of check-in [f3ef9c7c] Add error code SQLITE_BUSY_TIMEOUT, used internally by the OS layer to indicate that a call to xShmLock() has failed due to timeout of a blocking lock. (check-in: [f3ef9c7c] user: dan branch: setlk-deadlock-changes, size: 371108)
19:22
[98e6ff5f] part of check-in [22de99ef] Fix compiler warnings in non-SQLITE_ENABLE_SETLK_TIMEOUT builds. (check-in: [22de99ef] user: dan branch: setlk-deadlock-changes, size: 371013)
19:14
[4d5a7d22] part of check-in [105d6c9b] Block on the WRITER lock when attempting to run recovery. (check-in: [105d6c9b] user: dan branch: setlk-deadlock-changes, size: 371007)
15:07
[e810b07f] part of check-in [a3727dba] Merge latest trunk changes into this branch. (check-in: [a3727dba] user: dan branch: setlk-deadlock-changes, size: 370949)
2020-05-05
20:30
[2a152165] part of check-in [d6f819a9] Unless upgrading an existing read transaction, have ENABLE_SETLK_TIMEOUT builds attempt to use a blocking lock when opening a write transaction on a wal mode database. (check-in: [d6f819a9] user: dan branch: setlk-deadlock-changes, size: 370942)
19:54
[079ae874] part of check-in [9a84d8eb] The only known path to a corruption detection branch was cut off by the previous commit implementing earlier index corruption. So make the branch NEVER. Maybe a fuzzer will find a new path. (check-in: [9a84d8eb] user: drh branch: trunk, size: 370560)
2020-05-04
19:42
[54d404ff] part of check-in [553423c2] Changes to avoid deadlock in SQLITE_ENABLE_SETLK_TIMEOUT builds. (check-in: [553423c2] user: dan branch: setlk-deadlock-changes, size: 370508)
2020-05-01
15:04
[3383ad76] part of check-in [2100b2c8] Merge recent trunk enhancements. (check-in: [2100b2c8] user: drh branch: approximate-analyze, size: 370553)
2020-04-22
00:50
[02376eb7] part of check-in [52a6acca] Clarify the comment on the sqlite3BtreeGetRequestedReserve() routine. No changes to code. (check-in: [52a6acca] user: drh branch: trunk, size: 370591)
2020-04-20
15:18
[97673c54] part of check-in [abc1aad7] The SQLITE_TESTCTRL_RESERVE operator is removed. In its place is the more general SQLITE_FCNTL_RESERVE_BYTES which is an API and which can operator on more than just the main schema. (check-in: [abc1aad7] user: drh branch: trunk, size: 370394)
14:05
[671be078] part of check-in [4135cb02] Remove an obsolete comment. No changes to code. (check-in: [4135cb02] user: drh branch: trunk, size: 370276)
2020-04-09
19:00
[f35d8d49] part of check-in [6c11b67b] Merge recent trunk changes into begin-concurrent-pnu-wal2. (check-in: [6c11b67b] user: drh branch: begin-concurrent-pnu-wal2, size: 389332)
18:51
[bb7cf288] part of check-in [d6fda470] Merge recent trunk changes into the apple-osx branch. (check-in: [d6fda470] user: drh branch: apple-osx, size: 370646)
18:46
[05522a88] part of check-in [6fb87062] Merge recent trunk enhancements into the wal2 branch. (check-in: [6fb87062] user: drh branch: wal2, size: 370461)
18:29
[73d4dabe] part of check-in [92f71a88] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [92f71a88] user: drh branch: begin-concurrent, size: 389301)
2020-03-31
18:41
[25e062b1] part of check-in [c705ce26] Merge recent enhancements from trunk. (check-in: [c705ce26] user: drh branch: approximate-analyze, size: 370392)
2020-03-30
13:35
[79ce96ab] part of check-in [a49f8ec5] Use __atomic_load_n() and __atomic_store_n() for a few more things where they are available. (check-in: [a49f8ec5] user: dan branch: trunk, size: 370430)
2020-03-17
13:41
[f2e0c75c] part of check-in [a9bfa47a] Remove the SQLITE_OMIT_BTREECOUNT option. Btree count is required. (check-in: [a9bfa47a] user: drh branch: approximate-analyze, size: 370366)
2020-03-11
19:30
[df9c363c] part of check-in [b288bbd1] Add documentation notes and fix outstanding issues on this branch. (check-in: [b288bbd1] user: dan branch: begin-concurrent-report, size: 403852)
16:46
[fd245c43] part of check-in [724a4a84] Support reporting of blob fields. (check-in: [724a4a84] user: dan branch: begin-concurrent-report, size: 403545)
2020-03-10
21:14
[5bee9ee0] part of check-in [9ae970fd] Fix test and other problems with reporting pages read and written. (check-in: [9ae970fd] user: dan branch: begin-concurrent-report, size: 403391)
2020-03-09
21:00
[246757a9] part of check-in [b661ccc8] Report on pages, as well as keys, read and written by BEGIN CONCURRENT transactions. (check-in: [b661ccc8] user: dan branch: begin-concurrent-report, size: 403113)
2020-03-08
13:33
[7271a120] part of check-in [25dc53f6] Avoid a redundant NULL check (check-in: [25dc53f6] user: pdr branch: trunk, size: 370404)
2020-03-07
16:51
[8f8f1fa2] part of check-in [d28d1739] Fix reporting cases related to UPDATE. And of WITHOUT ROWID tables. (check-in: [d28d1739] user: dan branch: begin-concurrent-report, size: 401632)
2020-03-06
20:51
[43733638] part of check-in [1c1f180e] Enhancement to log logical writes as well as reads. (check-in: [1c1f180e] user: dan branch: begin-concurrent-report, size: 401608)
2020-03-05
20:59
[14a0d8c5] part of check-in [ab458a31] Fix reporting for indexed range scans that extend past the end of the data. (check-in: [ab458a31] user: dan branch: begin-concurrent-report, size: 400156)
2020-03-04
19:17
[205b2208] part of check-in [6ec5a899] Fix cases to do with index scans. (check-in: [6ec5a899] user: dan branch: begin-concurrent-report, size: 398848)
2020-03-03
21:01
[0ead4efa] part of check-in [427e2c9d] Extend begin_concurrent_report() so that it reports on accesses to non-intkey tables as well. (check-in: [427e2c9d] user: dan branch: begin-concurrent-report, size: 396636)
2020-03-02
21:00
[3db16367] part of check-in [ad961aee] Fix reporting for some range scan cases. (check-in: [ad961aee] user: dan branch: begin-concurrent-report, size: 394240)
15:05
[c6622891] part of check-in [b1880b18] Merge latest begin-concurrent-pnu changes with this branch. (check-in: [b1880b18] user: dan branch: begin-concurrent-report, size: 392927)
2020-02-18
23:58
[4dfab586] part of check-in [ee034fe9] Remove a NEVER() macro and add a test case to cause its argument to be true. (check-in: [ee034fe9] user: drh branch: trunk, size: 370399)
2020-02-07
01:12
[7cc1fb40] part of check-in [5a877221] Simplify the code by removing the unsupported and undocumented SQLITE_HAS_CODEC compile-time option (check-in: [5a877221] user: drh branch: trunk, size: 370406)
2020-02-04
20:22
[248e7a82] part of check-in [76668b55] Merge latest trunk/wal2 changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, with this branch. (check-in: [76668b55] user: dan branch: begin-concurrent-pnu-wal2, size: 389501)
20:11
[e42ef2a8] part of check-in [6ad4d6b7] Merge latest trunk changes into this branch. (check-in: [6ad4d6b7] user: dan branch: wal2, size: 370630)
20:08
[d4f73dbe] part of check-in [f253618a] Merge latest trunk changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, into this branch. (check-in: [f253618a] user: dan branch: begin-concurrent, size: 389470)
2020-01-29
13:50
[ff1af84c] part of check-in [ffd8bb93] Remove a NEVER() that is in fact reachable. Test cases in dbsqlfuzz and TH3. (check-in: [ffd8bb93] user: drh branch: trunk, size: 370599)
2020-01-21
21:01
[f24e74f4] part of check-in [c39e3c14] Begin adding instrumentation to record and report on the set of key-ranges a concurrent transaction reads from the database. (check-in: [c39e3c14] user: dan branch: begin-concurrent-report, size: 392934)
2020-01-15
14:21
[ff96ebfc] part of check-in [350627f3] Merge in the latest trunk changes via the begin-concurrent-pnu branch. (check-in: [350627f3] user: drh branch: begin-concurrent-pnu-wal2, size: 389508)
14:11
[dff80958] part of check-in [35eae71a] Merge recent enhancements and fixes from trunk. (check-in: [35eae71a] user: drh branch: wal2, size: 370637)
13:34
[cb9f45dd] part of check-in [95ba2f50] Merge fixes and enhancements from trunk into begin-concurrent. (check-in: [95ba2f50] user: drh branch: begin-concurrent, size: 389477)
12:49
[87013de9] part of check-in [dadedf41] Merge all recent enhancements and fixes from trunk into the apple-osx branch. (check-in: [dadedf41] user: drh branch: apple-osx, size: 370822)
2020-01-14
16:39
[7af5ff0f] part of check-in [54bf0481] Remove an ALWAYS on a branch for improved database corruption detection in btree.c:freeSpace(). Test case found by dbsqlfuzz. (check-in: [54bf0481] user: drh branch: trunk, size: 370606)
2020-01-07
18:10
[d70000b5] part of check-in [d7d98d3d] Fix a performance regression caused by the previous check-in. (check-in: [d7d98d3d] user: drh branch: trunk, size: 370588)
13:32
[68dc4906] part of check-in [03c1d75d] Add an "|| CORRUPT_DB" term to an assert() statement inside of btree. (check-in: [03c1d75d] user: drh branch: trunk, size: 370588)
2020-01-05
21:53
[ac383ca5] part of check-in [46f8ef70] Remove a NEVER in btree due to a new test case from dbsqlfuzz. (check-in: [46f8ef70] user: drh branch: trunk, size: 370564)
2020-01-04
17:55
[c457b6a9] part of check-in [481f4956] Remove another NEVER added by check-in [7b62555e285f32d3]. Dbsqlfuzz found another test case. (check-in: [481f4956] user: drh branch: trunk, size: 370545)
14:50
[615294ab] part of check-in [61f873b1] Back out another NEVER added by check-in [7b62555e285f32d3] - the test case was already in test/fuzzdata3.db, but it only occurs if compiled without SQLITE_ENABLE_PREUPDATE_HOOK. (check-in: [61f873b1] user: drh branch: trunk, size: 370552)
12:34
[71f8fade] part of check-in [04a05c83] Restore a NEVER and an assert in btree that was removed by check-in [7b62555e285f32d3]. Dbsqlfuzz found test cases. (check-in: [04a05c83] user: drh branch: trunk, size: 370559)
2020-01-03
17:40
[df0ec554] part of check-in [7b62555e] Add NEVER macros to error-detection branches that were made unreachable (as far as I can tell) by check-in [ceacc28b03580334]. (check-in: [7b62555e] user: drh branch: trunk, size: 370506)
15:51
[0eb5d02a] part of check-in [ceacc28b] Improve a specific case of early database corruption dectecion in the b-tree layer. (check-in: [ceacc28b] user: dan branch: trunk, size: 370420)
2019-12-29
22:08
[f191aa4d] part of check-in [db4b7e1d] Do not allow triggers that run as part of REPLACE conflict resolution during an UPDATE to modify the the table being updated. Otherwise, those triggers might delete content out from under the update operation, leading to all kinds of problems. Ticket [314cc133e5ada126] (check-in: [db4b7e1d] user: drh branch: trunk, size: 370427)
00:52
[e03085a7] part of check-in [21ef6e99] Add the OP_FinishSeek opcode which completes an OP_DeferredSeek if the seek has not already completed. Also add the sqlite3WhereUsesDeferredSeek() interface to the query planner. The UPDATE implementation adds an OP_FinishSeek before running the final OP_Insert if one is needed. Ticket [ec8abb025e78f40c] and also an assertion fault reported by Yongheng. (check-in: [21ef6e99] user: drh branch: trunk, size: 370060)
2019-12-23
18:02
[695bcbc6] part of check-in [61c22336] Early detection of database corruption in balance_deeper(). (check-in: [61c22336] user: drh branch: trunk, size: 370097)
2019-12-20
12:33
[716fc9bd] part of check-in [07beb362] Fix an assert() in btree.c that can fail if an INSERT is attempted on a corrupted database while in PRAGMA writable_schema=ON. (check-in: [07beb362] user: drh branch: trunk, size: 369084)
2019-11-22
00:42
[d22498af] part of check-in [6a64fb6a] 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. (check-in: [6a64fb6a] user: drh branch: trunk, size: 369055)
2019-11-17
11:47
[b4350767] part of check-in [ed57c48e] Fix an assert that can fail if the schema is corrupt. (check-in: [ed57c48e] user: drh branch: trunk, size: 368953)
2019-10-25
14:46
[12e251f8] part of check-in [ea068b09] Performance optimization in sqlite3BtreeCursor(). (check-in: [ea068b09] user: drh branch: trunk, size: 368873)
2019-10-11
14:21
[a8a9c2ce] part of check-in [bf875dc5] Faster response to sqlite3_interrupt() in the OP_IntegrityCk and OP_Count opcodes. (check-in: [bf875dc5] user: drh branch: trunk, size: 368315)
2019-09-16
12:29
[5de41f11] part of check-in [15593bf3] Bring the begin-concurrent-pnu-wal2 branch up to date with all the latest enhancements on trunk. (check-in: [15593bf3] user: drh branch: begin-concurrent-pnu-wal2, size: 387046)
12:23
[48b4ced9] part of check-in [da8bc974] Merge recent trunk enhancements into the wal2 branch. (check-in: [da8bc974] user: drh branch: wal2, size: 368175)
12:08
[50fc34cd] part of check-in [93b9ef3f] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [93b9ef3f] user: drh branch: begin-concurrent, size: 387015)
12:02
[fe7876b0] part of check-in [a95191de] Merge the latest changes from trunk into the apple-osx branch. (check-in: [a95191de] user: drh branch: apple-osx, size: 368360)
2019-08-24
21:02
[fdc4389b] part of check-in [d7434cae] Minor performance improvement for balance_nonroot(). (check-in: [d7434cae] user: dan branch: trunk, size: 368144)
20:59
[a1af850b] part of check-in [c88d42a9] Minor performance improvement to balance_nonroot(). (check-in: [c88d42a9] user: dan branch: mistake, size: 368176)
2019-08-15
13:17
[5cf99451] part of check-in [4cc5694c] Ensure that the cell overwrite optimization does not overwrite the header of the b-tree page. (check-in: [4cc5694c] user: drh branch: trunk, size: 368072)
00:04
[a6b6f473] part of check-in [b517a52f] 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. (check-in: [b517a52f] user: drh branch: trunk, size: 368002)
2019-08-12
18:26
[6061323b] part of check-in [7dae7b96] Make sure the btree cursor overflow cache is cleared when overwriting a cell in sqlite3BtreeInsert(). Ticket [3cf9bb227e9a5d32] (check-in: [7dae7b96] user: drh branch: trunk, size: 367934)
2019-08-08
01:39
[781e4594] part of check-in [30e6ee27] Remove a NEVER() that is reachable from a corrupt database. (check-in: [30e6ee27] user: drh branch: trunk, size: 367850)
2019-08-05
16:22
[397b5075] part of check-in [4b00799b] Improved detection of corruption on the freeblock list of a btree page. (check-in: [4b00799b] user: drh branch: trunk, size: 367857)
2019-08-03
01:39
[4f122e98] part of check-in [49aa3448] 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. (check-in: [49aa3448] user: drh branch: prng-seed-test-control, size: 367769)
2019-07-22
23:30
[af0a7159] part of check-in [9991626b] Do not use the insert-overwrite optimization if the cell might overwrite the page header. (check-in: [9991626b] user: drh branch: branch-3.29, size: 368066)
23:24
[58d002f7] part of check-in [f60a8306] Do not use the insert-overwrite optimization if the cell might overwrite the page header. (check-in: [f60a8306] user: drh branch: trunk, size: 367776)
2019-07-17
16:18
[4508402e] part of check-in [59c9e73f] Fix an incorrect assert() in balance_nonroot(). (check-in: [59c9e73f] user: drh branch: trunk, size: 367659)
2019-07-16
19:44
[83a4b1b7] part of check-in [9e664585] Add new assert() statements in an attempt to help static analyzers avoid false-positives. (check-in: [9e664585] user: drh branch: trunk, size: 368028)
2019-07-13
09:55
[0e30c986] part of check-in [c7920f55] Trivial performance improvement for balance(). (check-in: [c7920f55] user: dan branch: filter-clause, size: 367951)
2019-07-08
21:25
[62662509] part of check-in [08dcb459] Merge enhancments from wal2, which also merges trunk enhancements. (check-in: [08dcb459] user: drh branch: begin-concurrent-pnu-wal2, size: 386851)
21:19
[caaf623a] part of check-in [dcbcbc2a] Merge all enhancements from trunk into the wal2 branch. (check-in: [dcbcbc2a] user: drh branch: wal2, size: 367980)
21:06
[41ac7b8c] part of check-in [7fff0803] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [7fff0803] user: drh branch: begin-concurrent, size: 386820)
20:59
[b2baa0d7] part of check-in [de88ed86] Merge recent enhancements from trunk into apple-osx. (check-in: [de88ed86] user: drh branch: apple-osx, size: 368165)
2019-05-16
20:36
[1dbc191e] part of check-in [4b05caeb] 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. (check-in: [4b05caeb] user: drh branch: trunk, size: 367949)
2019-05-14
22:07
[bcd6ac1f] part of check-in [3deaa6e2] Merge the latest trunk and wal2 enhancements. (check-in: [3deaa6e2] user: drh branch: begin-concurrent-pnu-wal2, size: 386697)
22:02
[1c9c4801] part of check-in [23ec34e4] Merge the latest trunk enhancements into the wal2 branch. (check-in: [23ec34e4] user: drh branch: wal2, size: 367826)
21:51
[58ed4940] part of check-in [5d3a6e18] Merge the latest trunk enhancements into begin-concurrent. (check-in: [5d3a6e18] user: drh branch: begin-concurrent, size: 386666)
19:39
[53ccbd3e] part of check-in [40362d51] Merge recent enhancements from trunk into apple-osx. (check-in: [40362d51] user: drh branch: apple-osx, size: 368011)
2019-05-10
14:34
[5e15f903] part of check-in [e6d5fee8] Ensure that the BtShared.nPage value is reset correctly on a SAVEPOINT ROLLBACK. (check-in: [e6d5fee8] user: drh branch: trunk, size: 367795)
2019-05-08
23:55
[0a276df3] part of check-in [ebe4845c] 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. (check-in: [ebe4845c] user: drh branch: trunk, size: 367611)
04:33
[9177613e] part of check-in [ad8fc5d8] Remove an ALWAYS() that was previously added by check-in [a0819086] but which turns out can sometimes be false. (check-in: [ad8fc5d8] user: drh branch: trunk, size: 367596)
03:34
[fcfd6b96] part of check-in [74eba255] Remove a NEVER() that was added in the previous check-in [a0819086a521f] because it is in fact reachable. (check-in: [74eba255] user: drh branch: trunk, size: 367604)
00:17
[3fe1f1b3] part of check-in [a0819086] Earlier detections of errors in the byte-offset-to-cell-content integer at offset 5 in the header of a btree page. (check-in: [a0819086] user: drh branch: trunk, size: 367611)
2019-05-07
17:47
[096a98aa] part of check-in [8b6691f6] Strive to prevent harmless compiler warnings in GCC 4.8.5. (check-in: [8b6691f6] user: drh branch: trunk, size: 367577)
2019-05-02
15:56
[e048f240] part of check-in [c509d8a8] Earlier detection of a database corruption case in balance_nonroot(), to prevent a possible use of an uninitialized variable. (check-in: [c509d8a8] user: drh branch: trunk, size: 367539)
2019-04-22
11:47
[ffe71010] part of check-in [b2ce5ed1] Fix an assert() that may be false for corrupt databases. (check-in: [b2ce5ed1] user: dan branch: trunk, size: 367319)
2019-04-15
15:28
[024bdefd] part of check-in [1cd536ec] Merge all recent enhancements. (check-in: [1cd536ec] user: drh branch: begin-concurrent-pnu-wal2, size: 386237)
15:17
[2550761e] part of check-in [8950f119] Merge the latest trunk enhancements. (check-in: [8950f119] user: drh branch: wal2, size: 367366)
14:59
[380dce2f] part of check-in [7c328e88] Merge the latest enhancements from trunk. (check-in: [7c328e88] user: drh branch: begin-concurrent, size: 386206)
14:49
[917d4a49] part of check-in [378230ae] Bring in the latest enhancements from trunk. (check-in: [378230ae] user: drh branch: apple-osx, size: 367551)
2019-04-09
01:26
[958939f6] part of check-in [88204085] Use an unsigned integer to count free pages in btree.c:freePage2(). (check-in: [88204085] user: drh branch: trunk, size: 367335)
2019-04-02
00:34
[5a6023e4] part of check-in [0b35aebb] Merge enhancements from trunk. (check-in: [0b35aebb] user: drh branch: apple-osx, size: 367551)
2019-04-01
03:07
[d1261e5e] part of check-in [6cf8b18e] Fix harmless compiler warnings seen with MSVC. (check-in: [6cf8b18e] user: mistachkin branch: trunk, size: 367335)
2019-03-30
19:17
[0799c276] part of check-in [bb643bac] Add a call to sqlite3FaultSim(410) inside of btreeRestoreCursorPosition() to simplify testing of error scenarios. (check-in: [bb643bac] user: drh branch: trunk, size: 367331)
18:39
[0de9fec3] part of check-in [fb125bd3] The defragmentPage() routine detects corruption in the first-free-slot fields at offset 1 in the header and throws an error, rather than asserting. (check-in: [fb125bd3] user: drh branch: trunk, size: 367263)
2019-03-29
15:21
[bf2e05e2] part of check-in [c2edbf3b] Remove the unused P5 flag from the OP_Rewind opcode. (check-in: [c2edbf3b] user: drh branch: trunk, size: 367428)
2019-03-26
13:08
[a644e8f3] part of check-in [c6da3911] Add support for new window functions related features - GROUPS frames, RANGE frames with logical start and end points, the EXCLUDE clause and window chaining. (check-in: [c6da3911] user: dan branch: trunk, size: 368023)
12:37
[c496125a] part of check-in [dc3c0b8b] Merge recent enhancements from trunk. (check-in: [dc3c0b8b] user: drh branch: apple-osx, size: 368167)
12:29
[45d2c042] part of check-in [2e964aaf] Bring this branch up to date with all the latest enhancements. (check-in: [2e964aaf] user: drh branch: begin-concurrent-pnu-wal2, size: 386853)
12:22
[ca5a54eb] part of check-in [a0e2e902] Merge enhancements from trunk. (check-in: [a0e2e902] user: drh branch: wal2, size: 367982)
12:16
[b517c680] part of check-in [51e3e835] Merge the latest trunk changes. (check-in: [51e3e835] user: drh branch: begin-concurrent-pnu, size: 386822)
12:07
[b8d297f8] part of check-in [774d0d52] Merge recent enhancements from trunk. (check-in: [774d0d52] user: drh branch: begin-concurrent, size: 386822)
2019-03-25
19:50
[6bea0259] part of check-in [8c80b004] Earlier detection of corruption while added to the freelist. (check-in: [8c80b004] user: drh branch: trunk, size: 367951)
18:44
[482c81f4] part of check-in [bcbe7d96] 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. (check-in: [bcbe7d96] user: drh branch: trunk, size: 367922)
2019-03-21
21:18
[e967c83e] part of check-in [80e951fc] Add an extra test for database corruption to defragmentPage(). (check-in: [80e951fc] user: dan branch: trunk, size: 367901)
2019-03-20
05:45
[9bcd7000] part of check-in [1c0fe5b5] Fix various harmless compiler warnings seen with MSVC. (check-in: [1c0fe5b5] user: mistachkin branch: noWarnings, size: 367814)
2019-03-19
20:48
[116deec8] part of check-in [000f4398] Merge recent enhancements from trunk. (check-in: [000f4398] user: drh branch: apple-osx, size: 368025)
15:36
[a4e19b72] part of check-in [a420ebd0] 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. (check-in: [a420ebd0] user: drh branch: trunk, size: 367809)
2019-03-13
17:31
[b4fe9e71] part of check-in [0b904517] Merge latest trunk changes into this branch. (check-in: [0b904517] user: dan branch: window-functions, size: 367914)
15:29
[3aa86a52] part of check-in [6ad55319] Remove rows from the ephemeral table used by window functions once they are no longer required. (check-in: [6ad55319] user: dan branch: window-functions, size: 367913)
10:29
[4c097656] part of check-in [c4f0568f] Detect zero-length free slots on btree pages and report that as corruption. (check-in: [c4f0568f] user: drh branch: trunk, size: 367801)
2019-03-08
16:06
[021c960a] part of check-in [543ecb30] Merge the latest enhancements and fixes from trunk. (check-in: [543ecb30] user: drh branch: begin-concurrent-pnu-wal2, size: 386703)
15:57
[7e3d0fde] part of check-in [bf20d4ff] Merge the latest enhancements and fixes from trunk. (check-in: [bf20d4ff] user: drh branch: wal2, size: 367831)
15:30
[82829cc6] part of check-in [667cce3d] Merge all the latest enhancements from trunk. (check-in: [667cce3d] user: drh branch: begin-concurrent-pnu, size: 386672)
14:02
[51ff9c43] part of check-in [174da3c3] Patch makes balance_nonroot() slightly smaller and faster and more robust against corrupt databases. (check-in: [174da3c3] user: drh branch: trunk, size: 367800)
01:52
[9abc4326] part of check-in [235a9698] 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. (check-in: [235a9698] user: drh branch: trunk, size: 367795)
2019-03-05
14:39
[7da25dbf] part of check-in [c1ac0070] 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. (check-in: [c1ac0070] user: drh branch: trunk, size: 367723)
2019-03-01
18:27
[847c6367] part of check-in [e64ded7b] Merge the latest enhancements from trunk. (check-in: [e64ded7b] user: drh branch: apple-osx, size: 367929)
2019-02-28
13:21
[59695c6e] part of check-in [6bfd8655] Add an "|| CORRUPT_DB" term to an assert() statement in the btree defragmenter. (check-in: [6bfd8655] user: drh branch: trunk, size: 367713)
2019-02-26
16:17
[f85f8abe] part of check-in [05b87e07] 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. (check-in: [05b87e07] user: drh branch: trunk, size: 367699)
2019-02-20
13:23
[00e3e1b6] part of check-in [be71d1e2] Merge the latest performance enhancements and fixes from trunk. (check-in: [be71d1e2] user: drh branch: apple-osx, size: 367915)
2019-02-19
16:42
[026f48c3] part of check-in [f2d400db] Fix an assert() that might not be true if the database file is corrupt. (check-in: [f2d400db] user: drh branch: trunk, size: 367699)
2019-02-16
22:45
[2105865a] part of check-in [0cfb8887] Fix an assert() that might be false for a corrupt database. (check-in: [0cfb8887] user: drh branch: trunk, size: 367685)
2019-02-14
15:27
[161b6a57] part of check-in [aa61435a] Improved oversized cell detection when updating ptrmap pages in balance_nonroot(). (check-in: [aa61435a] user: drh branch: trunk, size: 367671)
2019-02-12
16:58
[1336cc16] part of check-in [93ae382e] Further performance improvements to btreeInitPage(). (check-in: [93ae382e] user: drh branch: trunk, size: 367393)
00:58
[7457f781] part of check-in [fec071b8] Change an assert() into a NEVER(), since the condition is difficult to prove with certainty. Improved comment on the MemPage.nFree field. (check-in: [fec071b8] user: drh branch: deferred-free-space, size: 367442)
2019-02-11
22:50
[70ac9dc8] part of check-in [f11b0ed4] Do not invoke btreeComputeFreeSpace() when not necessary. (check-in: [f11b0ed4] user: drh branch: deferred-free-space, size: 367402)
19:27
[47812e0c] part of check-in [16eb0fc8] Improvements to comments. No changes to code. (check-in: [16eb0fc8] user: drh branch: deferred-free-space, size: 367409)
17:22
[aa182a9b] part of check-in [480a5090] Fix test cases. Avoid unnecessary tests for MemPage.nFree less than zero. (check-in: [480a5090] user: drh branch: deferred-free-space, size: 367433)
12:51
[85d49318] part of check-in [7499f743] Updates to a comment to keep it in alignment to the changes on this branch. (check-in: [7499f743] user: drh branch: deferred-free-space, size: 367524)
2019-02-09
22:33
[0c9455de] part of check-in [92858991] Fix a page-cache reference leak in the btree balancer when there is a corrupt database. (check-in: [92858991] user: drh branch: deferred-free-space, size: 367516)
21:06
[b2bb677f] part of check-in [1d43ee40] 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. (check-in: [1d43ee40] user: drh branch: deferred-free-space, size: 367423)
2019-02-08
22:34
[18046bf1] part of check-in [1969372a] 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. (check-in: [1969372a] user: drh branch: trunk, size: 365170)
2019-02-07
18:49
[1ceb21b6] part of check-in [62829164] Merge the offical 3.27.0 release. (check-in: [62829164] user: drh branch: apple-osx, size: 364808)
2019-02-04
21:10
[84b7c5c3] part of check-in [2c8769c6] Early detection of implausibly sized records to avoid unnecessary large memory allocations. (check-in: [2c8769c6] user: drh branch: trunk, size: 364592)
2019-02-01
14:50
[9649c95a] part of check-in [ef27e7a0] 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. (check-in: [ef27e7a0] user: drh branch: trunk, size: 363900)
2019-01-29
19:17
[2971798a] part of check-in [31efcc37] Merge enhancements from trunk. (check-in: [31efcc37] user: drh branch: apple-osx, size: 363528)
16:54
[79464668] part of check-in [9a93c68a] Fix harmless compiler warnings. (check-in: [9a93c68a] user: drh branch: trunk, size: 363312)
16:41
[af023d6c] part of check-in [97704cb7] More robust handling of corrupt database file in the rebalance operation of the btree logic. (check-in: [97704cb7] user: drh branch: trunk, size: 363307)
2019-01-28
00:42
[3378f2f4] part of check-in [6089d5db] Change the definition of the BtCursor.skipNext field so that it is undefined for states CURSOR_VALID and CURSOR_INVALID. (check-in: [6089d5db] user: drh branch: trunk, size: 363071)
2019-01-26
23:34
[c78051b5] part of check-in [a3ea1a82] 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. (check-in: [a3ea1a82] user: drh branch: trunk, size: 363643)
2019-01-25
13:42
[f7ee98fc] part of check-in [5eb5e828] Fix a couple of assert() statments in btree.c that could fail with corrupt databases. (check-in: [5eb5e828] user: dan branch: trunk, size: 363619)
2019-01-24
15:16
[21eb9292] part of check-in [db4b4c2c] Fix a potential problem with "INSERT INTO ... SELECT * FROM" (or VACUUM) statements on a corrupted database. (check-in: [db4b4c2c] user: dan branch: trunk, size: 363591)
13:36
[58574154] part of check-in [65ad6c55] 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. (check-in: [65ad6c55] user: drh branch: trunk, size: 363524)
2019-01-23
19:25
[60fa67e1] part of check-in [12713f32] Stricter enforcement of cell sizes when doing balancing operations on the btree, in order to catch file corruption sooner. (check-in: [12713f32] user: drh branch: trunk, size: 363274)
2019-01-21
23:18
[315ccbc0] part of check-in [3ecaaee6] Enhance the btree search routine so that it does early detection of impossibly large keys and thereby avoids a large malloc() call. (check-in: [3ecaaee6] user: drh branch: trunk, size: 359291)
16:01
[73f282db] part of check-in [27375649] Make sure the extra bytes allocated for the saved cursor position by check-in [160b1e31c0f27257] are initialized to zero. (check-in: [27375649] user: drh branch: trunk, size: 359243)
2019-01-17
15:47
[59eeeaad] part of check-in [475a179a] Sync up with the latest enhancements on trunk. (check-in: [475a179a] user: drh branch: apple-osx, size: 359411)
2019-01-14
05:48
[a1030989] part of check-in [cb505090] Avoid reading off the front of a page buffer when balancing a corrupt btree page. (check-in: [cb505090] user: drh branch: trunk, size: 359195)
2019-01-13
20:17
[d2ee8425] part of check-in [35f04235] Improved detection of database corruption while balancing pages from an auto_vacuum database with overflow pages. Test cases in TH3. (check-in: [35f04235] user: drh branch: trunk, size: 358803)
2019-01-11
17:41
[789380da] part of check-in [556dd892] 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. (check-in: [556dd892] user: dan branch: trunk, size: 358653)
14:46
[735e0cfc] part of check-in [aaa3a19f] Fix PRAGMA integrity_check so that it does not cancel the PRAGMA vdbe_debug setting. (check-in: [aaa3a19f] user: drh branch: trunk, size: 358647)
2019-01-06
02:06
[9632272d] part of check-in [6064584d] The page size becomes fixed as soon as page1 from a non-empty database file is read. (check-in: [6064584d] user: drh branch: trunk, size: 358647)
2019-01-02
16:30
[33cceb8e] part of check-in [c31eeb3c] Merge latest wal2 changes into this branch. (check-in: [c31eeb3c] user: dan branch: begin-concurrent-wal2, size: 377509)
16:15
[8e21892e] part of check-in [87ef68f9] Merge latest trunk changes into this branch. (check-in: [87ef68f9] user: dan branch: wal2, size: 358637)
16:08
[ed1faebf] part of check-in [5bf212f1] Merge latest trunk changes into this branch. (check-in: [5bf212f1] user: dan branch: begin-concurrent, size: 377478)
2019-01-01
18:00
[11c18d6d] part of check-in [5c188361] 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. (check-in: [5c188361] user: dan branch: trunk, size: 358606)
2018-12-26
19:10
[5feb7707] part of check-in [404f9d99] Merge latest trunk changes with this branch. (check-in: [404f9d99] user: dan branch: wal2, size: 358615)
2018-12-18
17:32
[3140a876] part of check-in [b3a163b4] Merge latest trunk changes into this branch. (check-in: [b3a163b4] user: dan branch: begin-concurrent-wal2, size: 377487)
17:20
[1cd5a483] part of check-in [123cbb33] Merge latest trunk changes into this branch. (check-in: [123cbb33] user: dan branch: begin-concurrent, size: 377456)
2018-12-15
20:59
[b068dd1f] part of check-in [06bb80ee] Merge latest wal2 changes into this branch. (check-in: [06bb80ee] user: dan branch: begin-concurrent-wal2, size: 376946)
2018-12-14
17:57
[4429a161] part of check-in [39559911] Fix possible integer overflow while running PRAGMA integrity_check on a database file with a badly corrupted freelist. (check-in: [39559911] user: drh branch: trunk, size: 358584)
16:20
[38e21cf0] part of check-in [8ba3d9f3] Back out the expansion of the temporary buffer size from [32754ca6f86da816] and replace it with an explicit test for buffer overreads. (check-in: [8ba3d9f3] user: drh branch: trunk, size: 358579)
16:00
[af1055a0] part of check-in [f8b781cf] Avoid a buffer overread in ptrmapPutOvflPtr() that can occurs in a corrupt database file that has large entries and uses autovacuum. (check-in: [f8b781cf] user: drh branch: trunk, size: 358502)
13:18
[89e9abe6] part of check-in [160b1e31] 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. (check-in: [160b1e31] user: dan branch: trunk, size: 358370)
03:14
[14b4b17b] part of check-in [3036fd71] 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. (check-in: [3036fd71] user: drh branch: fuzzcheck-fix, size: 358044)
2018-12-13
21:52
[20fdad94] part of check-in [1201615c] dbfuzz2 found a NEVER() that is sometimes true. (check-in: [1201615c] user: drh branch: trunk, size: 357771)
21:11
[e3e08171] part of check-in [997b6511] 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. (check-in: [997b6511] user: drh branch: trunk, size: 357831)
21:05
[d4bf14ab] part of check-in [682053d1] Fix a problem in sqlite3BtreeDelete() in which deleting an entry from a corrupt database can leave a btree page with zero cells. (check-in: [682053d1] user: drh branch: trunk, size: 358109)
03:36
[3d898fea] part of check-in [b4210d32] 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. (check-in: [b4210d32] user: drh branch: dbfuzz2-cases, size: 357765)
2018-12-11
13:44
[dcc6191c] part of check-in [d8dd98a3] Merge latest trunk changes into this branch. (check-in: [d8dd98a3] user: dan branch: wal2, size: 358074)
2018-12-10
02:00
[f2a2336d] part of check-in [b1bbc718] Merge enhancements from trunk. (check-in: [b1bbc718] user: drh branch: apple-osx, size: 358259)
2018-12-06
17:06
[4377d0d9] part of check-in [53d3b169] 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. (check-in: [53d3b169] user: drh branch: trunk, size: 358043)
2018-12-03
20:49
[f5041e98] part of check-in [b7281a1c] Merge the wal2 and begin-concurrent code. Both features work, but not at the same time. (check-in: [b7281a1c] user: dan branch: begin-concurrent-wal2, size: 376941)
2018-12-01
20:14
[3887a4f5] part of check-in [7a44fa5a] Sync this branch with the latest trunk. (check-in: [7a44fa5a] user: dan branch: wal2, size: 358069)
2018-11-26
23:35
[35097c9e] part of check-in [e8c20a88] Merge recent enhancements from trunk. (check-in: [e8c20a88] user: drh branch: apple-osx, size: 358254)
07:34
[4a2184be] part of check-in [76608f75] Merge latest begin-concurrent changes into this branch. (check-in: [76608f75] user: dan branch: begin-concurrent-pnu, size: 376910)
07:21
[4ad4c92b] part of check-in [28a615a2] Merge latest trunk changes into this branch. (check-in: [28a615a2] user: dan branch: begin-concurrent, size: 375838)
2018-11-22
19:10
[ba7c7eef] part of check-in [81629ba9] Fix a problem reading from temp databases in SQLITE_DIRECT_OVERFLOW_READ builds. (check-in: [81629ba9] user: dan branch: trunk, size: 358038)
2018-11-09
23:45
[9e94292b] part of check-in [e3e9b85e] Merge fixes from trunk. (check-in: [e3e9b85e] user: drh branch: apple-osx, size: 358455)
2018-11-03
17:31
[3ef104ec] part of check-in [76094345] Correct the internal logic for SQLITE_DBCONFIG_DEFENSIVE. (check-in: [76094345] user: drh branch: dbconfig-defensive, size: 358239)
16:09
[41ab5267] part of check-in [af3f29d4] Add the SQLITE_DBCONFIG_DEFENSIVE flag. (check-in: [af3f29d4] user: drh branch: dbconfig-defensive, size: 358274)
2018-10-31
01:26
[d85ef1a1] part of check-in [4b370c74] Merge fixes from trunk, especially rebustness against corrupt database files. (check-in: [4b370c74] user: drh branch: apple-osx, size: 358462)
01:04
[75ec3352] part of check-in [d5787333] Improved corrupt database detection in the relocatePage() routine of the b-tree module. (check-in: [d5787333] user: drh branch: trunk, size: 358246)
2018-10-09
22:50
[5415f811] part of check-in [ddf6a54e] Merge changes for the 3.25.0 release. (check-in: [ddf6a54e] user: drh branch: apple-osx, size: 358416)
2018-09-28
21:11
[b53864f0] part of check-in [6f3dd980] Merge latest begin-concurrent changes into this branch. (check-in: [6f3dd980] user: dan branch: begin-concurrent-pnu, size: 377072)
20:58
[e642eb71] part of check-in [86750c92] Merge latest trunk into this branch. (check-in: [86750c92] user: dan branch: begin-concurrent, size: 376000)
2018-07-20
15:44
[3f5e1a03] part of check-in [a4663f09] New checks in PRAGMA integrity_check to validate the autovacuum settings in the header. (check-in: [a4663f09] user: drh branch: trunk, size: 358200)
13:39
[76395ea8] part of check-in [11e58f5b] Enhanced detection of problems on the freelist and on overflow list in PRAGMA integrity_check. (check-in: [11e58f5b] user: drh branch: trunk, size: 357692)
2018-07-19
11:44
[4b91880a] part of check-in [e2394002] Experimental fix for resetting databases that have been deemed read-only due to a corrupt "read-version" header field. (check-in: [e2394002] user: dan branch: exp-dbreset-fix, size: 357785)
2018-07-10
15:48
[9e56cdf2] part of check-in [af17432e] Merge begin-concurrent changes into this branch. (check-in: [af17432e] user: dan branch: begin-concurrent-pnu, size: 376519)
15:45
[23bad79f] part of check-in [e9a3e864] Merge latest trunk changes into this branch. (check-in: [e9a3e864] user: dan branch: begin-concurrent, size: 375447)
2018-07-09
20:41
[d9dcccd6] part of check-in [12be361a] Add an ALWAYS() around a branch in sqlite3BtreeSkipNext() that we believe must always be true. (check-in: [12be361a] user: drh branch: trunk, size: 357647)
2018-07-05
17:16
[0c27fb9b] part of check-in [e6108047] 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. (check-in: [e6108047] user: dan branch: trunk, size: 357449)
17:03
[757b2986] part of check-in [e3357728] Fix a typo inside an assert() statement introduced by the previous commit. (check-in: [e3357728] user: dan branch: exp-busy-snapshot-fix, size: 357645)
15:46
[c2b55e3a] part of check-in [221ff63e] 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. (check-in: [221ff63e] user: dan branch: exp-busy-snapshot-fix, size: 357645)
2018-06-22
20:51
[bb23e547] part of check-in [5f04b016] Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. (check-in: [5f04b016] user: dan branch: exp-window-functions, size: 357159)
2018-06-12
20:53
[50425f7f] part of check-in [6413e38a] Fix another issue to do with window-functions in aggregate queries. (check-in: [6413e38a] user: dan branch: exp-window-functions, size: 357092)
2018-06-09
18:09
[671207d6] part of check-in [c71f2359] Merge recent trunk changes with this branch. (check-in: [c71f2359] user: dan branch: exp-window-functions, size: 356908)
2018-06-08
19:13
[06690f5a] part of check-in [99057383] 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. (check-in: [99057383] user: drh branch: trunk, size: 356762)
2018-06-07
20:35
[c38cd920] part of check-in [25102203] Merge latest trunk changes with this branch. (check-in: [25102203] user: dan branch: exp-window-functions, size: 356448)
2018-06-06
17:12
[99f493bd] part of check-in [be7004a9] Merge the 3.24.0 changes plus a few subsequent enhancements. (check-in: [be7004a9] user: drh branch: begin-concurrent-pnu, size: 375174)
17:03
[c0c5ce45] part of check-in [d7299bfe] Merge changes from trunk, including all the 3.24.0 changes plus some later enhancements. (check-in: [d7299bfe] user: drh branch: begin-concurrent, size: 374102)
16:28
[ae7687fa] part of check-in [a10662aa] Change sqlite3BtreeBeginTrans() to return the BTREE_SCHEMA_COOKIE, for a small speed improvement when starting new transactions. (check-in: [a10662aa] user: drh branch: trunk, size: 356302)
2018-06-04
14:10
[194a98d9] part of check-in [95fbac39] Merge changes from trunk. (check-in: [95fbac39] user: drh branch: apple-osx, size: 356376)
08:28
[7c26bc1d] part of check-in [83d6416a] Merge latest trunk changes into this branch. (check-in: [83d6416a] user: dan branch: exp-window-functions, size: 356306)
2018-06-02
16:32
[44405d03] part of check-in [1b807b51] Work around a sanitizer warning about a pointer being only 4-byte aligned instead of 8-byte aligned. (check-in: [1b807b51] user: drh branch: align8-fix, size: 356160)
2018-05-23
20:55
[b8fc4fcf] part of check-in [3a203660] Add support for "ROWS BETWEEN <expr> PRECEDING AND <expr> FOLLOWING" window frames. (check-in: [3a203660] user: dan branch: exp-window-functions, size: 356140)
2018-05-15
11:55
[677a5e36] part of check-in [72f39efa] Merge latest trunk changes into this branch. (check-in: [72f39efa] user: dan branch: begin-concurrent-pnu, size: 374858)
11:45
[9e839c8c] part of check-in [ae86cf60] Merge latest trunk changes with this branch. (check-in: [ae86cf60] user: dan branch: begin-concurrent, size: 373786)
11:33
[05cb666b] part of check-in [52e443eb] Instead of just the flags byte, include the first 8 bytes of the relevant page in an on-commit conflict log message. (check-in: [52e443eb] user: dan branch: begin-concurrent-pnu, size: 369845)
11:28
[78be543c] part of check-in [e7dc03e7] Instead of just the flags byte, include the first 8 bytes of the relevant page in an on-commit conflict log message. (check-in: [e7dc03e7] user: dan branch: begin-concurrent, size: 368773)
09:03
[facc1e1a] part of check-in [de19abb9] Include the value of the "flags" byte of the relevant page in the log message emitted when a BEGIN CONCURRENT commit conflict is detected. (check-in: [de19abb9] user: dan branch: begin-concurrent-pnu, size: 369495)
08:51
[593a9043] part of check-in [fbfa5471] Include the value of the "flags" byte of the relevant page in the log message emitted when a BEGIN CONCURRENT commit conflict is detected. (check-in: [fbfa5471] user: dan branch: begin-concurrent, size: 368423)
2018-05-09
13:46
[8270813c] part of check-in [87f261f0] 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. (check-in: [87f261f0] user: drh branch: trunk, size: 355994)
2018-05-08
13:32
[9b2301d6] part of check-in [a016144b] Merge changes from trunk, especially the activation of the cell-overwrite optimization for indexes and WITHOUT ROWID tables. (check-in: [a016144b] user: drh branch: apple-osx, size: 356211)
2018-05-07
18:41
[abedb349] part of check-in [a68697d1] Activate the cell-overwrite optimization for index b-trees. (check-in: [a68697d1] user: drh branch: trunk, size: 355995)
17:27
[7b21976d] part of check-in [a4fe966d] Improved comments on the cell-overwrite optimization code. (check-in: [a4fe966d] user: drh branch: trunk, size: 355568)
13:01
[10ac889e] part of check-in [cb3aa778] Merge enhancements from trunk, and especially the cell-overwrite optimization. (check-in: [cb3aa778] user: drh branch: apple-osx, size: 354852)
11:48
[6be0267a] part of check-in [5887d8be] 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. (check-in: [5887d8be] user: drh branch: trunk, size: 354636)
11:29
[b4ca692c] part of check-in [3e11dc31] Fix harmless compiler warnings in the cell-overwrite logic. (check-in: [3e11dc31] user: drh branch: cell-overwrite-prototype, size: 354535)
2018-05-05
01:23
[79982b07] part of check-in [9191ff67] Fix a slightly incorrect corruption detection branch in the btree logic. (check-in: [9191ff67] user: drh branch: trunk, size: 351216)
2018-05-04
19:33
[76a514d8] part of check-in [e17bca2c] Merge recent enhancements from trunk. (check-in: [e17bca2c] user: drh branch: apple-osx, size: 351331)
2018-05-03
16:56
[8faf9ebb] part of check-in [f89b54f4] Fix various error handling conditions on the cell overwrite optimization. Fix a test case so that it works with the new optimization. (check-in: [f89b54f4] user: drh branch: cell-overwrite-prototype, size: 354419)
14:07
[edb3c69a] part of check-in [54c537ee] The BtCursor.info fields are only valid if info.nSize!=0. (check-in: [54c537ee] user: drh branch: cell-overwrite-prototype, size: 354328)
13:56
[ffaf0f65] part of check-in [58d14afe] Add more corruption checking to the cell overwrite logic. (check-in: [58d14afe] user: drh branch: cell-overwrite-prototype, size: 354305)
12:57
[7216dac5] part of check-in [0cb6cd2a] Bug fixes in the overwrite optimization. (check-in: [0cb6cd2a] user: drh branch: cell-overwrite-prototype, size: 354107)
03:59
[d1b1bd06] part of check-in [489451b3] 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. (check-in: [489451b3] user: drh branch: cell-overwrite-prototype, size: 354120)
2018-04-28
01:27
[fa7da0a5] part of check-in [02e1a13c] 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. (check-in: [02e1a13c] user: drh branch: reset-database, size: 351115)
2018-04-24
19:22
[d7417507] part of check-in [2d8d13e4] Update this branch with latest changes from trunk. (check-in: [2d8d13e4] user: dan branch: begin-concurrent-pnu, size: 369380)
19:21
[a64d302f] part of check-in [b27bd799] Merge latest trunk changes into this branch. (check-in: [b27bd799] user: dan branch: begin-concurrent, size: 368308)
2018-04-10
18:05
[203c72f7] part of check-in [e20fcb51] Merge all version 3.23.1 changes and enhancements from trunk. (check-in: [e20fcb51] user: drh branch: apple-osx, size: 351197)
2018-03-28
15:41
[ac5e98b8] part of check-in [df52e89f] Update this branch with latest trunk changes. (check-in: [df52e89f] user: dan branch: server-process-edition, size: 361420)
2018-03-26
20:43
[9eb9531c] part of check-in [b8196056] Avoid a race condition that might cause a busy_timeout to last longer than it should. (check-in: [b8196056] user: drh branch: lowlevel-lock-timeout, size: 350981)
17:40
[4c30691b] part of check-in [2e54a743] Add infrastructure to support for using F_SETLKW with a timeout on system that support that functionality. Requires SQLITE_ENABLE_SETLK_TIMEOUT. (check-in: [2e54a743] user: drh branch: lowlevel-lock-timeout, size: 350936)
16:37
[dc9fda9c] part of check-in [6c40c557] Refactor some internal object element names used by the busy handler, to simplify analysis. (check-in: [6c40c557] user: drh branch: trunk, size: 350871)
2018-03-14
17:17
[cd68bc5a] part of check-in [a658f80c] Merge the latest enhancements from trunk. (check-in: [a658f80c] user: drh branch: apple-osx, size: 351087)
2018-03-02
18:26
[82848550] part of check-in [8ade94ba] Merge latest changes from begin-concurrent into this branch. (check-in: [8ade94ba] user: dan branch: begin-concurrent-pnu, size: 369270)
17:40
[d070d79e] part of check-in [36801eff] Merge latest trunk changes into this branch. (check-in: [36801eff] user: dan branch: begin-concurrent, size: 368198)
2018-02-20
21:00
[8c6b9759] part of check-in [57023371] 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. (check-in: [57023371] user: dan branch: begin-concurrent-pnu, size: 367767)
2018-02-19
13:53
[18a53540] part of check-in [88258770] 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. (check-in: [88258770] user: drh branch: trunk, size: 350871)
2018-02-04
01:30
[f7bb37c2] part of check-in [63a91441] Fix harmless compiler warning seen with MSVC. (check-in: [63a91441] user: mistachkin branch: trunk, size: 350602)
2018-01-24
16:04
[d711228c] part of check-in [0ddf5292] Rearrange fields of the BtCursor object so that it is smaller and requires less initialization, for a small performance improvement. (check-in: [0ddf5292] user: drh branch: trunk, size: 350597)
2018-01-23
13:30
[1beceb1c] part of check-in [8e5e74c6] Fix comment typos. No changes to code. (check-in: [8e5e74c6] user: drh branch: trunk, size: 350551)
2018-01-22
19:04
[65617303] part of check-in [27e20d69] Merge all version-3.22.0 changes. (check-in: [27e20d69] user: drh branch: apple-osx, size: 350825)
15:45
[bfc453ba] part of check-in [395f8ea7] Avoid unnecessary OOM detection warnings in a debugging routine. (check-in: [395f8ea7] user: drh branch: trunk, size: 350609)
2018-01-15
21:59
[811b367b] part of check-in [c9d2ec51] Merge the enhancements associated with the first 3.22.0 beta. (check-in: [c9d2ec51] user: drh branch: apple-osx, size: 350759)
2018-01-04
18:36
[8cbe0ce2] part of check-in [dc0fc2aa] 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. (check-in: [dc0fc2aa] user: dan branch: begin-concurrent-pnu, size: 366814)
2018-01-02
19:57
[c3e15a9e] part of check-in [50c8952c] Fix a spurious SQLITE_CORRUPT error that could occur within a COMMIT of a concurrent transaction. (check-in: [50c8952c] user: dan branch: begin-concurrent-pnu, size: 366707)
2017-12-29
15:04
[0a1f63b5] part of check-in [7a7f826e] 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. (check-in: [7a7f826e] user: drh branch: location-function, size: 350543)
14:33
[516fea6c] part of check-in [dd94d6a8] 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. (check-in: [dd94d6a8] user: drh branch: location-function, size: 350465)
2017-12-16
20:20
[6fba32ea] part of check-in [51be9558] 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. (check-in: [51be9558] user: drh branch: location-function, size: 350488)
2017-11-28
08:08
[d9fa7d5b] part of check-in [1fd10349] Merge latest trunk changes, including the SQLITE_ENABLE_MULTITHREADED_CHECKS feature, into this branch. (check-in: [1fd10349] user: dan branch: apple-osx, size: 350301)
2017-11-18
17:30
[b83a6b03] part of check-in [23a31280] Enhance the log messages produced in some cases if database corruption is encountered by an SQLITE_DEBUG build. (check-in: [23a31280] user: dan branch: sqlite-corrupt-page, size: 350085)
2017-11-06
20:02
[a41d5805] part of check-in [7f217eda] Merge latest trunk changes into this branch. (check-in: [7f217eda] user: dan branch: begin-concurrent, size: 366695)
2017-10-24
19:12
[0553adcf] part of check-in [13be3a44] Merge all enhancements and fixes from the 3.21.0 release. (check-in: [13be3a44] user: drh branch: apple-osx, size: 349584)
2017-10-19
15:17
[75229a5a] part of check-in [04925dee] 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. (check-in: [04925dee] user: dan branch: trunk, size: 349368)
2017-10-12
01:19
[8565b061] part of check-in [f0a2724f] 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. (check-in: [f0a2724f] user: drh branch: branch-3.21, size: 349164)
2017-10-06
14:25
[a559d641] part of check-in [7e435178] Merge latest trunk changes into this branch. (check-in: [7e435178] user: dan branch: wal2, size: 349194)
2017-10-05
20:57
[07ad643c] part of check-in [8ca0fa8d] Fix compiler warnings that come up with SQLITE_OMIT_WAL. (check-in: [8ca0fa8d] user: drh branch: trunk, size: 349163)
2017-10-04
20:57
[c7d94975] part of check-in [e2fc5c81] Add experimental mode that uses two wal files. Activated using "PRAGMA journal_mode = wal2". (check-in: [e2fc5c81] user: dan branch: wal2, size: 349159)
18:26
[cc88a7fc] part of check-in [40964a4e] Updates to requirements marks. (check-in: [40964a4e] user: drh branch: trunk, size: 349128)
2017-09-28
13:47
[221bc1b8] part of check-in [5b9ae693] 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. (check-in: [5b9ae693] user: drh branch: trunk, size: 349261)
2017-09-22
20:18
[9c273587] part of check-in [8d2a1cca] 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. (check-in: [8d2a1cca] user: drh branch: est_count_pragma, size: 351208)
10:49
[e709a9ab] part of check-in [307b802e] Merge latest trunk changes into this branch. (check-in: [307b802e] user: dan branch: begin-concurrent, size: 366501)
2017-09-09
06:10
[0e4827cd] part of check-in [6a0b9d9d] Merge trunk enhancements (check-in: [6a0b9d9d] user: drh branch: apple-osx, size: 349390)
2017-09-04
19:31
[1c2b2f17] part of check-in [72d22c22] Use the SQLITE_CORRUPT_BKPT return code in a couple more places. (check-in: [72d22c22] user: mistachkin branch: trunk, size: 349174)
2017-09-01
14:50
[f1ac9509] part of check-in [b2e2100c] Add the new sqlite3PagerUnrefPageOne() pager method to deal with the special case of unreferencing page1. (check-in: [b2e2100c] user: drh branch: trunk, size: 349164)
2017-08-28
17:26
[a4421dd0] part of check-in [cc440400] 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. (check-in: [cc440400] user: drh branch: begin-concurrent-branch-3.19, size: 365312)
17:19
[fd5d4ce0] part of check-in [d53108e7] Merge recent enhancements from trunk. (check-in: [d53108e7] user: drh branch: begin-concurrent, size: 365962)
15:51
[1033b88f] part of check-in [54b00024] 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. (check-in: [54b00024] user: drh branch: trunk, size: 348603)
2017-08-25
13:02
[83933a8d] part of check-in [2738b8db] Convert a branch made unreachable by [59560d07] into an assert(). (check-in: [2738b8db] user: drh branch: trunk, size: 348601)
2017-08-23
23:09
[f93c05db] part of check-in [59560d07] Performance optimization to pageFindSlot() in the b-tree layer. (check-in: [59560d07] user: drh branch: trunk, size: 348603)
20:36
[45f3b8b3] part of check-in [bc1ec123] Size and performance optimization to dropCell() and freeSpace(). (check-in: [bc1ec123] user: drh branch: trunk, size: 348719)
14:45
[ea10ca63] part of check-in [77074990] Smaller and faster implementation of the fillInCell() routine. (check-in: [77074990] user: drh branch: trunk, size: 348727)
2017-08-16
19:20
[e1a98bef] part of check-in [f078deb2] Avoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reduce the size and improve the performance of OP_Column. (check-in: [f078deb2] user: drh branch: trunk, size: 348318)
17:06
[70fcdba8] part of check-in [380a7b7a] Update this branch with the latest changes from trunk. (check-in: [380a7b7a] user: dan branch: server-process-edition, size: 358380)
2017-08-15
03:46
[d2f5f347] part of check-in [373b71d1] Btree optimization: New field BtCursor.pPage that points to the current page, saving a single pointer dereference on each access. (check-in: [373b71d1] user: drh branch: trunk, size: 347941)
2017-08-14
23:53
[05781141] part of check-in [16969338] Minor size and performance optimization to sqlite3BtreeCloseCursor(). (check-in: [16969338] user: drh branch: trunk, size: 348106)
18:13
[43d1c5b3] part of check-in [240d5714] 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. (check-in: [240d5714] user: drh branch: trunk, size: 348141)
17:03
[5a6efa29] part of check-in [25e92baa] Fix harmless indentation error. (check-in: [25e92baa] user: drh branch: trunk, size: 348064)
2017-08-11
19:16
[91e4c841] part of check-in [47e71695] Merge the latest enhancements from trunk. (check-in: [47e71695] user: drh branch: begin-concurrent, size: 365394)
2017-08-07
14:15
[f9628676] part of check-in [17bc7ded] Update this branch with latest trunk changes. (check-in: [17bc7ded] user: dan branch: server-process-edition, size: 358504)
2017-08-02
18:27
[1a17ba1a] part of check-in [f3c39c29] Minor optimization on clearCell() (check-in: [f3c39c29] user: drh branch: trunk, size: 348065)
15:50
[41232143] part of check-in [49ba54e2] Optimizations associated with error handling in btree cursors. (check-in: [49ba54e2] user: drh branch: trunk, size: 348058)
2017-07-20
19:08
[a21ffc82] part of check-in [44c760d1] Fix compiler warnings. (check-in: [44c760d1] user: drh branch: begin-concurrent, size: 365310)
18:28
[7e967347] part of check-in [a29401e9] Get the build working with SQLITE_OMIT_CONCURRENT. (check-in: [a29401e9] user: drh branch: begin-concurrent, size: 365336)
17:47
[b3d5ea91] part of check-in [213c61cb] Merge all the latest trunk enhancements. (check-in: [213c61cb] user: drh branch: begin-concurrent, size: 365273)
2017-07-19
18:54
[d0111c10] part of check-in [be0df0a6] Merge latest trunk changes with this branch. (check-in: [be0df0a6] user: dan branch: server-process-edition, size: 358420)
2017-07-17
20:21
[155f59dc] part of check-in [e181225d] Merge all the latest fixes and enhancements from trunk. (check-in: [e181225d] user: drh branch: apple-osx, size: 348197)
2017-07-13
21:06
[85cd6d97] part of check-in [dcc40797] Make the freelist format a separate feature from the page-level locking. Freelist format is now configure using "PRAGMA freelist_format". (check-in: [dcc40797] user: dan branch: server-process-edition, size: 357492)
2017-07-11
18:11
[f55ea8f4] part of check-in [55e93f25] Fix harmless compiler warnings in the core. (check-in: [55e93f25] user: drh branch: trunk, size: 347981)
2017-07-08
20:46
[0e1bcecd] part of check-in [5a043aa8] Support read-only MVCC transactions in server-mode. Started using "BEGIN READONLY". (check-in: [5a043aa8] user: dan branch: server-process-edition, size: 356391)
2017-07-07
22:58
[d8a9a8b6] part of check-in [7f48f6ab] Merge in all the latest trunk enhancements. (check-in: [7f48f6ab] user: drh branch: apple-osx, size: 348080)
20:06
[79fb0033] part of check-in [38978ce6] 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. (check-in: [38978ce6] user: drh branch: trunk, size: 347864)
16:40
[6ff4027f] part of check-in [216c757f] Merge latest trunk changes with this branch. (check-in: [216c757f] user: dan branch: server-process-edition, size: 356367)
2017-06-26
13:57
[00579ff9] part of check-in [7076e828] 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. (check-in: [7076e828] user: drh branch: enable-QPSG, size: 347053)
2017-06-23
21:05
[388fd95a] part of check-in [53b14a38] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [53b14a38] user: drh branch: apple-osx, size: 347282)
2017-06-19
11:44
[127ae15b] part of check-in [f1682f0f] Experimental "PRAGMA secure_delete=FAST" pragma. The intent is to overwrite deleted content with zeros without increasing the amount of disk I/O. (check-in: [f1682f0f] user: drh branch: fast-secure-delete, size: 347877)
2017-06-17
00:39
[8668d6ee] part of check-in [e1b71029] 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. (check-in: [e1b71029] user: drh branch: branch-3.18, size: 347402)
2017-06-12
23:44
[5aa61082] part of check-in [30c50f0e] 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]. (check-in: [30c50f0e] user: drh branch: branch-3.18, size: 347530)
2017-06-11
18:26
[430e3415] part of check-in [a2f77285] Fix a potential null-pointer deference following OOM introduced by check-in [e39795d7] (unreleased). (check-in: [a2f77285] user: drh branch: trunk, size: 347066)
2017-06-10
17:23
[5a93ba67] part of check-in [79544fc2] Remove sqlite3_log() and abort() calls added to this branch to debug the pointer-map problem ([fda22108]). (check-in: [79544fc2] user: dan branch: begin-concurrent, size: 364459)
2017-06-08
16:23
[1394abd6] part of check-in [8e311a6d] Update the recent auto-vacuum fix so that it works for the in-memory pointer-map structure used by this branch. (check-in: [8e311a6d] user: dan branch: begin-concurrent, size: 365925)
16:10
[95dd5106] part of check-in [e2d38d51] Merge 3.19.3 changes with this branch. (check-in: [e2d38d51] user: dan branch: begin-concurrent, size: 365923)
14:41
[4f095b81] part of check-in [93f32dd2] Merge the auto_vacuum bug fix and all other changes from the 3.19.3 release. (check-in: [93f32dd2] user: drh branch: apple-osx, size: 347383)
11:26
[de57bf3f] part of check-in [9478106c] 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]. (check-in: [9478106c] user: drh branch: branch-3.19, size: 347167)
11:14
[896b823a] part of check-in [b30dfba8] 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]. (check-in: [b30dfba8] user: dan branch: trunk, size: 347049)
2017-06-07
22:32
[a13e516b] part of check-in [e39795d7] In SQLITE_DEBUG mode, attempt to log the page number of the database that contained the problem when SQLITE_CORRUPT errors are seen. (check-in: [e39795d7] user: drh branch: trunk, size: 346769)
2017-06-02
09:31
[63ae7953] part of check-in [f131677d] 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. (check-in: [f131677d] user: dan branch: begin-concurrent, size: 365643)
2017-05-31
17:06
[322cd2e8] part of check-in [f7e3e2bc] Generate extra log messages in response to irregularites in the pointer-map used by "BEGIN CONCURRENT" transactions. (check-in: [f7e3e2bc] user: dan branch: begin-concurrent, size: 365435)
2017-05-30
18:34
[8ac6ae35] part of check-in [e972a386] 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. (check-in: [e972a386] user: drh branch: trunk, size: 346155)
2017-05-29
19:23
[8be55b3e] part of check-in [9ad846e5] Instead of a root page number, log the object (table or index) name if a page level locking conflict is detected. (check-in: [9ad846e5] user: dan branch: begin-concurrent, size: 364177)
14:27
[3c540945] part of check-in [92618492] Enhance the log messages emitted when a page conflict is detected. (check-in: [92618492] user: dan branch: begin-concurrent, size: 362684)
2017-05-27
18:05
[babb72f4] part of check-in [214d238a] Add debugging functions btreePageOriginFile() and btreePageOriginOffset(). (check-in: [214d238a] user: dan branch: btree-debug, size: 347766)
2017-05-26
16:15
[ca942fd7] part of check-in [a4a3bbe6] Fix a problem with deferred page allocation in transactions that revert page allocations by savepoint rollbacks. (check-in: [a4a3bbe6] user: dan branch: begin-concurrent, size: 362057)
2017-05-25
21:35
[0065e4bb] part of check-in [6f415833] Small performance increase and size decrease in the btreeInitPage() routine. (check-in: [6f415833] user: drh branch: trunk, size: 346719)
21:02
[ffb001f0] part of check-in [47a7dd92] 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. (check-in: [47a7dd92] user: dan branch: begin-concurrent, size: 362032)
2017-05-15
17:34
[b8ffd067] part of check-in [14ea8400] Merge the latest changes from trunk. (check-in: [14ea8400] user: drh branch: begin-concurrent, size: 362009)
2017-05-11
18:49
[9d5f1346] part of check-in [b55c0f14] Merge recent enhancements from trunk. (check-in: [b55c0f14] user: drh branch: apple-osx, size: 347103)
2017-05-01
20:07
[ca26f48d] part of check-in [83b1e163] Update this branch with latest trunk changes. (check-in: [83b1e163] user: dan branch: server-edition, size: 356201)
18:24
[8c1fd4cf] part of check-in [adcad37b] Enhance "PRAGMA integrity_check" to detect duplicate rowids within a leaf page. (check-in: [adcad37b] user: dan branch: trunk, size: 346887)
18:12
[ef42df0c] part of check-in [a6727eef] Clear the BTCF_ValidNKey flag set if a cursor is moved by sqlite3BtreeInsert(). Fix for [f68dc596c4]. (check-in: [a6727eef] user: dan branch: trunk, size: 346808)
2017-04-29
15:48
[5bd5e1f1] part of check-in [f6b025bf] Avoid reading the file-size before page 1 is read-locked. (check-in: [f6b025bf] user: dan branch: server-edition, size: 356083)
2017-04-28
17:32
[defa7525] part of check-in [a40b42c4] Fix various bugs revealed by running performance tests. (check-in: [a40b42c4] user: dan branch: server-edition, size: 356237)
14:09
[16a5f4fd] part of check-in [a5a08548] Add a missing releasePage() call to the server-mode free-list management code. (check-in: [a5a08548] user: dan branch: server-edition, size: 355645)
10:20
[c721037a] part of check-in [778e8a10] Use a different free-list format for server-mode databases in order to reduce contention. (check-in: [778e8a10] user: dan branch: server-edition, size: 355620)
2017-04-24
16:14
[71c947c2] part of check-in [031feebc] Bring in all the latest enhancements from trunk. (check-in: [031feebc] user: drh branch: apple-osx, size: 346985)
14:16
[a0d9a1c7] part of check-in [1c1b0862] 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]. (check-in: [1c1b0862] user: dan branch: trunk, size: 346769)
2017-04-08
00:25
[1b654f06] part of check-in [dd16439e] Merge the latest trunk changes. (check-in: [dd16439e] user: drh branch: apple-osx, size: 347113)
2017-04-01
00:20
[24ae5472] part of check-in [2452f061] 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. (check-in: [2452f061] user: drh branch: trunk, size: 346897)
2017-03-30
20:26
[9f218dcf] part of check-in [ed28f15e] Merge all changes from the 3.18.0 release. (check-in: [ed28f15e] user: drh branch: apple-osx, size: 347466)
2017-03-29
18:03
[64ff65a0] part of check-in [4a01880b] Avoid unnecessary blob handle invalidation when changes are made to an unrelated table. (check-in: [4a01880b] user: drh branch: trunk, size: 347390)
2017-03-24
15:09
[a6be0129] part of check-in [fd5676fe] Merge all recent enhancements from trunk. (check-in: [fd5676fe] user: drh branch: begin-concurrent, size: 362372)
2017-03-16
18:54
[ae0e0397] part of check-in [df39adea] Fix a typo causing the build to fail if SQLITE_DEFAULT_SYNCHRONOUS==SQLITE_DEFAULT_WAL_SYNCHRONOUS. (check-in: [df39adea] user: dan branch: default-synchronous-fix, size: 347250)
18:14
[ace24955] part of check-in [78030c0f] 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. (check-in: [78030c0f] user: dan branch: default-synchronous-fix, size: 347237)
2017-03-06
20:00
[75b11704] part of check-in [1650c3f4] Merge all pending 3.18 enhancements from trunk. (check-in: [1650c3f4] user: drh branch: apple-osx, size: 347056)
11:39
[e2bae0a0] part of check-in [5f7fc79a] Merge updates from trunk. (check-in: [5f7fc79a] user: drh branch: auto-analyze, size: 346840)
2017-03-03
20:02
[91baade7] part of check-in [5d0455fe] Fix a case introduced by [4cd2a967] where a corrupt database could cause a buffer overwrite. (check-in: [5d0455fe] user: dan branch: trunk, size: 346141)
2017-03-02
13:22
[83e2bc48] part of check-in [c60cdb47] Merge recent trunk enhancements. (check-in: [c60cdb47] user: drh branch: auto-analyze, size: 346094)
2017-02-25
16:24
[03149b0f] part of check-in [f9863b39] Tweak the code on this branch to detect b-tree page corruption in the same cases as the trunk. (check-in: [f9863b39] user: dan branch: defragmentpage-opt, size: 345395)
2017-02-24
19:58
[1763e0ec] part of check-in [202b1c02] Optimize defragmentPage() in the case where the page contains either one or two free-blocks and a small number of fragmented bytes. (check-in: [202b1c02] user: dan branch: defragmentpage-opt, size: 345380)
2017-02-23
02:15
[19746a7d] part of check-in [7a959f6d] Add two NEVER() operators in the sqlite3BtreeRowCountEst() routine. (check-in: [7a959f6d] user: drh branch: auto-analyze, size: 344757)
2017-02-18
02:42
[a4ab1fb5] part of check-in [4229caec] Fix errors in the table resize detection. (check-in: [4229caec] user: drh branch: auto-analyze, size: 344568)
2017-02-17
19:24
[e7d724b0] part of check-in [bfbdd074] The analyze_as_needed pragma now responds to table size growth and will automatically rerun the analysis after each 10x size increase. (check-in: [bfbdd074] user: drh branch: auto-analyze, size: 344569)
2017-02-16
14:02
[ab9cb31e] part of check-in [325ccfa9] Merge recent enhancements from trunk. (check-in: [325ccfa9] user: drh branch: est_count_pragma, size: 346092)
2017-02-13
13:35
[3ae66974] part of check-in [670f10b2] Change all legacy instances of "#if SQLITE_DEBUG" to "#ifdef SQLITE_DEBUG" for consistency. (check-in: [670f10b2] user: drh branch: trunk, size: 344058)
2017-02-04
15:29
[05843aa2] part of check-in [6c3f0902] Merge recent trunk enhancements. (check-in: [6c3f0902] user: drh branch: apple-osx, size: 344268)
2017-02-02
00:46
[9fe65ab4] part of check-in [01d97e5b] This is an experimental patch that ensures that all cursors have their position saved prior to starting a ROLLBACK TO. (check-in: [01d97e5b] user: drh branch: savepoint-rollback, size: 344052)
2017-01-27
16:39
[a018a533] part of check-in [0e14fe1b] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [0e14fe1b] user: drh branch: apple-osx, size: 344157)
16:24
[4be2a8e4] part of check-in [fe86ff54] Merge all recent enhancements from trunk. (check-in: [fe86ff54] user: drh branch: est_count_pragma, size: 345975)
01:25
[6a63fa34] part of check-in [c012619b] Another micro-optimization in accessPayload(). Slightly smaller and faster. (check-in: [c012619b] user: drh branch: trunk, size: 343941)
01:13
[1329274c] part of check-in [ebb1fd98] Performance optimization in accessPayload(). (check-in: [ebb1fd98] user: drh branch: trunk, size: 343897)
00:31
[d42f2902] part of check-in [68e7a8c6] 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]. (check-in: [68e7a8c6] user: drh branch: trunk, size: 343869)
2017-01-26
21:30
[bd72bb69] part of check-in [293bf3ed] Remove an unreachable branch in the error handling logic for sqlite3BtreePayloadChecked(). (check-in: [293bf3ed] user: drh branch: trunk, size: 344368)
16:54
[6fe6a585] part of check-in [7459f4b7] Performance optimization to sqlite3_blob_read(). (check-in: [7459f4b7] user: drh branch: trunk, size: 344363)
16:27
[a168da7c] part of check-in [3e96d6ef] Minor simplification and performance optimization for Direct Overflow Read. (check-in: [3e96d6ef] user: drh branch: trunk, size: 344087)
02:26
[4a4ae5fd] part of check-in [9879be18] Make SQLITE_DIRECT_OVERFLOW_READ work for in WAL mode as long as the page being read is not in the the -wal file. (check-in: [9879be18] user: drh branch: trunk, size: 344285)
2017-01-21
21:47
[f1b36bcf] part of check-in [2c4ecb85] A better implementation of the moveto-neighbor optimization that checks for nearby rows on adjacent pages. (check-in: [2c4ecb85] user: drh branch: btree-moveto-neighbor, size: 344289)
16:54
[972b7e13] part of check-in [8e5cfb20] 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. (check-in: [8e5cfb20] user: drh branch: btree-moveto-neighbor, size: 344029)
2017-01-20
20:43
[e6b8f39d] part of check-in [264e5c10] Minor performance optimization and size reduction to the accessPayload() routine in btree.c. (check-in: [264e5c10] user: drh branch: trunk, size: 343675)
2017-01-19
11:52
[9e3d38d2] part of check-in [50ca94b9] Add test cases for the instrumentation on this branch. Fix some OOM handling issues in the same. (check-in: [50ca94b9] user: dan branch: transaction-pages, size: 346905)
2017-01-18
20:14
[b0b714e3] part of check-in [2a8f6c89] 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. (check-in: [2a8f6c89] user: dan branch: transaction-pages, size: 346705)
2017-01-12
19:10
[69966fb2] part of check-in [9acc7238] Remove a branch that is probably unreachable, and which adds no value. (check-in: [9acc7238] user: drh branch: trunk, size: 343646)
16:14
[5f864213] part of check-in [bddf3956] Remove an unnecessary corruption test from the btree balancer. If corruption is present, it will be found harmlessly by later tests. (check-in: [bddf3956] user: drh branch: trunk, size: 343663)
15:19
[e40ad224] part of check-in [bd8b977a] Test case macros to show that the previous check-in is well tested. (check-in: [bd8b977a] user: drh branch: extra-testcase-macros, size: 343895)
15:11
[90f8b15e] part of check-in [8097712c] Improved detection of cells that extend into the reserved space at the end of the page while adjusting overflow page pointers during autovacuum. (check-in: [8097712c] user: drh branch: trunk, size: 343735)
2017-01-10
20:04
[44e96129] part of check-in [46db23cc] Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. (check-in: [46db23cc] user: dan branch: onepass-update, size: 343659)
2017-01-09
20:57
[32c8ebde] part of check-in [ff9eab95] Merge latest changes from trunk, and also move the perf-counter into the inner loop of sqlite3BtreeMovetoUnpacked(). (check-in: [ff9eab95] user: drh branch: vdbe-aux-perf, size: 342897)
06:33
[5e5bf507] part of check-in [d0e212d0] Upgrade this branch to 3.16 plus the various fixes that appeared after its release. (check-in: [d0e212d0] user: dan branch: begin-concurrent, size: 357983)
2017-01-07
00:42
[616212ac] part of check-in [746b1836] 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. (check-in: [746b1836] user: drh branch: vdbe-aux-perf, size: 342879)
2017-01-03
20:20
[95ffea8c] part of check-in [dcbec226] Merge changes from the 3.16.1 release (check-in: [dcbec226] user: drh branch: apple-osx, size: 343077)
2016-12-26
01:41
[d2c10061] part of check-in [e447b23c] 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. (check-in: [e447b23c] user: drh branch: trunk, size: 342861)
2016-12-21
19:45
[2e07a5a6] part of check-in [f7ab01f2] Simplifications to the way UnpackedRecord objects are allocated. Smaller and faster code that also fixes a subtle (currently unreachable) bug. (check-in: [f7ab01f2] user: drh branch: trunk, size: 342869)
2016-12-16
21:29
[66e48252] part of check-in [4b1e7804] Merge recent enhancements from trunk, and especially the pragma-as-vtab change. (check-in: [4b1e7804] user: drh branch: apple-osx, size: 343237)
15:57
[7892be7e] part of check-in [74a0ca1f] Merge recent trunk enhancements. (check-in: [74a0ca1f] user: drh branch: est_count_pragma, size: 345055)
2016-12-13
20:30
[b2055dff] part of check-in [ed2c9f37] Fix harmless compiler warnings. (check-in: [ed2c9f37] user: drh branch: trunk, size: 343021)
2016-12-12
18:12
[0d377e57] part of check-in [1b36fbb9] Remove unnecessary MemPage initialization resets in the autovacuum ptrmap processing. (check-in: [1b36fbb9] user: drh branch: trunk, size: 343007)
16:15
[50bd8434] part of check-in [a24f805b] Merge all the latest performance enhancements from trunk. (check-in: [a24f805b] user: drh branch: apple-osx, size: 343403)
12:58
[32811397] part of check-in [dc006e08] Merge recent enhancements from trunk. (check-in: [dc006e08] user: drh branch: est_count_pragma, size: 345221)
01:30
[383ce69b] part of check-in [57deb1b4] Size and performance optimization in btreeInitPage() in the freeblock validation step. (check-in: [57deb1b4] user: drh branch: trunk, size: 343187)
00:58
[5299b39c] part of check-in [f9f2e23b] Change the order of comparison for divider cell overflow in balance non-root to avoid a (harmless) reference to an uninitialized variable. (check-in: [f9f2e23b] user: drh branch: trunk, size: 343103)
2016-12-10
13:12
[55b5e0e1] part of check-in [35ecd4eb] Avoid an unnecessary memset() in the sqlite3BtreeInsert() routine. (check-in: [35ecd4eb] user: drh branch: trunk, size: 343095)
00:14
[518b5a36] part of check-in [478627c9] 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. (check-in: [478627c9] user: drh branch: failed-dropCell-opt, size: 344476)
2016-12-09
19:42
[217c9900] part of check-in [684ef458] When doing the sqlite3BtreeInsert() overwrite optimization, make sure the memcpy() does not extend off the end of the page. (check-in: [684ef458] user: drh branch: trunk, size: 343030)
18:09
[38bc160d] part of check-in [c1f0ae9d] Additional comments and an assert on the sqlite3BtreeInsert() overwrite optimization. (check-in: [c1f0ae9d] user: drh branch: trunk, size: 342958)
17:32
[71f31086] part of check-in [0b86fbca] In sqlite3BtreeInsert() when replacing a re-existing row, try to overwrite the cell directly rather than deallocate and reallocate the cell. (check-in: [0b86fbca] user: drh branch: trunk, size: 342582)
16:02
[c73d7787] part of check-in [01ada3d1] Avoid unnecessary zeroing of fields in the MemPage object that are going to be reinitialized before use anyhow. A smaller and faster binary results. (check-in: [01ada3d1] user: drh branch: trunk, size: 342422)
2016-11-30
16:39
[7b235533] part of check-in [7ca58a07] Merge all the latest changes from trunk. (check-in: [7ca58a07] user: drh branch: est_count_pragma, size: 344277)
2016-11-26
20:44
[f1818376] part of check-in [41a3af54] Merge all recent trunk changes, and especially the new sqlite3_snapshot_recover() interface. (check-in: [41a3af54] user: drh branch: apple-osx, size: 342459)
2016-11-25
19:18
[9b30dbe2] part of check-in [49ebc219] 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. (check-in: [49ebc219] user: drh branch: trunk, size: 342243)
2016-11-22
01:26
[090a13ac] part of check-in [32be7aae] Remove unnecessary OP_Close opcodes for a size reduction and performance increase. (check-in: [32be7aae] user: drh branch: trunk, size: 342137)
2016-11-15
04:00
[a7ed407f] part of check-in [66347385] 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. (check-in: [66347385] user: drh branch: trunk, size: 342816)
2016-11-11
18:19
[cfe038d1] part of check-in [1a587d72] 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. (check-in: [1a587d72] user: drh branch: unpacked-IdxInsert, size: 342707)
2016-11-10
21:19
[0974c9d9] part of check-in [9a64a4f2] Break up the sqlite3BtreeMovetoUnpacked() routine into an eponymous routine and sqlite3BtreeMovetoIntkey(). Each routine specializes in a single kind of btree. (check-in: [9a64a4f2] user: drh branch: split-moveto, size: 344727)
20:42
[592a72c2] part of check-in [eac0e827] Avoid a few unnecessary calls to sqlite3BtreeMovetoUnpacked(). (check-in: [eac0e827] user: drh branch: unpacked-IdxInsert, size: 342718)
2016-11-09
20:14
[d1a3d691] part of check-in [345b46be] 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. (check-in: [345b46be] user: drh branch: unpacked-IdxInsert, size: 342614)
00:10
[fa0e4f26] part of check-in [89d958ab] Enhance the OP_IdxInsert opcode to optionally accept unpacked key material. (check-in: [89d958ab] user: drh branch: unpacked-IdxInsert, size: 342481)
2016-11-04
19:09
[67d1cc4e] part of check-in [0e5ffd91] Merge recent trunk changes, including all the fixes that appeared in version 3.15.1. (check-in: [0e5ffd91] user: drh branch: apple-osx, size: 342445)
2016-11-03
18:30
[72965b02] part of check-in [63cfe197] 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. (check-in: [63cfe197] user: drh branch: branch-3.15, size: 341933)
2016-10-25
19:39
[4ea67e42] part of check-in [f7f78147] Simplifications to faststat1.c. Fix a bug in sqlite3MovetoProportional() for very large b-trees. (check-in: [f7f78147] user: drh branch: est_count_pragma, size: 344263)
17:28
[c0921ff5] part of check-in [c3570e46] Merge recent trunk changes, and especially the PRAGMA index_info enhancement which is needed on this branch. (check-in: [c3570e46] user: drh branch: est_count_pragma, size: 344193)
2016-10-24
01:01
[6ae1c173] part of check-in [98795c2d] Performance optimization in moveToRoot(). Avoid repeated validity checking of the root page on each call. Once is enough. (check-in: [98795c2d] user: drh branch: trunk, size: 342229)
2016-10-21
17:45
[da295509] part of check-in [0c8a5b88] Merge updates from trunk, and especially the ".mode quote" enhancement to the shell. (check-in: [0c8a5b88] user: drh branch: est_count_pragma, size: 344091)
17:25
[955375bb] part of check-in [affc2ef5] Add the btree_sample(INDEX,LOCATION,LIMIT) pragma. (check-in: [affc2ef5] user: drh branch: est_count_pragma, size: 344091)
10:49
[0fde2593] part of check-in [b54c15f1] 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. (check-in: [b54c15f1] user: dan branch: trunk, size: 342127)
2016-10-20
22:02
[c58b8a52] part of check-in [340822af] Experimental est_count pragma. (check-in: [340822af] user: drh branch: est_count_pragma, size: 344042)
2016-10-17
15:28
[4d035fb5] part of check-in [c88d36e2] Changes to support interrupting a checkpoint using sqlite3_interrupt(). (check-in: [c88d36e2] user: dan branch: trunk, size: 342127)
2016-10-04
00:47
[7a45743f] part of check-in [b10d0f93] Do not bother to initialize unused fields in the BtreePayload object. (check-in: [b10d0f93] user: drh branch: trunk, size: 341933)
2016-10-03
01:21
[a0a80fbb] part of check-in [ea8affa9] Allocate Parse objects off of the stack where appropriate for a substantial performance increase and a size reduction. (check-in: [ea8affa9] user: drh branch: trunk, size: 341989)
2016-09-28
16:15
[39e9ee32] part of check-in [06014163] Merge recent enhancements from trunk. (check-in: [06014163] user: drh branch: apple-osx, size: 342205)
2016-09-17
19:34
[56e1732e] part of check-in [63962e2a] Small performance optimization in the freeSpace() routine of btree.c. (check-in: [63962e2a] user: drh branch: trunk, size: 341989)
2016-08-13
14:30
[a4a3ac60] part of check-in [c7a9f26d] Questionable changes to support interruptible checkpoint in ZipVFS. (check-in: [c7a9f26d] user: dan branch: interruptible-checkpoint, size: 342147)
2016-08-12
16:21
[7aa56fb3] part of check-in [8a5f41c7] Have wal file checkpoints exit early if the sqlite3_interrupt() API function is called. (check-in: [8a5f41c7] user: dan branch: interruptible-checkpoint, size: 341970)
2016-08-11
19:12
[8872dcc8] part of check-in [d9f8918c] Merge version 3.14 plus some subsequent patches (including the page-cache performance patch) from trunk. (check-in: [d9f8918c] user: drh branch: begin-concurrent, size: 357075)
2016-08-04
09:13
[0a3308f2] part of check-in [bf5a9542] Merge the ORDER BY LIMIT fix, and other enhancements, from trunk. (check-in: [bf5a9542] user: drh branch: apple-osx, size: 342169)
2016-08-03
14:51
[2551bd3e] part of check-in [722c1281] Fix a typo in a comment in btree.c. No changes to code. (check-in: [722c1281] user: drh branch: trunk, size: 341953)
2016-07-25
17:31
[eb4d02a0] part of check-in [e98cefb1] Merge 3.14 alpha changes from trunk. (check-in: [e98cefb1] user: drh branch: apple-osx, size: 342166)
2016-07-14
20:19
[44c34502] part of check-in [46bd9533] Experimental patch restore the slight bias in btree-balancing immediately after the change to reduces the amount of memcpy() work done by balancing. (check-in: [46bd9533] user: drh branch: btree-balance-bias, size: 308892)
19:48
[6a42efa4] part of check-in [d2a0af7a] Minor tweak the the b-tree balancer. (check-in: [d2a0af7a] user: drh branch: btree-tuning, size: 341950)
2016-07-06
10:12
[dc4e5f3e] part of check-in [118321c8] Add the SQLITE_DBSTATUS_PROPORTIONAL_CACHE_USED sqlite3_db_status() parameter. (check-in: [118321c8] user: dan branch: dbstatus-prop-cache-used, size: 341940)
2016-06-15
10:21
[765b38f6] part of check-in [0f707d15] Merge changes from trunk. (check-in: [0f707d15] user: drh branch: apple-osx, size: 341783)
2016-06-13
12:51
[06212476] part of check-in [fcf6114b] Fix an incorrect assert() in the btree logic. (check-in: [fcf6114b] user: drh branch: trunk, size: 341567)
2016-06-06
01:54
[2781fb1d] part of check-in [e106a77d] Small performance boost and size decrease in sqlite3BtreeMovetoUnpacked(). (check-in: [e106a77d] user: drh branch: trunk, size: 341567)
2016-06-04
21:05
[b8875cff] part of check-in [5e269c2d] Improved comment on cursorOwnsBtShared(). No changes to code. (check-in: [5e269c2d] user: drh branch: btree-refactor, size: 341495)
20:58
[579a8160] part of check-in [aa53a36e] Fix a C99-ism and a compiler warning for MSVC. (check-in: [aa53a36e] user: drh branch: btree-refactor, size: 340970)
20:37
[b55e9685] part of check-in [bef35e18] 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. (check-in: [bef35e18] user: drh branch: btree-refactor, size: 340960)
2016-05-23
02:57
[3a0ee76b] part of check-in [815cc2bb] Merge changes from trunk. (check-in: [815cc2bb] user: drh branch: apple-osx, size: 341878)
2016-05-21
23:25
[2128172f] part of check-in [dec13075] More tweaks to improve the performance of the insert logic, slightly. (check-in: [dec13075] user: drh branch: trunk, size: 341662)
20:03
[e312cc3f] part of check-in [55f348cd] 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. (check-in: [55f348cd] user: drh branch: trunk, size: 341569)
19:10
[09df1674] part of check-in [2ce11667] Remove some unused legacy code from the btree insert logic. (check-in: [2ce11667] user: drh branch: trunk, size: 341476)
12:29
[da39b19b] part of check-in [1dbaf7a1] Yet another minor size reduction and performance increase in the b-tree insert logic. (check-in: [1dbaf7a1] user: drh branch: trunk, size: 341556)
11:23
[ab4ab00f] part of check-in [656aa1ec] Small size reduction and performance increase in the sqlite3BtreeInsert() logic. (check-in: [656aa1ec] user: drh branch: trunk, size: 341494)
2016-05-16
13:37
[57540cfb] part of check-in [0d9b82af] Merge recent fixes from trunk. (check-in: [0d9b82af] user: drh branch: apple-osx, size: 341575)
2016-05-09
23:11
[e53a0154] part of check-in [79ecd0ef] Fixes to requirements marks. No changes to code. (check-in: [79ecd0ef] user: drh branch: trunk, size: 341359)
2016-04-21
15:35
[134f1b04] part of check-in [a15c49ae] Merge all recent enhancements from trunk. (check-in: [a15c49ae] user: drh branch: apple-osx, size: 341547)
2016-04-20
12:16
[6deeeeff] part of check-in [1f709fbf] Merge all recent enhancements from trunk. (check-in: [1f709fbf] user: drh branch: begin-concurrent, size: 356453)
2016-04-18
16:06
[c833d5ac] part of check-in [368e86c7] 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] (check-in: [368e86c7] user: drh branch: branch-3.12.0, size: 341317)
2016-04-09
17:04
[3ae6aea6] part of check-in [ca2ef8a8] 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] (check-in: [ca2ef8a8] user: drh branch: trunk, size: 341331)
2016-04-05
13:35
[556203aa] part of check-in [7cacf4e9] Use SQLITE_WITHIN() for pointer range comparisons in some testing code. (check-in: [7cacf4e9] user: drh branch: trunk, size: 341331)
13:19
[2b5504ac] part of check-in [85b97931] Do not allow pointer arithmetic to move a pointer across a memory allocation boundary. (check-in: [85b97931] user: drh branch: trunk, size: 341324)
2016-03-29
10:36
[108728ae] part of check-in [d7381eff] Merge 3.12.0 changes. (check-in: [d7381eff] user: drh branch: begin-concurrent, size: 356439)
10:30
[2c5e9c74] part of check-in [eef55744] Merge 3.12.0 changes. (check-in: [eef55744] user: drh branch: apple-osx, size: 341533)
2016-03-22
15:25
[577fb567] part of check-in [5ace870d] Fix a harmless compiler warning. (check-in: [5ace870d] user: drh branch: trunk, size: 341317)
14:37
[8a02b1fb] part of check-in [2484cc0c] Create the "uptr" typedef (the same as uintptr_t when available) and use it to cast pointers before comparison. (check-in: [2484cc0c] user: drh branch: trunk, size: 341311)
14:10
[5753da53] part of check-in [ff1b1ac3] Avoid the possibility of integer overflow on a pointer comparison test for corruption in the database file. (check-in: [ff1b1ac3] user: drh branch: trunk, size: 341287)
2016-03-16
19:34
[dab12f0a] part of check-in [a7978ab6] Merge the latest enhancements from trunk. (check-in: [a7978ab6] user: drh branch: begin-concurrent, size: 356172)
2016-03-15
12:45
[119943fd] part of check-in [f41a7361] Merge updates from trunk - FTS5 fixes and enhancemenets to the tests scripts so that they work with SEE. (check-in: [f41a7361] user: drh branch: apple-osx, size: 341266)
2016-03-09
03:29
[6eee126f] part of check-in [fa20dcb0] Update a comment in btree.c to account for WITHOUT ROWID tables. No code changes. (check-in: [fa20dcb0] user: drh branch: trunk, size: 341050)
2016-03-08
16:35
[1e36580a] part of check-in [29741941] Merge changes from trunk, especially the SQLITE_DEFAULT_SYNCHRONOUS enhancements. (check-in: [29741941] user: drh branch: apple-osx, size: 341297)
15:30
[2712f087] part of check-in [592d2104] Make the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS values zero-based to agree with PRAGMA synchronous. (check-in: [592d2104] user: drh branch: default-synchronous, size: 341081)
15:14
[be3ac34a] part of check-in [5791407b] 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. (check-in: [5791407b] user: drh branch: default-synchronous, size: 341077)
2016-02-26
16:14
[97520970] part of check-in [4fb4aee8] Merge all recent enhancements from trunk, and in particular the SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER change. (check-in: [4fb4aee8] user: drh branch: apple-osx, size: 341659)
2016-02-22
23:44
[7bb920c4] part of check-in [aa9f4c62] Remove code not needed now that synchronous=OFF database files no longer trigger the use of a master journal. (check-in: [aa9f4c62] user: drh branch: trunk, size: 340528)
2016-02-18
01:36
[733117e4] part of check-in [b7fa0fb3] Merge recent performance enhancements and the enhanced API_ARMOR from trunk. (check-in: [b7fa0fb3] user: drh branch: apple-osx, size: 342056)
2016-02-15
17:44
[2cca792e] part of check-in [c393ddc7] Merge version 3.11.0 (check-in: [c393ddc7] user: drh branch: begin-concurrent, size: 355982)
2016-02-13
23:43
[474ad91c] part of check-in [6a9c4a3e] Enhance ability to debug out-of-memory errors. (check-in: [6a9c4a3e] user: mistachkin branch: noMemBkpt, size: 340925)
2016-02-09
15:50
[c9123aa7] part of check-in [f0734017] Merge recent fixes and enhancements from trunk. (check-in: [f0734017] user: drh branch: apple-osx, size: 341991)
2016-02-06
22:32
[4c8caaee] part of check-in [b0b4624f] 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. (check-in: [b0b4624f] user: drh branch: trunk, size: 340860)
2016-02-05
14:34
[deead36f] part of check-in [332c8036] Merge PRAGMA synchronous=EXTRA and OOM performance enhancements from trunk. (check-in: [332c8036] user: drh branch: begin-concurrent, size: 355879)
14:29
[b5c39d04] part of check-in [201fcbee] Merge OOM handling optimizations and PRAGMA synchronous=EXTRA as well as other enhancements from trunk. (check-in: [201fcbee] user: drh branch: apple-osx, size: 341888)
2016-02-04
11:48
[0b359bcc] part of check-in [b787165b] Remove unnecessary sets of db->mallocFailed. (check-in: [b787165b] user: drh branch: trunk, size: 340757)
2016-02-02
02:53
[3d3c562e] part of check-in [347f6a80] Merge recent enhancements from trunk. (check-in: [347f6a80] user: drh branch: begin-concurrent, size: 355911)
02:30
[af43a832] part of check-in [e6a4a163] Merge recent enhancements from trunk. (check-in: [e6a4a163] user: drh branch: apple-osx, size: 341920)
2016-02-01
00:21
[a2a0244e] part of check-in [22eaced7] Fix an assert() that might fail on a corrupt database. (check-in: [22eaced7] user: drh branch: trunk, size: 340789)
2016-01-30
13:32
[e3929afb] part of check-in [85c46704] 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. (check-in: [85c46704] user: drh branch: trunk, size: 340775)
12:50
[5e3435a3] part of check-in [0bdb41c4] 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. (check-in: [0bdb41c4] user: drh branch: trunk, size: 339373)
2016-01-27
16:26
[16edaf41] part of check-in [1d3bf6be] Change the name of the BTREE_IDXDELETE flag to BTREE_AUXDELETE, to better reflect its purpose. (check-in: [1d3bf6be] user: drh branch: fordelete-assert, size: 340727)
2016-01-21
17:06
[97cf8812] part of check-in [ac2cbadd] 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. (check-in: [ac2cbadd] user: drh branch: btree-fordelete-flag, size: 340503)
2016-01-20
12:18
[7d0dc384] part of check-in [5520f600] Merge recent enhancements from trunk. (check-in: [5520f600] user: drh branch: begin-concurrent, size: 354447)
11:40
[3744d145] part of check-in [3ed49691] Merge all recent enhancements from trunk. (check-in: [3ed49691] user: drh branch: apple-osx, size: 340456)
01:32
[f224ae87] part of check-in [f421adf5] Very small simplification to the btree balancer. (check-in: [f421adf5] user: drh branch: trunk, size: 339325)
2016-01-15
15:06
[d9c6b2e2] part of check-in [c52ca2c0] Work toward making the schema parsing logic simplier and more compact. (check-in: [c52ca2c0] user: drh branch: trunk, size: 339387)
2016-01-14
15:46
[04dccbd5] part of check-in [fccc5f20] Merge the latest enhancements and fixes from trunk. (check-in: [fccc5f20] user: dan branch: begin-concurrent, size: 354650)
15:03
[258d048e] part of check-in [d85774e0] Merge the latest enhancements and fixes from trunk. (check-in: [d85774e0] user: drh branch: apple-osx, size: 340659)
2016-01-12
04:08
[5d93e247] part of check-in [5fc0a4c1] Remove an unused field from the MemPage object. (check-in: [5fc0a4c1] user: drh branch: trunk, size: 339528)
2016-01-11
12:49
[cefa8e08] part of check-in [79125ec9] Merge enhancements from trunk, and in particular the WAL overwrite feature. (check-in: [79125ec9] user: drh branch: apple-osx, size: 340921)
2016-01-08
19:34
[6bd9b3d7] part of check-in [3392f8fa] Fix the build for SQLITE_OMIT_SHARED_CACHE, which was broken, possibly by check-in [2d96aeba]. (check-in: [3392f8fa] user: drh branch: trunk, size: 339790)
2016-01-07
16:43
[09ec3ca5] part of check-in [359277e0] Add some assert() statements to verify, where possible, that BtShared.db is set correctly. (check-in: [359277e0] user: dan branch: shared-cache-fix, size: 339690)
16:06
[d40cbcd2] part of check-in [d0214602] 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. (check-in: [d0214602] user: dan branch: shared-cache-fix, size: 339535)
2016-01-01
14:14
[90fda80e] part of check-in [6bea792c] Merge recent trunk enhancements. (check-in: [6bea792c] user: drh branch: begin-concurrent, size: 354521)
13:31
[c24afbe7] part of check-in [5b700f31] Merge all recent trunk enhancements. (check-in: [5b700f31] user: drh branch: apple-osx, size: 340530)
03:37
[4d3452b2] part of check-in [68360cd2] Fix an assert() that might be false for a corrupt database. (check-in: [68360cd2] user: drh branch: trunk, size: 339399)
2015-12-30
20:50
[ec6627fb] part of check-in [1541607d] Use the OvflOffset() macro to try to remove some magic numbers from btree.c. (check-in: [1541607d] user: drh branch: ovfloffset-macro, size: 339403)
2015-12-18
03:59
[5ac3f868] part of check-in [78507154] Reduce the size of the CellInfo object from 32 to 24 bytes on 64-bit machines. (check-in: [78507154] user: drh branch: optimize-cellinfo, size: 339383)
2015-12-17
17:30
[cb0ed74a] part of check-in [98b710c3] Reduce the size of the VdbeCursor object by a pointer (the pBt pointer used for ephemeral tables). (check-in: [98b710c3] user: drh branch: optimize-vdbecursor, size: 339668)
2015-12-16
19:55
[d8e450a5] part of check-in [cb22efaf] Merge recent enhancements from trunk. (check-in: [cb22efaf] user: drh branch: begin-concurrent, size: 354646)
13:07
[84ede51e] part of check-in [f2fc3aed] Make greater use of the SQLITE_WITHIN macro. (check-in: [f2fc3aed] user: drh branch: trunk, size: 339524)
2015-12-11
12:53
[1b90ae05] part of check-in [7e7b2406] Merge recent trunk enhancements, and in particular the snapshot interface. (check-in: [7e7b2406] user: drh branch: apple-osx, size: 340642)
2015-12-10
15:09
[450950ce] part of check-in [ad3124c8] Move pointer range comparisons into a macro, where they can be dealt with in a more portable way. (check-in: [ad3124c8] user: drh branch: stdint.h, size: 339511)
2015-12-08
16:58
[81d04142] part of check-in [901d0b8f] 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. (check-in: [901d0b8f] user: drh branch: trunk, size: 339642)
2015-11-20
13:49
[ab52539c] part of check-in [41c8b8e3] Merge all the latest enhancements and fixes from trunk. (check-in: [41c8b8e3] user: drh branch: begin-concurrent, size: 354634)
2015-11-12
16:51
[59c8f285] part of check-in [e72331c7] Merge the latest enhancements from trunk, and in particular the "PRAGMA cache_spill=N" change. (check-in: [e72331c7] user: drh branch: apple-osx, size: 340643)
14:57
[d3bdd846] part of check-in [549d42be] First attempt at enhancing the "PRAGMA cache_spill" statement to accept a cache threashold size. (check-in: [549d42be] user: drh branch: cache_spill=N, size: 339512)
2015-11-07
01:57
[5e5316b3] part of check-in [5429f99b] Merge recent enhancements and fixes from trunk. (check-in: [5429f99b] user: drh branch: apple-osx, size: 340327)
2015-11-05
22:30
[9e5d713b] part of check-in [997ce6c9] Improvements and simplifications to the equality seek logic. Tests are adjusted so that they all pass now. (check-in: [997ce6c9] user: drh branch: seekeq-experiment, size: 339196)
03:26
[233c1536] part of check-in [b9b22fae] Remove #pragma that was used to work around an obsolete issue with MSVC 2012. (check-in: [b9b22fae] user: mistachkin branch: reoptimizeArm, size: 339091)
2015-11-04
22:31
[080c3cb5] part of check-in [2aa50f6f] Performance improvements in the getAndInitPage() routine of btree.c. (check-in: [2aa50f6f] user: drh branch: trunk, size: 339278)
20:22
[692ca3e6] part of check-in [708253be] Rename the sqlite3PagerAcquire() function to sqlite3PagerGet(). The former macro called sqlite3PagerGet() has been removed. (check-in: [708253be] user: drh branch: trunk, size: 339046)
2015-10-30
17:17
[0a1dd8e0] part of check-in [f2cde4cf] Merge the sqlite3_db_cacheflush() enhancements and other changes from trunk. (check-in: [f2cde4cf] user: drh branch: begin-concurrent, size: 354171)
16:23
[35af7ace] part of check-in [6e4306ef] Merge latest trunk changes, including sqlite3_db_cacheflush(), with this branch. (check-in: [6e4306ef] user: dan branch: apple-osx, size: 340180)
2015-10-27
13:24
[77343aac] part of check-in [b3ec9a0d] Split out sqlite3BtreeCursorHintFlags() from sqlite3BtreeCursorHint() the interface for improved performance. (check-in: [b3ec9a0d] user: drh branch: cursor-hints, size: 339049)
2015-10-26
20:50
[4213df62] part of check-in [bc195e1c] Merge latest trunk changes, including the SQLITE_IOERR_AUTH error code, with this branch. (check-in: [bc195e1c] user: dan branch: apple-osx, size: 339800)
20:11
[8022201b] part of check-in [20da0849] Merge the BTREE_FORDELETE enhancement with this branch. (check-in: [20da0849] user: dan branch: cursor-hints, size: 339090)
18:51
[6e7cafdb] part of check-in [53d5a4ad] Merge in all trunk changes prior to the BTREE_FORDELETE enhancement. (check-in: [53d5a4ad] user: drh branch: cursor-hints, size: 339044)
2015-10-22
20:54
[9d684e19] part of check-in [cdc92919] 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. (check-in: [cdc92919] user: dan branch: btree-fordelete-flag, size: 338669)
2015-10-16
03:34
[ea8c62f6] part of check-in [08e8f04d] 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. (check-in: [08e8f04d] user: drh branch: reorder-column-opcodes, size: 338623)
2015-10-15
07:44
[8853e6da] part of check-in [5c3a2a6e] Merge in the 3.9.0 changes from trunk. (check-in: [5c3a2a6e] user: drh branch: begin-concurrent, size: 353695)
2015-10-14
20:09
[7fc9513b] part of check-in [29444149] Merge in all the 3.9.0 updates from trunk. (check-in: [29444149] user: drh branch: cursor-hints, size: 338994)
2015-10-13
17:49
[7893a744] part of check-in [1900ce01] Merge 3.9.0 prerelease changes into the apple-osx branch. (check-in: [1900ce01] user: drh branch: apple-osx, size: 339704)
2015-10-10
16:41
[0b74bc28] part of check-in [fab6f090] Work around a "security feature" bug in memcpy() on OpenBSD. (check-in: [fab6f090] user: drh branch: trunk, size: 338573)
2015-10-09
17:28
[4c60a119] part of check-in [1ccae39b] Merge all changes through the first 3.9.0 beta from trunk. (check-in: [1ccae39b] user: drh branch: apple-osx, size: 339365)
2015-09-30
14:19
[a5a65308] part of check-in [29f7227f] Fix an assert() in btree.c that is only true for non-corrupt databases. (check-in: [29f7227f] user: drh branch: trunk, size: 338234)
12:59
[dd877a85] part of check-in [a6d5e4e8] Clear the BTCF_ValidNKey flag when putting a cursor into REQUIRESEEK state. Fix for [1b266395]. (check-in: [a6d5e4e8] user: dan branch: trunk, size: 338220)
2015-09-24
15:17
[82ba9189] part of check-in [c63c1e15] Merge all recent trunk enhancements and fixes into the begin-concurrent branch. (check-in: [c63c1e15] user: drh branch: begin-concurrent, size: 353309)
15:06
[9c791540] part of check-in [fbe63762] Merge trunk changes into the cursor-hints branch. (check-in: [fbe63762] user: drh branch: cursor-hints, size: 338608)
14:43
[a6b7433b] part of check-in [4dd06d8b] Merge recent trunk enhancements into the apple-osx branch. (check-in: [4dd06d8b] user: drh branch: apple-osx, size: 339318)
2015-09-20
22:57
[16458315] part of check-in [825ce320] Fix an overly-strict assert() in the btree logic. (check-in: [825ce320] user: drh branch: trunk, size: 338187)
2015-09-18
14:45
[0dc030ce] part of check-in [26f64986] 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. (check-in: [26f64986] user: dan branch: trunk, size: 338121)
2015-09-15
19:16
[1c1519fc] part of check-in [fc4d1de8] Merge enhancements from trunk. (check-in: [fc4d1de8] user: drh branch: begin-concurrent, size: 353126)
17:31
[9d19d3f8] part of check-in [66fe0683] Merge enhancements from trunk. (check-in: [66fe0683] user: drh branch: cursor-hints, size: 338425)
17:20
[1fd5b28b] part of check-in [f12b8a0f] Merge trunk enhancements into the apple-osx branch. (check-in: [f12b8a0f] user: drh branch: apple-osx, size: 339135)
2015-09-14
14:08
[d31008cf] part of check-in [2edd2e5e] Fix a compiler warning and providing missing VdbeCoverage() calls. (check-in: [2edd2e5e] user: drh branch: trunk, size: 338004)
2015-09-12
19:26
[38ed0262] part of check-in [eaeb2b80] 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. (check-in: [eaeb2b80] user: dan branch: onepass-delete, size: 338004)
2015-09-03
15:17
[7663d054] part of check-in [f8ae9bfd] Changes from ENABLE_CONCURRENT (default off) to OMIT_CONCURRENT (default on). This is not a clear-cut decision and might be changed back. (check-in: [f8ae9bfd] user: drh branch: begin-concurrent, size: 350659)
14:39
[3d759d99] part of check-in [25ee3000] Merge enhancements from trunk. (check-in: [25ee3000] user: drh branch: cursor-hints, size: 335958)
14:31
[0ac85a15] part of check-in [d01658ad] Merge enhancements from trunk. (check-in: [d01658ad] user: drh branch: apple-osx, size: 336668)
14:04
[89f97b91] part of check-in [71e7299e] Merge trunk optimizations. (check-in: [71e7299e] user: drh branch: begin-concurrent, size: 350383)
2015-09-02
15:37
[4084d9ee] part of check-in [82355e41] Use sqlite3XPrintf() instead of sqlite3StrAccumAppend() in a few places for better performance and a smaller footprint. (check-in: [82355e41] user: drh branch: trunk, size: 335537)
2015-09-01
17:48
[ca6c7e4b] part of check-in [5ed2a445] Fixes so that it builds without warnings both with and without SQLITE_ENABLE_CONCURRENT. (check-in: [5ed2a445] user: drh branch: begin-concurrent, size: 350456)
2015-08-28
02:12
[d82a50a6] part of check-in [da864658] Merge trunk enhancements into the apple-osx branch. Most tests works, but there are yet a few issues to be resolved. (check-in: [da864658] user: drh branch: apple-osx, size: 336741)
2015-08-27
17:42
[88ff0f5b] part of check-in [fc17f731] Fix a problem whereby concurrent transactions would not consider pages read by the transaction before the first write statement. (check-in: [fc17f731] user: dan branch: begin-concurrent, size: 350386)
2015-08-25
17:16
[aacef0cd] part of check-in [f32b57b4] 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. (check-in: [f32b57b4] user: dan branch: begin-concurrent, size: 350251)
14:37
[a7632969] part of check-in [231b5880] Fix a segfault that could occur following an OOM condition in the concurrent transaction code. (check-in: [231b5880] user: dan branch: begin-concurrent, size: 350029)
2015-08-24
19:56
[f4db20fa] part of check-in [ba1ab858] Change "BEGIN UNLOCKED" to "BEGIN CONCURRENT". (check-in: [ba1ab858] user: dan branch: begin-concurrent, size: 350027)
16:00
[13f92476] part of check-in [04113557] Fix compilation without SQLITE_ENABLE_UNLOCKED. Also other code organization issues. (check-in: [04113557] user: dan branch: begin-concurrent, size: 349979)
10:05
[e8074096] part of check-in [701302b4] Consolidate two blocks of similar code in btreeFixUnlocked(). (check-in: [701302b4] user: dan branch: begin-concurrent, size: 349942)
2015-08-22
17:28
[245bc696] part of check-in [ed0a31be] Add further tests for deferred page allocation. And fixes for the same. (check-in: [ed0a31be] user: dan branch: begin-concurrent, size: 348734)
2015-08-21
20:11
[dc80ac83] part of check-in [53aaeea6] Fix many minor issues in the unlocked transaction code. (check-in: [53aaeea6] user: dan branch: begin-concurrent, size: 347586)
18:55
[e455c3db] part of check-in [06967916] 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). (check-in: [06967916] user: dan branch: begin-concurrent, size: 347586)
17:57
[fca7884e] part of check-in [227bb8a1] Fix a problem with UNLOCKED transactions that free pages allocated within the same transaction. (check-in: [227bb8a1] user: dan branch: begin-concurrent, size: 346545)
2015-08-19
20:27
[a00a7c48] part of check-in [3bbc31d5] 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. (check-in: [3bbc31d5] user: dan branch: begin-concurrent, size: 345852)
2015-08-15
18:16
[c1bbc835] part of check-in [de1ea450] Handle writes to auto-vacuum databases within UNLOCKED transactions in the same way as for non-UNLOCKED transactions. (check-in: [de1ea450] user: dan branch: begin-concurrent, size: 336067)
2015-08-14
23:57
[b8083a37] part of check-in [83a84435] Always provide the BTREE_BULKLOAD hint, even when SQLITE_ENABLE_CURSOR_HINTS is not defined, as that hint gives a 4% performance increase. (check-in: [83a84435] user: drh branch: cursor-hints, size: 336031)
15:05
[84ae3d2d] part of check-in [fc3fb5cd] Refactor the sqlite3BtreeCursorHint() interface for improved maintainability. (check-in: [fc3fb5cd] user: drh branch: cursor-hints, size: 336397)
2015-08-13
20:07
[060f2482] part of check-in [82a7a61b] Merge in all the trunk changes from the previous year. This breaks the cursor-hint mechanism, but provides a baseline for trouble-shooting. (check-in: [82a7a61b] user: drh branch: cursor-hints, size: 336213)
2015-08-11
01:45
[37d3bece] part of check-in [56ff336e] Two more places where logging of freelist trunk pages is needed. (check-in: [56ff336e] user: drh branch: experimentalIoLog, size: 337049)
2015-08-10
20:53
[546be5b4] part of check-in [bb5d7782] Record when an allocated page is taken from the freelist trunk. (check-in: [bb5d7782] user: drh branch: experimentalIoLog, size: 336849)
20:22
[304e7b5a] part of check-in [ac5d2e9d] Add the sqlite3_experimental_log_open() interface. This is for diagnostic use only and is not intended to ever go on trunk. (check-in: [ac5d2e9d] user: drh branch: experimentalIoLog, size: 336734)
2015-07-29
12:14
[5087b0a1] part of check-in [0b971842] Only allow UNLOCKED transactions to commit if none of the pages read by the transaction have been modified since it was opened. (check-in: [0b971842] user: dan branch: begin-concurrent, size: 336048)
2015-07-27
19:31
[b184ce6d] part of check-in [80794216] Add an experimental "BEGIN UNLOCKED" command. (check-in: [80794216] user: dan branch: begin-concurrent, size: 336261)
2015-07-14
17:18
[f48b3ef9] part of check-in [3de030c9] Fix some harmless compiler warnings. (check-in: [3de030c9] user: mistachkin branch: trunk, size: 335610)
2015-07-08
01:22
[781deff0] part of check-in [9417b402] Avoid left-shifting bits into the sign of a signed integer, as such behavior is technically undefined. (check-in: [9417b402] user: drh branch: pcache-bulk-local, size: 335606)
2015-07-04
11:14
[740ab30d] part of check-in [743bf1f1] 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. (check-in: [743bf1f1] user: drh branch: trunk, size: 335599)
2015-07-02
19:47
[7705ce3e] part of check-in [e53d497c] 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. (check-in: [e53d497c] user: drh branch: trunk, size: 335496)
16:52
[cf3375bf] part of check-in [bcc8a755] Fix harmless compiler warnings and one macro VVA_ONLY macro usage issue. (check-in: [bcc8a755] user: mistachkin branch: trunk, size: 334997)
16:29
[6368ffd4] part of check-in [3a26a919] Fix a (harmless) shadowed local variable definition in the integrity_check logic. (check-in: [3a26a919] user: drh branch: trunk, size: 334980)
16:17
[98ef3db8] part of check-in [251a7590] 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. (check-in: [251a7590] user: drh branch: trunk, size: 334970)
2015-07-01
17:53
[e283de2f] part of check-in [550705fc] 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. (check-in: [550705fc] user: drh branch: trunk, size: 333710)
17:13
[41c63a0f] part of check-in [1c522123] Rework the PRAGMA integrity_check logic. Simplify the checkTreePage() routine and clean up the error messages generated. (check-in: [1c522123] user: drh branch: integrity-check-refactor, size: 332825)
04:08
[075ce6dd] part of check-in [307195c8] Fix some harmless compiler warnings. (check-in: [307195c8] user: drh branch: trunk, size: 334131)
01:31
[a0eb750d] part of check-in [59ad912c] 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. (check-in: [59ad912c] user: drh branch: trunk, size: 334103)
2015-06-30
13:28
[3a535c01] part of check-in [79ff36b7] 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. (check-in: [79ff36b7] user: drh branch: bswap-functions, size: 334100)
02:47
[08ae64b0] part of check-in [429ccef2] 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. (check-in: [429ccef2] user: drh branch: trunk, size: 334051)
01:25
[5d5d4846] part of check-in [ed54c14e] Convert several 5-year-old and older NEVER() macros into assert(). (check-in: [ed54c14e] user: drh branch: trunk, size: 332969)
2015-06-29
23:01
[9d8ae0db] part of check-in [53fe685d] From sqlite3BtreeInsert(), bypass the btreeMoveto() routine for table inserts and go directly to sqlite3BtreeMovetoUnpacked(). (check-in: [53fe685d] user: drh branch: trunk, size: 333112)
00:52
[ce342e15] part of check-in [18115164] Move an assert() and testcase() into their correct position within getAndInitPage(). (check-in: [18115164] user: drh branch: trunk, size: 332963)
2015-06-27
23:55
[8f86dae0] part of check-in [63998471] Make greater use of BtCursor.curIntKey. (check-in: [63998471] user: drh branch: trunk, size: 332964)
22:49
[124fb2cf] part of check-in [4a17df13] Add the BtCursor.curIntKey field and use it for a small size reduction and performance boost. (check-in: [4a17df13] user: drh branch: trunk, size: 332942)
20:55
[a6b02598] part of check-in [291d9e0c] Enhancements to the previous check-in to make it a little smaller and faster. (check-in: [291d9e0c] user: drh branch: trunk, size: 332903)
19:45
[b1ba9f65] part of check-in [1956a4ce] Performance improvements in moveToChild() by shifting some work over to getAndInitPage(). Net improvement is about 800K cycles at cost of 30 bytes. (check-in: [1956a4ce] user: drh branch: trunk, size: 332821)
15:51
[be03b25d] part of check-in [7f65b96b] Manually inline the call from getAndInitPage() to btreeGetPage() for a savings of 2.5 million cycles at a cost of less than 100 bytes. (check-in: [7f65b96b] user: drh branch: trunk, size: 332306)
14:59
[bcd36697] part of check-in [9383a688] Add releasePageNotNull() as an alternative to releasePage() when the argument is guaranteed to be non-NULL, and use it for a small performance gain. (check-in: [9383a688] user: drh branch: trunk, size: 332203)
03:58
[2a7554d5] part of check-in [bee94dc3] Add the Mempage.aDataOfst field and use it in sqlite3BtreeMovetoUnpacked() for about a 2 million cycle gain. (check-in: [bee94dc3] user: drh branch: trunk, size: 332081)
2015-06-26
03:12
[c113f73f] part of check-in [7097716c] Fix harmless compiler warning in assert statement. (check-in: [7097716c] user: mistachkin branch: trunk, size: 331771)
2015-06-25
19:53
[40e98c10] part of check-in [7d02e6c9] Simplifications and performance improvements in insertCell(). (check-in: [7d02e6c9] user: drh branch: trunk, size: 331766)
18:36
[960a6413] part of check-in [78da0f69] More simplifications and performance improvements to cell allocation logic associated with allocateSpace(). (check-in: [78da0f69] user: drh branch: trunk, size: 331766)
16:01
[85679f63] part of check-in [d67b0ed1] Reorder the terms of a conditional for a small performance gain. (check-in: [d67b0ed1] user: drh branch: trunk, size: 331937)
15:21
[cb50b3f0] part of check-in [f824e66b] Remove a NEVER() that is in fact reachable. (check-in: [f824e66b] user: drh branch: trunk, size: 331937)
15:04
[8910b2a6] part of check-in [d007bc33] Minor optimization to allocateSpace(). (check-in: [d007bc33] user: drh branch: trunk, size: 331944)
13:03
[8a4109bd] part of check-in [476b1156] 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. (check-in: [476b1156] user: drh branch: trunk, size: 331822)
02:26
[a0eaf113] part of check-in [3ee888be] Remove a line of code that doesn't do any useful work. (check-in: [3ee888be] user: drh branch: trunk, size: 331694)
2015-06-24
13:32
[10ff19e0] part of check-in [3b6fa95e] Fix a harmless compiler warning. (check-in: [3b6fa95e] user: drh branch: trunk, size: 331739)
12:24
[1fbed350] part of check-in [4e5424fe] Prevent an infinite loop while searching a corrupt freelist. (check-in: [4e5424fe] user: drh branch: trunk, size: 331739)
12:07
[2167a4fd] part of check-in [5ba98343] Strengthen the new balance_nonroot() code against various corrupt database problems. (check-in: [5ba98343] user: drh branch: trunk, size: 331654)
01:07
[9980353a] part of check-in [14b73d20] Remove an invalid NEVER() and add a test case to cover it. (check-in: [14b73d20] user: drh branch: trunk, size: 331790)
2015-06-23
21:35
[587dd00c] part of check-in [eed6a331] Testability improvement. (check-in: [eed6a331] user: drh branch: btree-opt2, size: 331797)
18:24
[ca394997] part of check-in [f77f2f48] 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. (check-in: [f77f2f48] user: drh branch: btree-opt2, size: 331845)
17:09
[0b20e828] part of check-in [fda89b05] Faster loading of cell pointers into the b.apCell array in balance_nonroot. (check-in: [fda89b05] user: drh branch: btree-opt2, size: 331262)
16:00
[57f16870] part of check-in [6319ee12] Avoid unnecessary cachedCellSize() calls in the cell partition adjustment phase of balance_nonroot(). (check-in: [6319ee12] user: drh branch: btree-opt2, size: 331272)
15:36
[d3299e92] part of check-in [f7f41818] Change pageInsertArray() and pageFreeArray() so that they use the CellArray object and compute cell sizes as needed, resulting in smaller and faster code. (check-in: [f7f41818] user: drh branch: btree-opt2, size: 331254)
14:49
[8d772673] part of check-in [ee44bb25] Improvements to the way balance_nonroot() constructs the b.apCell array of pointers to cells. (check-in: [ee44bb25] user: drh branch: btree-opt2, size: 331414)
02:37
[e6ac65de] part of check-in [43844537] 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. (check-in: [43844537] user: drh branch: btree-opt2, size: 330783)
2015-06-22
20:02
[8f65725c] part of check-in [16872871] Change the way that balance_nonroot() partitions cells between the sibling pages such that a scan of the cell size array is not required. (check-in: [16872871] user: drh branch: btree-opt2, size: 328768)
2015-06-20
18:13
[a311c31f] part of check-in [522502ec] 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. (check-in: [522502ec] user: drh branch: btree-opt, size: 330951)
2015-06-19
20:08
[173c2ba1] part of check-in [3189116b] Fix corner cases involving corrupt varint values in record headers. (check-in: [3189116b] user: drh branch: btree-opt, size: 327692)
18:24
[32d2d867] part of check-in [faab0ed9] Performance improvements in btreeParseCell() by inlining the varint decoder. (check-in: [faab0ed9] user: drh branch: btree-opt, size: 327692)
17:19
[cf8310b4] part of check-in [41d03d88] Add the MemPage.xParseCell method and provide various implementations (variations on the former btreeParseCellPtr()) depending on the page type. (check-in: [41d03d88] user: drh branch: trunk, size: 326869)
15:07
[960e66f4] part of check-in [02f7e9d7] 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. (check-in: [02f7e9d7] user: drh branch: trunk, size: 324531)
2015-06-17
02:11
[02caf391] part of check-in [55c393ea] Make getCellInfo() a real function instead of a macro, for a size reduction and a 0.2% performance gain. (check-in: [55c393ea] user: drh branch: trunk, size: 323409)
2015-06-15
16:09
[e557af31] part of check-in [ae687652] Fix a harmless comment typo. No code changes. (check-in: [ae687652] user: drh branch: trunk, size: 324614)
12:58
[e269b13c] part of check-in [29bcb568] Improved detection of database corruption in freeSpace(). (check-in: [29bcb568] user: drh branch: trunk, size: 324611)
2015-06-02
19:36
[5166c278] part of check-in [9f035c45] Always check for cell overflow before returning a slot from the pageFindSlot routine in btree.c. (check-in: [9f035c45] user: drh branch: trunk, size: 324541)
14:02
[c73a1701] part of check-in [4e621af1] Fix a faulty assert() in btree.c. Update the database fuzz test file with new test cases. (check-in: [4e621af1] user: drh branch: trunk, size: 324541)
2015-05-29
18:42
[9e837a0e] part of check-in [09a38bf6] Ensure that allocateBtreePage() always clears the MemPage pointer when it fails due to an I/O or memory allocation error. (check-in: [09a38bf6] user: drh branch: trunk, size: 324512)
17:51
[5fa5fda8] part of check-in [db4e9728] Move two unreachable conditionals inside of NEVER() or assert(). (check-in: [db4e9728] user: drh branch: trunk, size: 324568)
17:13
[7dcddf0a] part of check-in [00693682] Remove a corruption test in balance_nonroot that is superceded by a prior better check. (check-in: [00693682] user: drh branch: trunk, size: 324405)
2015-05-28
15:14
[a1f51049] part of check-in [7da7dc71] Added comments and testcase() macros to error cases in the btree search. (check-in: [7da7dc71] user: drh branch: trunk, size: 324492)
11:23
[f34b9368] part of check-in [60a09f17] Earlier detection of incompatible sibling pages in balance_nonroot. (check-in: [60a09f17] user: drh branch: trunk, size: 324198)
03:28
[7cd71f55] part of check-in [fe15d1f7] 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. (check-in: [fe15d1f7] user: drh branch: trunk, size: 323950)
2015-05-27
18:13
[84b1f0f4] part of check-in [7373a004] All bytes of a page are initialized, even bytes that follow a 2-byte cell on a malformed page. (check-in: [7373a004] user: drh branch: trunk, size: 323206)
15:42
[de509eea] part of check-in [95eaa49f] 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. (check-in: [95eaa49f] user: drh branch: trunk, size: 323205)
14:21
[9c72a5a2] part of check-in [7e9e1b61] 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. (check-in: [7e9e1b61] user: dan branch: avoid-buffer-overread, size: 323389)
03:46
[5905cbd1] part of check-in [2ead43f0] Add the "PRAGMA cell_size_check=ON" command. (check-in: [2ead43f0] user: drh branch: cell-size-check-pragma, size: 322799)
2015-05-26
20:31
[51cafeb1] part of check-in [62a5b363] Avoid a buffer overread when comparing against a corrupt record that spans at least one overflow page. (check-in: [62a5b363] user: dan branch: trunk, size: 323254)
17:33
[82bb9ad9] part of check-in [5b46d2a7] Add a cast to one side of the test added by [97806a78] in order to avoid a signed/unsigned comparison warning. (check-in: [5b46d2a7] user: dan branch: trunk, size: 322983)
12:18
[8921e4d7] part of check-in [68876003] Return SQLITE_CORRUPT to the user if an attempt is made to add database page 1 to the free page list. (check-in: [68876003] user: dan branch: trunk, size: 322978)
2015-05-25
20:04
[a7d627f8] part of check-in [7d2c4f7b] Fix a case of a corrupt database causing SQLite to read from up to 4 bytes before the start of a memory allocation. (check-in: [7d2c4f7b] user: dan branch: trunk, size: 322920)
19:24
[a5beb7f1] part of check-in [aa18c8e9] Have the b-tree layer return SQLITE_CORRUPT to any attempt to open a cursor with a root page number less than 1. (check-in: [aa18c8e9] user: dan branch: trunk, size: 322859)
18:47
[91a435b3] part of check-in [8fa0937a] 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). (check-in: [8fa0937a] user: dan branch: trunk, size: 322792)
17:07
[03053533] part of check-in [97806a78] Fix a case where database corruption may cause SQLite to write past the end of a buffer. (check-in: [97806a78] user: dan branch: trunk, size: 322723)
15:03
[9114263d] part of check-in [00a473c5] Fix an assert() in btree routine freeSpace() that may be false if the database is corrupt. (check-in: [00a473c5] user: dan branch: trunk, size: 322693)
2015-05-24
21:46
[148cbc43] part of check-in [336fccc8] The assert() changes removed in the previous check-in are needed after all. (check-in: [336fccc8] user: drh branch: trunk, size: 322679)
21:09
[17776a0c] part of check-in [bf7bb53e] Better detection of corruption in allocateSpace() in btree.c. (check-in: [bf7bb53e] user: drh branch: trunk, size: 322614)
10:18
[c222cc2b] part of check-in [4f0bba42] Detect database corruption in the modifyPagePointer() routine and abort. (check-in: [4f0bba42] user: drh branch: trunk, size: 322642)
2015-05-23
19:53
[3cf8dde0] part of check-in [7bbf9b3c] Instead of early detection of corruption in balance_nonroot, simply ignore the error, as it is harmless and exceedingly uncommon. (check-in: [7bbf9b3c] user: drh branch: trunk, size: 322601)
19:29
[c40b8483] part of check-in [ee6dc991] Earlier detection of a specific kind of corruption in the balance_nonroot() routine. (check-in: [ee6dc991] user: drh branch: trunk, size: 322674)
2015-05-22
23:39
[d2bf38cf] part of check-in [89f0bbfd] Fix another bad assert() in btree - one that can be false on a corrupt database file. (check-in: [89f0bbfd] user: drh branch: trunk, size: 322573)
13:09
[0eb4eb39] part of check-in [799817bf] Fix two faulty assert statements discovered by fuzzing. (check-in: [799817bf] user: drh branch: trunk, size: 322508)
12:37
[dbc8f920] part of check-in [a6eb2a39] Fix an assert in btree.c that can be false when using a corrupted database file. (check-in: [a6eb2a39] user: drh branch: trunk, size: 322462)
2015-05-21
17:21
[3baad8da] part of check-in [31b13eb5] Avoid ever writing before the start of an allocated buffer in the DIRECT_OVERFLOW_READ code. Fix for [e3a290961a6]. Cherrypick of [c3c15d20c691]. (check-in: [31b13eb5] user: dan branch: branch-3.8.6, size: 293946)
2015-05-05
10:03
[30a80340] part of check-in [90b19748] Fix a faulty assert() in the btree part of the "PRAGMA page_size = ?" code. (check-in: [90b19748] user: dan branch: trunk, size: 322420)
2015-05-02
11:45
[9c1a6b3a] part of check-in [7952c322] Cleanup of the sqlite3StrAccumInit() function. No functionality changes. (check-in: [7952c322] user: drh branch: trunk, size: 322436)
2015-04-28
01:28
[809cdb06] part of check-in [60174cf5] Fix comment typos. No code changes. (check-in: [60174cf5] user: drh branch: trunk, size: 322464)
2015-04-20
01:25
[d061b108] part of check-in [74b7bf17] Merge all recent trunk enhancements and fixes into the apple-osx branch. (check-in: [74b7bf17] user: drh branch: apple-osx, size: 323592)
2015-04-16
21:57
[127aceb7] part of check-in [e94b2ef2] Use a heap rather than a bitmap for cell coverage and overlap testing on btree pages in PRAGMA integrity_check. (check-in: [e94b2ef2] user: drh branch: trunk, size: 322461)
11:56
[c0e7a97c] part of check-in [5619c959] Use a heap instead of a bitmap for cell overlap and coverage testing of btree pages in PRAGMA integrity_check. (check-in: [5619c959] user: drh branch: integrity-check-heap, size: 322448)
2015-04-15
19:13
[485e357f] part of check-in [a200e1ea] Add the BtCursor.pPage field which is the current page to which the cursor points, for a very small performance gain. (check-in: [a200e1ea] user: drh branch: btree-current-page-cache, size: 321559)
17:26
[c6e32d84] part of check-in [f71053cf] Prevent the fetchPayload() routine from reporting a cell size that extends off the end of the page on a pathologically corrupted database file. (check-in: [f71053cf] user: drh branch: trunk, size: 320661)
2015-04-13
23:11
[66bb78f5] part of check-in [e709d3b4] Merge all recent trunk enhances into the apple-osx branch. (check-in: [e709d3b4] user: drh branch: apple-osx, size: 321505)
14:44
[67648f65] part of check-in [d06669d9] Remove a faulty assert() from the btree balancing logic. (check-in: [d06669d9] user: drh branch: trunk, size: 320374)
2015-04-06
22:05
[02064f49] part of check-in [e5f5ef00] 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]. (check-in: [e5f5ef00] user: drh branch: apple-osx-385, size: 294908)
2015-04-01
16:13
[a6b1c0ef] part of check-in [71b6f507] Merge all recent trunk fixes and enhancements into the apple-osx branch. (check-in: [71b6f507] user: drh branch: apple-osx, size: 321531)
13:21
[2caf5981] part of check-in [30011ad2] Improved detection and suppression of endless loops in clearDatabasePage(). (check-in: [30011ad2] user: drh branch: trunk, size: 320400)
2015-03-31
16:33
[525f19f0] part of check-in [586a94e8] Handle very large URI pathnames for in-memory shared-cache databases. (check-in: [586a94e8] user: drh branch: trunk, size: 320386)
2015-03-30
23:52
[24cc28c8] part of check-in [4d42bf5e] 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. (check-in: [4d42bf5e] user: drh branch: apple-osx, size: 321468)
23:43
[e565971c] part of check-in [395bb3e6] Prevent a possible infinite loop when trying to DROP a table from a corrupt database. (check-in: [395bb3e6] user: drh branch: trunk, size: 320337)
19:56
[d90cda66] part of check-in [763d2bc7] 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. (check-in: [763d2bc7] user: dan branch: mistake, size: 320236)
2015-03-25
18:29
[4f305e55] part of check-in [fb076b28] Change an unreachable branch into an assert(). (check-in: [fb076b28] user: drh branch: trunk, size: 320224)
17:35
[933ab4ad] part of check-in [37866b4d] Fix the saveCursorPosition() routine in btree.c so that it works correctly for a eState=CURSOR_SKIPNEXT cursor. (check-in: [37866b4d] user: drh branch: trunk, size: 320212)
13:06
[3634c2ee] part of check-in [1e96520a] Reactivate an older assert() (adding an "|| CORRUPT_DB" term) and add a new assert() in btree.c. (check-in: [1e96520a] user: drh branch: trunk, size: 319975)
12:05
[8d92800a] part of check-in [42d1793d] Add two new assert()s to the sqlite3BtreeDataSize() method. (check-in: [42d1793d] user: drh branch: trunk, size: 320181)
2015-03-24
18:49
[13590ad3] part of check-in [a2bd81e5] Merge the latest trunk enhancements into the apple-osx branch. (check-in: [a2bd81e5] user: drh branch: apple-osx, size: 321240)
2015-03-23
19:03
[3e320cac] part of check-in [ff4812d0] Fix datetype size asserts in btree.c. (check-in: [ff4812d0] user: drh branch: trunk, size: 320109)
2015-03-21
17:00
[22086fbd] part of check-in [9f1f8b33] Merge all recent trunk enhancements and especially the blocking WAL-lock fix into the apple-osx branch. (check-in: [9f1f8b33] user: drh branch: apple-osx, size: 321276)
2015-03-20
14:57
[d4d52fb1] part of check-in [e750830f] Provide the BTREE_SEEK_EQ hint to the b-tree layer. (check-in: [e750830f] user: drh branch: seek-eq, size: 320145)
2015-02-21
01:03
[7f5174c0] part of check-in [3896e233] Merge trunk changes into the apple-osx branch. (check-in: [3896e233] user: drh branch: apple-osx, size: 321019)
00:19
[a31ac00e] part of check-in [28c2b726] 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. (check-in: [28c2b726] user: drh branch: trunk, size: 319888)
2015-02-06
16:03
[11945da2] part of check-in [44711921] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [44711921] user: drh branch: apple-osx, size: 320905)
2015-01-30
21:00
[ddca0ae6] part of check-in [3ed6eb2f] Merge the SQLITE_TESTCTRL_IMPOSTER changes from trunk. (check-in: [3ed6eb2f] user: drh branch: ota-update, size: 319817)
20:59
[2a1245df] part of check-in [42d56017] 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. (check-in: [42d56017] user: drh branch: trunk, size: 319774)
2015-01-28
12:00
[73cfa175] part of check-in [17c69be8] Merge in all changes from trunk. (check-in: [17c69be8] user: drh branch: ota-update, size: 319585)
2015-01-02
19:17
[2dfa99ac] part of check-in [df3cdf9f] Merge the latest changes from trunk into the apple-osx branch. (check-in: [df3cdf9f] user: drh branch: apple-osx, size: 320673)
2014-12-30
00:57
[4c098bb6] part of check-in [b28ce75f] Round all object sizes that go into computing SQLITE_CONFIG_PCACHE_HDRSZ up to a multiple of 8 bytes. (check-in: [b28ce75f] user: drh branch: trunk, size: 319542)
2014-12-24
18:11
[904d3047] part of check-in [e2e32314] Fix a failing assert() in balance_nonroot(). (check-in: [e2e32314] user: dan branch: trunk, size: 319534)
2014-12-22
18:41
[1de05604] part of check-in [7a97826f] 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. (check-in: [7a97826f] user: drh branch: trunk, size: 319530)
2014-12-19
19:28
[b2b2bd0a] part of check-in [43db1f44] Experimental "PRAGMA data_version" command for detecting when another process has changed the database file. (check-in: [43db1f44] user: drh branch: data_version_pragma, size: 319443)
2014-12-16
00:29
[ecb04166] part of check-in [2c1d8dda] Merge latest fixes and enhancements from trunk into apple-osx. (check-in: [2c1d8dda] user: drh branch: apple-osx, size: 320063)
00:08
[92f745cc] part of check-in [5b1b6970] 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. (check-in: [5b1b6970] user: drh branch: trunk, size: 318932)
2014-12-11
16:38
[ab4b60fc] part of check-in [fc157dd7] Fix a race condition to do with very large index keys in shared-cache mode. (check-in: [fc157dd7] user: dan branch: trunk, size: 318925)
2014-12-09
15:01
[e8325955] part of check-in [6e2da589] 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. (check-in: [6e2da589] user: drh branch: apple-osx, size: 320043)
04:26
[ea6692ce] part of check-in [e97b7a8b] Fix harmless compiler warning. (check-in: [e97b7a8b] user: mistachkin branch: trunk, size: 318912)
2014-12-08
07:50
[7071995e] part of check-in [69a312ad] Update this branch with latest trunk changes. (check-in: [69a312ad] user: dan branch: ota-update, size: 318950)
2014-12-06
14:56
[90239634] part of check-in [6aeece19] 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. (check-in: [6aeece19] user: dan branch: trunk, size: 318907)
02:05
[b1757167] part of check-in [dd1dd445] Fix a (harmless) uninitialized variable reference in b-tree balancing for auto-vacuumed tables with overflow pages. (check-in: [dd1dd445] user: drh branch: trunk, size: 318713)
2014-12-02
16:38
[da9a40fd] part of check-in [43c4ba26] Merge all recent enhancements and bug fixes from trunk into the apple-osx branch. (check-in: [43c4ba26] user: drh branch: apple-osx, size: 319803)
16:16
[44b58cd7] part of check-in [61b31e77] Convert two unreachable branches into assert() statements. (check-in: [61b31e77] user: drh branch: trunk, size: 318672)
2014-11-27
03:46
[c82a514c] part of check-in [f242394e] Fix a problem in the new b-tree balancer that was causing corruption of the fragmentation count. (check-in: [f242394e] user: drh branch: trunk, size: 318654)
2014-11-21
14:37
[1ab82a27] part of check-in [7ef44c5b] Merge latest trunk changes with this branch. (check-in: [7ef44c5b] user: dan branch: ota-update, size: 318241)
2014-11-20
15:30
[4db5e06c] part of check-in [ef9fbc08] 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. (check-in: [ef9fbc08] user: drh branch: trunk, size: 318198)
2014-11-19
16:36
[d0a7cfc8] part of check-in [6d00bcca] Add new requirements marks associated with the file format documentation. No changes to code. (check-in: [6d00bcca] user: drh branch: trunk, size: 314586)
2014-11-18
21:27
[6d877cd2] part of check-in [ccb601f6] Merge recent trunk enhancements. (check-in: [ccb601f6] user: drh branch: apple-osx, size: 312637)
20:49
[b562da29] part of check-in [296b0c73] 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. (check-in: [296b0c73] user: drh branch: trunk, size: 311506)
20:22
[75edb585] part of check-in [2896f264] 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. (check-in: [2896f264] user: drh branch: trunk, size: 311607)
2014-11-17
20:33
[c961588f] part of check-in [57c4aa98] Remove code from sqlite3BtreeKeySize() made unreachable by the previous check-in. (check-in: [57c4aa98] user: drh branch: branch-3.8.7, size: 301105)
15:32
[20871251] part of check-in [42588207] 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. (check-in: [42588207] user: drh branch: branch-3.8.7, size: 301206)
2014-11-13
13:42
[2c15850c] part of check-in [402780a9] 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] (check-in: [402780a9] user: drh branch: branch-3.8.7, size: 301210)
2014-11-12
14:56
[d5d991b5] part of check-in [dd03a280] 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. (check-in: [dd03a280] user: dan branch: trunk, size: 311611)
2014-11-11
22:55
[944b84f7] part of check-in [d4b2d5d0] 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]. (check-in: [d4b2d5d0] user: drh branch: branch-3.8.7, size: 300288)
01:33
[eaef0003] part of check-in [fa6e6a9a] Experimental changes that permit read operations to continue after a ROLLBACK, as long as the schema is unchanged. (check-in: [fa6e6a9a] user: drh branch: read-after-rollback, size: 310689)
2014-11-05
21:21
[4a126e20] part of check-in [83a1e5db] Fix harmless compiler warnings in the new balance_nonroot() routine. (check-in: [83a1e5db] user: drh branch: trunk, size: 310184)
2014-11-04
14:22
[11d12621] part of check-in [391c9b85] 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. (check-in: [391c9b85] user: drh branch: trunk, size: 310034)
13:41
[5b6e02a2] part of check-in [681031a4] Improved documentation and addition of source-code evidence marks for the sqlite3_config() interface. (check-in: [681031a4] user: drh branch: trunk, size: 310179)
12:11
[3cc91876] part of check-in [6eb03e62] Add the SQLITE_CONFIG_PCACHE_HDRSZ option for sqlite3_config(). (check-in: [6eb03e62] user: drh branch: trunk, size: 309920)
2014-10-31
15:20
[eeebb817] part of check-in [fef8430f] Merge all recent trunk enhancements into the apple-osx branch. (check-in: [fef8430f] user: drh branch: apple-osx, size: 310916)
14:26
[61d96c2e] part of check-in [a07078b6] Simplify the logic in the cell redistribution loop of balance_nonroot(). Enhance and clarify comments and add assert() statements for additional verification of correctness. (check-in: [a07078b6] user: drh branch: trunk, size: 309785)
12:22
[0f294d5e] part of check-in [2e838db8] Simplify the math slightly, and reduce by one the number of loop iterations, for the loop in balance_nonroot() that moves cells between pages. (check-in: [2e838db8] user: drh branch: trunk, size: 308957)
02:51
[7031b8ce] part of check-in [9fc7c88e] Remove an unnecessary branch from balance_nonroot(). (check-in: [9fc7c88e] user: drh branch: trunk, size: 308859)
00:05
[88c87803] part of check-in [69c3924f] 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. (check-in: [69c3924f] user: drh branch: trunk, size: 308823)
2014-10-30
23:14
[8f7ea969] part of check-in [67adb448] 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. (check-in: [67adb448] user: drh branch: trunk, size: 308721)
20:48
[8d955d8e] part of check-in [c7d9aa3a] Tweaks to comments in btree.c. Minor code changes to enhance testability. (check-in: [c7d9aa3a] user: drh branch: trunk, size: 308782)
2014-10-28
00:56
[5189881c] part of check-in [30f86eb3] Correct the documentation on the maximum size of a scratch allocation. (check-in: [30f86eb3] user: drh branch: trunk, size: 308873)
2014-10-27
19:42
[0e3262c3] part of check-in [d33a1ff3] Fix harmless compiler warning in an assert statement. (check-in: [d33a1ff3] user: mistachkin branch: trunk, size: 308813)
18:42
[ef97f308] part of check-in [10aaf3b1] Merge latest enhancements, including the SQLITE_ENABLE_API_ARMOR patch, from trunk. (check-in: [10aaf3b1] user: drh branch: apple-osx, size: 309937)
18:21
[812c03da] part of check-in [63724616] Fix an unused variable in btree.c:allocateSpace(). (check-in: [63724616] user: drh branch: trunk, size: 308806)
08:02
[9790fb4d] part of check-in [1f80f8c1] 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. (check-in: [1f80f8c1] user: dan branch: defrag-opt, size: 308881)
2014-10-25
20:36
[2639b89f] part of check-in [1a8cf0a0] Further modifications to new code to better handle corrupt databases. (check-in: [1a8cf0a0] user: dan branch: defrag-opt, size: 308485)
2014-10-24
20:57
[4decfb3b] part of check-in [ecc3544e] Ensure that the "Any prior cache entry associated with newKey is guaranteed not to be pinned" guarantee made to xRekey implementations is not violated. (check-in: [ecc3544e] user: dan branch: defrag-opt, size: 307802)
18:43
[df15daf1] part of check-in [19736dd9] Fix some issues in the new code on this branch related to the handling of corrupt databases. (check-in: [19736dd9] user: dan branch: defrag-opt, size: 307942)
16:40
[56381ce7] part of check-in [eab8706d] Fix some minor formatting and code organization issues. (check-in: [eab8706d] user: dan branch: defrag-opt, size: 307645)
2014-10-22
18:42
[37229f31] part of check-in [854a54c6] Merge latest trunk with this branch. (check-in: [854a54c6] user: dan branch: defrag-opt, size: 307505)
2014-10-20
16:34
[c6022918] part of check-in [d380a648] Merge version-3.8.7 changes with this branch. (check-in: [d380a648] user: dan branch: ota-update, size: 299826)
2014-10-17
12:11
[ad424e72] part of check-in [aa7bbed1] Merge the 3.8.7 changes into the apple-osx branch. (check-in: [aa7bbed1] user: drh branch: apple-osx, size: 300914)
2014-10-15
11:55
[1b1123cb] part of check-in [9386bfca] Add a four-byte prefix to the BtShared.pTmpSpace buffer to avoid reading before the beginning of an allocation. (check-in: [9386bfca] user: drh branch: trunk, size: 299783)
2014-10-14
17:27
[3c72c5aa] part of check-in [58d7793b] Fix some code duplication issues on this branch. Add minor optimizations to the new code. (check-in: [58d7793b] user: dan branch: defrag-opt, size: 307165)
14:17
[94ffa3e9] part of check-in [880df756] Merge from trunk recent micro-optimizations and the fix for the DESC index GROUP BY ORDER BY bug. (check-in: [880df756] user: drh branch: apple-osx, size: 300574)
2014-10-13
18:09
[3d9d1db1] part of check-in [d5b7c5a8] Merge trunk changes into this branch. (check-in: [d5b7c5a8] user: dan branch: defrag-opt, size: 307531)
18:03
[63211ca1] part of check-in [6594f9b4] Further work on balance_nonroot(). (check-in: [6594f9b4] user: dan branch: defrag-opt, size: 307648)
16:02
[c9fcae81] part of check-in [c2799aec] Reduce the CPU load imposed by sqlit3VdbeCursorMoveto() by factoring out some of its functions and by avoiding unnecessary calls. (check-in: [c2799aec] user: drh branch: trunk, size: 299443)
2014-10-11
20:00
[d5f4f74e] part of check-in [fec849dc] Attempt to further reduce memcpy() in balance_nonroot(). (check-in: [fec849dc] user: dan branch: defrag-opt, size: 305666)
17:22
[5c0b78c4] part of check-in [66de1558] 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. (check-in: [66de1558] user: drh branch: trunk, size: 299451)
2014-10-09
19:35
[7b89fde3] part of check-in [29304499] Change the balance_nonroot() routine to reduce the amount of memcpy work that takes place. This is a work in progress. (check-in: [29304499] user: dan branch: defrag-opt, size: 301227)
11:27
[5c97b887] part of check-in [6fc72077] Merge the latest trunk enhancements into the apple-osx branch. (check-in: [6fc72077] user: drh branch: apple-osx, size: 300912)
2014-10-01
12:01
[fa006181] part of check-in [c3c15d20] Avoid ever writing before the start of an allocated buffer in the DIRECT_OVERFLOW_READ code. Fix for [e3a290961a6]. (check-in: [c3c15d20] user: dan branch: trunk, size: 299781)
01:46
[fe089e57] part of check-in [2078454a] Merge the latest enhancements from trunk. (check-in: [2078454a] user: drh branch: apple-osx, size: 300638)
2014-09-29
15:00
[ede8348a] part of check-in [414f0d6a] Ensure that the OP_Prev opcode verifies that content has not been deleted out from under the cursor. Fix for ticket [209d31e3161b9e9ff]. (check-in: [414f0d6a] user: drh branch: trunk, size: 299507)
2014-09-27
05:00
[95a942a6] part of check-in [3edab995] Reduce the amount of memcpy() required by defragmentPage(). (check-in: [3edab995] user: drh branch: defrag-opt, size: 299704)
2014-09-26
02:41
[59f03e42] part of check-in [83913515] 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. (check-in: [83913515] user: drh branch: trunk, size: 299560)
2014-09-24
19:47
[4d5cdfea] part of check-in [99323552] 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. (check-in: [99323552] user: drh branch: trunk, size: 299588)
18:31
[ee77b1d3] part of check-in [13c746f8] Small performance and size optimization for btreeUnlockIfUnused(). (check-in: [13c746f8] user: drh branch: trunk, size: 299540)
04:38
[f1b4d64c] part of check-in [c705cf85] 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. (check-in: [c705cf85] user: drh branch: linear-interpolation, size: 300038)
02:05
[183d62b3] part of check-in [f21d2175] Have the clearCell() routine return the cell size to the caller, rather than have the caller make a separate call to cellSizePtr(). (check-in: [f21d2175] user: drh branch: trunk, size: 299549)
01:23
[3732a278] part of check-in [5dd41cdb] Shorten all lines of source code in btree.c to at most 80 characters. No logical changes. (check-in: [5dd41cdb] user: drh branch: trunk, size: 299209)
00:59
[d64b3c55] part of check-in [8e337531] Add the MemPage.noPayload boolean and use it to help cellSizePtr() and btreeParseCellPtr() run faster. (check-in: [8e337531] user: drh branch: trunk, size: 299211)
2014-09-23
23:12
[b10d4c34] part of check-in [f480582c] Remove an unused C-preprocessor macro. No functional changes to the code. (check-in: [f480582c] user: drh branch: trunk, size: 298685)
22:36
[11cf3607] part of check-in [4147f667] 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. (check-in: [4147f667] user: drh branch: trunk, size: 298905)
21:25
[2a7c67d4] part of check-in [bf59df66] Simplify the CellInfo structure for a size reduction and performance improvement. (check-in: [bf59df66] user: drh branch: trunk, size: 297757)
2014-09-22
20:38
[c2645014] part of check-in [76097440] Fix to payload size overflow detection in the cellSizePtr() change of the previous check-in. (check-in: [76097440] user: drh branch: trunk, size: 297942)
19:51
[86cc6efe] part of check-in [bc8bbf32] Size reduction and substantial performance increase for cellSizePtr(). (check-in: [bc8bbf32] user: drh branch: trunk, size: 297947)
2014-09-21
23:08
[16c92211] part of check-in [3967ebe8] Merge in all recent changes from trunk. (check-in: [3967ebe8] user: drh branch: apple-osx, size: 298930)
2014-09-18
11:31
[be6c5e11] part of check-in [67ea2979] Merge latest trunk changes with this branch. (check-in: [67ea2979] user: dan branch: ota-update, size: 297842)
2014-09-16
14:37
[6aa61c0e] part of check-in [8239c35a] Reduce the number of arguments to RecordCompare functions from 4 to 3, resulting in a small performance increase. (check-in: [8239c35a] user: drh branch: micro-optimizations, size: 297799)
2014-09-15
15:34
[3957262c] part of check-in [55b8011d] Merge latest trunk changes with this branch. (check-in: [55b8011d] user: dan branch: ota-update, size: 297851)
2014-09-09
17:27
[e4916b44] part of check-in [94954850] 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. (check-in: [94954850] user: drh branch: 64-bit-lengths, size: 297808)
2014-09-06
16:39
[b1c1cd1c] part of check-in [e62aab5e] Fix typos in comments. No code changes. (check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 297813)
2014-09-03
19:30
[9cb19890] part of check-in [209f672e] 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. (check-in: [209f672e] user: dan branch: ota-update, size: 297854)
2014-09-02
19:59
[c46043fb] part of check-in [2954ab50] Add an experimental extension for applying bulk updates to databases. (check-in: [2954ab50] user: dan branch: ota-update, size: 297893)
15:57
[1e5bb10b] part of check-in [696dc935] Merge the latest trunk changes into the apple-osx branch. (check-in: [696dc935] user: drh branch: apple-osx, size: 298942)
2014-09-01
17:36
[2a483a80] part of check-in [b1c0f0bc] 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. (check-in: [b1c0f0bc] user: drh branch: trunk, size: 297811)
13:29
[4d0427ba] part of check-in [839c7996] Micro-optimizations in sqlite3BtreeNext() and sqlite3BtreePrevious(). (check-in: [839c7996] user: drh branch: trunk, size: 297702)
2014-08-26
02:02
[85855eaf] part of check-in [5c273111] Merge recent performance enhancements and the CAST operator enhancements into the apple-osx branch. (check-in: [5c273111] user: drh branch: apple-osx, size: 297256)
2014-08-25
13:27
[a10ceacc] part of check-in [dfdc900f] Merge the recent performance enhancements implemented on trunk into the threads branch. (check-in: [dfdc900f] user: drh branch: threads, size: 296234)
2014-08-23
19:08
[4737cb5b] part of check-in [45abd5c0] Fix a variable-declaration after code problem in btree.c. Harmless in GCC and CLANG but unacceptable for MSVC. (check-in: [45abd5c0] user: drh branch: trunk, size: 296125)
2014-08-22
23:33
[c4b4e1c9] part of check-in [ce123b5c] 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. (check-in: [ce123b5c] user: drh branch: trunk, size: 296125)
22:26
[776885df] part of check-in [3eb08439] Factor the saveAllCursors() routine of btree.c into two separate routines, for a noticable performance improvement. (check-in: [3eb08439] user: drh branch: trunk, size: 295662)
2014-08-20
18:43
[4195fed5] part of check-in [49f44d35] A small performance improvement in freeSpace() by special-casing the relatively common case of an empty freelist. (check-in: [49f44d35] user: drh branch: trunk, size: 294445)
17:56
[fe2d11c8] part of check-in [fe4fd014] Reimplement the freeSpace() routine in btree.c so that it runs faster. (check-in: [fe4fd014] user: drh branch: trunk, size: 294210)
14:37
[c1235eac] part of check-in [7e63089a] Refactor local variable names in the freeSpace() routine of btree.c for improved understandability. (check-in: [7e63089a] user: drh branch: trunk, size: 294104)
13:17
[53eb576f] part of check-in [fe51d3aa] Change an assert() added by the previous commit into a testcase(). Fix a separate assert() in btree.c:freeSpace(). (check-in: [fe51d3aa] user: drh branch: btree-speedup, size: 293630)
11:56
[398ecbdb] part of check-in [1cb1cd64] Further size reduction and performance improvement in btree.c:allocateSpace(). (check-in: [1cb1cd64] user: drh branch: btree-speedup, size: 293627)
00:54
[c580f3fb] part of check-in [73637d12] Minor performance improvement and size reduction for the btree-page space allocator. (check-in: [73637d12] user: drh branch: trunk, size: 293649)
2014-08-15
22:37
[48dad2fb] part of check-in [c8ade949] Aborted merge. (check-in: [c8ade949] user: numist branch: obsolete, size: 295920)
16:10
[7d780ca1] part of check-in [b91fcb3b] Merge the 3.8.6 changes into the apple-osx branch. (check-in: [b91fcb3b] user: drh branch: apple-osx, size: 294805)
15:46
[691d09b5] part of check-in [05807c41] Merge the 3.8.6 release into the threads branch. (check-in: [05807c41] user: drh branch: threads, size: 293783)
2014-08-14
19:53
[fa057e30] part of check-in [3f45b819] Fix an assert that can fail if the database file is corrupted. (check-in: [3f45b819] user: dan branch: trunk, size: 293674)
2014-08-06
02:03
[f3d64fe7] part of check-in [a353a851] Merge all recent changes from trunk. (check-in: [a353a851] user: drh branch: threads, size: 293759)
01:51
[cc753a62] part of check-in [b2e01080] Merge 3.8.6 beta changes in from trunk. (check-in: [b2e01080] user: drh branch: apple-osx, size: 294781)
2014-08-05
11:04
[99d162e5] part of check-in [5ae80b3c] Rename the internal Schema.flags field to Schema.schemaFlags. (check-in: [5ae80b3c] user: drh branch: trunk, size: 293650)
2014-07-30
11:49
[ab2fad23] part of check-in [654c6c65] Merge all recent trunk changes, and especially the R-Tree IN operator fix of ticket [d2889096e7bdeac]. (check-in: [654c6c65] user: drh branch: apple-osx, size: 294775)
2014-07-28
15:01
[dff8e778] part of check-in [163c247b] Merge recent trunk changes into the threads branch. (check-in: [163c247b] user: drh branch: threads, size: 293753)
2014-07-25
21:35
[b5531339] part of check-in [e0fa6fdc] Try to fix harmless compiler warnings reported by Fortify. (check-in: [e0fa6fdc] user: drh branch: trunk, size: 293644)
2014-05-29
20:36
[c25678d7] part of check-in [b9fad449] Merge trunk changes into the apple-osx branch. (check-in: [b9fad449] user: drh branch: apple-osx, size: 294780)
20:24
[32b552d5] part of check-in [416cb091] Merge changes from the trunk into the threads branch. (check-in: [416cb091] user: drh branch: threads, size: 293758)
2014-05-27
15:21
[70c60a38] part of check-in [8bc97371] Remove unused code (previously #ifdef-ed out) from btree.c. (check-in: [8bc97371] user: drh branch: trunk, size: 293649)
2014-05-26
20:15
[34172d28] part of check-in [82152027] Merge recent trunk changes into the threads branch. (check-in: [82152027] user: drh branch: threads, size: 293909)
20:08
[9656f30c] part of check-in [54b5fa77] Merge recent trunk changes into the apple-osx branch. (check-in: [54b5fa77] user: drh branch: apple-osx, size: 294931)
2014-05-21
08:21
[e29fc07a] part of check-in [8d8af114] 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. (check-in: [8d8af114] user: drh branch: trunk, size: 293800)
2014-05-19
15:16
[6f94e30c] part of check-in [17349a49] 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. (check-in: [17349a49] user: drh branch: safer-malloc, size: 293657)
2014-05-08
23:01
[12c020db] part of check-in [9411d7dc] 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. (check-in: [9411d7dc] user: drh branch: apple-osx, size: 294788)
2014-05-02
17:12
[e14daeed] part of check-in [e15f4706] Fix some broken asserts in btree.c and vdbeaux.c that may fail following an OOM error. (check-in: [e15f4706] user: dan branch: threads, size: 293766)
2014-04-24
13:20
[7339c511] part of check-in [34155c40] 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. (check-in: [34155c40] user: drh branch: filesize-debug, size: 279054)
2014-04-18
12:38
[1e8fa0e5] part of check-in [8729aa3e] Merge recent trunk changes into the threads branch. (check-in: [8729aa3e] user: drh branch: threads, size: 293767)
2014-04-01
10:19
[0d1be674] part of check-in [59cd5229] Fix a problem with OOM handling in the sorter code. (check-in: [59cd5229] user: dan branch: threads, size: 292764)
01:24
[6c9b51ab] part of check-in [834bf1c3] Remove an unnecessary conditional, replacing it with an assert(). Improvements to comments. (check-in: [834bf1c3] user: drh branch: overflow-pgno-cache, size: 293657)
2014-03-31
23:57
[b1d6309d] part of check-in [96385dc4] Fix a compiler warning when SQLITE_DIRECT_OVERFLOW_READ is defined. Minor performance enhancement and size reduction. (check-in: [96385dc4] user: drh branch: overflow-pgno-cache, size: 293332)
22:03
[33338d61] part of check-in [f6211540] Merge in the latest changes and fixes from trunk. (check-in: [f6211540] user: drh branch: overflow-pgno-cache, size: 293208)
2014-03-28
03:12
[a59a199f] part of check-in [7fa85eaa] 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. (check-in: [7fa85eaa] user: drh branch: trunk, size: 292654)
2014-03-25
11:00
[8d7e432b] part of check-in [e6798871] 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. (check-in: [e6798871] user: drh branch: trunk, size: 292521)
2014-03-20
18:56
[0384d399] part of check-in [d8e1f75d] Only use the direct-overflow-read optimization if all data from the overflow page in question is being read. (check-in: [d8e1f75d] user: dan branch: overflow-pgno-cache, size: 292251)
2014-03-19
14:10
[029cec7b] part of check-in [59742dd4] First attempt at getting block-sort to work. This is an incremental check-in. There are many problems still to be worked out. (check-in: [59742dd4] user: drh branch: orderby-planning, size: 292018)
2014-03-14
11:46
[2a0e73f2] part of check-in [1277932b] Fix a harmless compiler warning that crops up with SQLITE_MAX_MMAP_SIZE=0. (check-in: [1277932b] user: drh branch: trunk, size: 291760)
2014-03-11
23:44
[33b5ad54] part of check-in [f500e87d] Remove a stray C99-style comment. (check-in: [f500e87d] user: drh branch: overflow-pgno-cache, size: 292007)
23:40
[225a3f4d] part of check-in [968fec44] 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. (check-in: [968fec44] user: drh branch: overflow-pgno-cache, size: 292042)
20:33
[c748d838] part of check-in [da591985] Enable the b-tree cursor object's overflow page-number cache, which is normally enabled only for incr-blob cursors, for all cursors. (check-in: [da591985] user: dan branch: overflow-pgno-cache, size: 291356)
2014-03-06
01:56
[4d28fb15] part of check-in [b83cfe89] Fix some incorrect comments and typos in comments. Add testcase() macros to some of the new record comparison code. (check-in: [b83cfe89] user: drh branch: trunk, size: 291697)
2014-03-04
16:05
[ad795be5] part of check-in [2879234b] Ensure that BtreeMovetoUnpacked() does not try to invoke xRecordCompare when it is set to NULL. (check-in: [2879234b] user: dan branch: trunk, size: 291722)
2014-03-03
21:46
[7a81c2c6] part of check-in [fcf480cc] Fix a couple of harmless compiler warnings. (check-in: [fcf480cc] user: drh branch: experimental, size: 291718)
2014-03-01
19:44
[d288e668] part of check-in [3861e853] Remove the vdbeRecordCompareLargeHeader function. Fix some other details. (check-in: [3861e853] user: dan branch: experimental, size: 291632)
2014-02-27
20:44
[77f17598] part of check-in [57089374] Further changes to sqlite3VdbeRecordCompare(). (check-in: [57089374] user: dan branch: experimental, size: 291672)
2014-02-25
21:01
[f4d85c3e] part of check-in [85206e0b] Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. (check-in: [85206e0b] user: dan branch: experimental, size: 291626)
2014-02-12
23:52
[b945df4f] part of check-in [cc8f10bc] Minor simplifications to the "zeroPage()" routine in btree.c. (check-in: [cc8f10bc] user: drh branch: trunk, size: 291430)
21:31
[97020a77] part of check-in [56bc5ce8] 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. (check-in: [56bc5ce8] user: drh branch: trunk, size: 291458)
2014-02-05
17:08
[ae408b77] part of check-in [a332908b] Make the root page of an ephemeral index be page 1 instead of page 2. (check-in: [a332908b] user: drh branch: subquery-codegen-refactor, size: 292591)
2014-02-03
14:04
[7b2c3cd1] part of check-in [6c643e45] 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. (check-in: [6c643e45] user: drh branch: trunk, size: 292457)
2014-01-28
00:49
[c695c106] part of check-in [a2c347fa] 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. (check-in: [a2c347fa] user: drh branch: branch-3.8.2, size: 293836)
2014-01-20
18:25
[02e1a4e7] part of check-in [eba8a564] 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. (check-in: [eba8a564] user: dan branch: trunk, size: 291279)
2014-01-14
20:14
[c15e1722] part of check-in [a5c2a54a] Add code to handle recursive CTEs. (check-in: [a5c2a54a] user: dan branch: common-table-expr, size: 291403)
2013-12-13
19:35
[11e29ef8] part of check-in [e00f37e2] Create and use a new pager interface sqlite3PagerUnrefNotNull() that works just like sqlite3PagerUnref() but guarantees that its argument is not a NULL pointer. (check-in: [e00f37e2] user: drh branch: trunk, size: 291360)
2013-12-09
20:43
[09285d6f] part of check-in [bf975985] Simplify the sqlite3BtreeKeyFetch() and sqlite3BtreeDataFetch() interfaces to the storage engine. (check-in: [bf975985] user: drh branch: trunk, size: 291320)
19:03
[44a44aa2] part of check-in [9227ad48] Performance optimizations for sqlite3VXPrintf(). (check-in: [9227ad48] user: drh branch: trunk, size: 292038)
02:32
[432c3e22] part of check-in [a3d796b1] Use memmove() rather than a home-made copy loop in insertCell() too. (check-in: [a3d796b1] user: drh branch: trunk, size: 292039)
01:58
[ac25a91a] part of check-in [78e17068] Use memmove() rather than a home-made copy loop in dropCell() of btree.c, for a size reduction and performance improvement. (check-in: [78e17068] user: drh branch: trunk, size: 292316)
01:04
[368d2eae] part of check-in [81f5ae13] Avoid unnecessary no-op calls from getAndInitPage() to btreeInitPage() in the btree.c logic. (check-in: [81f5ae13] user: drh branch: trunk, size: 292507)
00:47
[6a5f69e4] part of check-in [6996fb34] Use putVarint32() instead of putVarint() for a quantity that can never exceed 2GiB - 1. (check-in: [6996fb34] user: drh branch: trunk, size: 292483)
2013-12-07
20:39
[9e6d1898] part of check-in [3a9bec52] 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. (check-in: [3a9bec52] user: drh branch: cursor-hints, size: 293084)
2013-12-06
23:25
[4037f58e] part of check-in [b5842a70] Performance optimization to the moveToRoot() subroutine in btree.c. (check-in: [b5842a70] user: drh branch: trunk, size: 292481)
22:44
[1c1228bf] part of check-in [2d62d113] Remove some commented-out code from sqlite3BtreeMovetoUnpacked() to try to make it more readable. (check-in: [2d62d113] user: drh branch: trunk, size: 292550)
2013-11-30
12:49
[fe6c95c5] part of check-in [55ec474d] Detect a corrupt UnpackedRecord and return SQLITE_CORRUPT prior to calling sqlite3BtreeMovetoUnpacked(). (check-in: [55ec474d] user: drh branch: trunk, size: 292658)
2013-11-25
21:41
[ec8a4dca] part of check-in [18bdcb05] Remove a NEVER() from a branch that is now reachable during OOM faults. (check-in: [18bdcb05] user: drh branch: trunk, size: 292540)
20:14
[c308e64d] part of check-in [b48c4e40] Return an SQLITE_CORRUPT error if the content size field of a table record extends off the end of a page. (check-in: [b48c4e40] user: drh branch: btree-optimization, size: 292547)
17:38
[f98e6cea] part of check-in [5bf2a3fe] Uses shifts rather than division for arithmetic on the cell indices, since those indices are always non-negative. (check-in: [5bf2a3fe] user: drh branch: btree-optimization, size: 292485)
16:52
[fc03d3fd] part of check-in [55e5bfa2] Optimize the skipping of the payload size field when doing a binary search for a rowid. (check-in: [55e5bfa2] user: drh branch: btree-optimization, size: 292294)
16:23
[0ce10b29] part of check-in [a7467560] 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. (check-in: [a7467560] user: drh branch: btree-optimization, size: 292324)
15:01
[7459c164] part of check-in [f80497be] More optimizations to sqlite3BtreeMovetoUnpacked(). But there are failures in TH3. Committing this intermediate state to facilitate bisecting. (check-in: [f80497be] user: drh branch: btree-optimization, size: 292333)
14:10
[c300cb68] part of check-in [88680698] More improvements to sqlite3BtreeMovetoUnpacked() performance. (check-in: [88680698] user: drh branch: btree-optimization, size: 292357)
02:38
[b0fd869c] part of check-in [d0fb7ace] Performance improvements in sqlite3BtreeMovetoUnpacked(). (check-in: [d0fb7ace] user: drh branch: btree-optimization, size: 292305)
2013-11-21
21:59
[17ca5729] part of check-in [4e8c5d07] Changes some offset and amount parameters from "int" to "u32" to avoid harmless signed/unsigned comparison warnings. (check-in: [4e8c5d07] user: drh branch: trunk, size: 292028)
2013-11-06
14:36
[260dedc1] part of check-in [a725a75f] Allocate extra stack space for UnpackedRecord objects, reducing the need to malloc for them as often, and thereby get a performance improvement. (check-in: [a725a75f] user: drh branch: omit-rowid, size: 292028)
2013-10-16
11:39
[509722ce] part of check-in [8651aba1] Clear a valgrind error by zeroing the first 4 bytes of the temp-space allocation used by the b-tree module. (check-in: [8651aba1] user: dan branch: trunk, size: 292028)
2013-10-06
22:52
[d5720cbb] part of check-in [2bb7f74b] Remove an incorrect debugging assert() that was accidently added during the STAT4 enhancement. (check-in: [2bb7f74b] user: drh branch: trunk, size: 291293)
2013-09-26
11:04
[5ccbbaed] part of check-in [1e1321ee] Fix a faulty assert() in sqlite3BtreeBeginTrans() that may fail in shared-cache mode. (check-in: [1e1321ee] user: dan branch: trunk, size: 291339)
2013-08-26
23:18
[b9b57df5] part of check-in [a32af0ab] Merge the STAT4 capability into trunk. (check-in: [a32af0ab] user: drh branch: trunk, size: 291304)
2013-08-21
23:42
[b7cbb0bc] part of check-in [617e23ec] Simplify the btreeGetPage() routine so that it uses a single flag parameter in place of two boolean parameters. (check-in: [617e23ec] user: drh branch: trunk, size: 291258)
21:12
[7e7b3eba] part of check-in [700dbbea] Simplification to the StrAccum object and the sqlite3StrAccumAppend() method that also results in slightly better performance. (check-in: [700dbbea] user: drh branch: trunk, size: 291245)
15:52
[d49f1600] part of check-in [a17190a2] Performance enhancement in btreeParseCellPtr(). (check-in: [a17190a2] user: drh branch: trunk, size: 291233)
2013-08-20
00:42
[adea13e6] part of check-in [d78c5d89] Performance optimizations in the VDBE and especially to the OP_Next and related opcodes. (check-in: [d78c5d89] user: drh branch: toTypeFuncs, size: 291216)
2013-08-19
22:22
[d8cb52cd] part of check-in [6f99b54a] Additional performance improvements in sqlite3BtreeNext() and sqlite3BtreePrevious(). (check-in: [6f99b54a] user: drh branch: toTypeFuncs, size: 291110)
20:04
[78287b30] part of check-in [dc65ad8c] Performance improvement in sqlite3BtreeNext() and sqlite3BtreePrevious() for the common case of a valid cursor. (check-in: [dc65ad8c] user: drh branch: trunk, size: 290604)
2013-08-16
20:42
[9b985e4f] part of check-in [cdb181c0] Add the cache_spill pragma. (check-in: [cdb181c0] user: drh branch: cache_spill, size: 290358)
2013-08-03
20:24
[15ea4e98] part of check-in [2beea303] Begin adding experimental sqlite_stat4 table. This commit is buggy. (check-in: [2beea303] user: dan branch: sqlite_stat4, size: 290597)
2013-06-28
19:41
[3f7bbfd7] part of check-in [f308c485] 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();"). (check-in: [f308c485] user: dan branch: trunk, size: 290551)
01:24
[4fc3690a] part of check-in [59f98c5c] Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted. (check-in: [59f98c5c] user: drh branch: trunk, size: 290553)
2013-06-27
23:54
[c29ca371] part of check-in [14f79696] Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes "nVdbeActive". Related fields becomes "nVdbeRead", "nVdbeWrite", and "nVdbeExec". (check-in: [14f79696] user: drh branch: trunk, size: 290533)
2013-05-28
12:11
[7fba377c] part of check-in [a0d5cc93] Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. (check-in: [a0d5cc93] user: drh branch: trunk, size: 290535)
2013-05-14
23:13
[fcfbe61a] part of check-in [164e3d4d] Merge together the fork in this branch. (check-in: [164e3d4d] user: drh branch: shared-cache-fixes, size: 290533)
23:12
[34ea83e1] part of check-in [a6f851d0] 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. (check-in: [a6f851d0] user: drh branch: shared-cache-fixes, size: 290500)
20:36
[e42631ac] part of check-in [93462df7] Avoid deleting a b-tree "has-content" vector belonging to another shared-cache connection from within sqlite3_close(). (check-in: [93462df7] user: dan branch: shared-cache-fixes, size: 290454)
2013-04-15
17:03
[480a6d25] part of check-in [ea1404a1] 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. (check-in: [ea1404a1] user: drh branch: trunk, size: 290421)
2013-04-04
00:40
[5f2c4fe7] part of check-in [fff2be60] Try to use mmap() to speed access to the database file on windows, linux, and mac. (check-in: [fff2be60] user: drh branch: trunk, size: 290421)
2013-04-03
21:23
[58c4d684] part of check-in [b2a72be9] Release resources prior to bailing out of the btreeCreateTable() routine following an OOM error. (check-in: [b2a72be9] user: drh branch: experimental-mmap, size: 290177)
20:04
[4e3d07b3] part of check-in [f97d7274] Remove an unreachable branch in the direct blob I/O logic of btree.c. (check-in: [f97d7274] user: drh branch: experimental-mmap, size: 290178)
11:52
[fd492d65] part of check-in [5b082efe] Remove the restriction on using xFetch to load the root pages of tables and indexes. It appears to have been based on a misconception. (check-in: [5b082efe] user: dan branch: experimental-mmap, size: 289981)
11:38
[4f4b2394] part of check-in [9d9b1da5] 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. (check-in: [9d9b1da5] user: dan branch: experimental-mmap, size: 290836)
11:17
[b38cb3a1] part of check-in [3f09fba1] 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. (check-in: [3f09fba1] user: dan branch: experimental-mmap, size: 290563)
2013-04-01
22:38
[bb679fdd] part of check-in [78141d0a] 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. (check-in: [78141d0a] user: drh branch: experimental-mmap, size: 290235)
2013-03-29
18:52
[84c9a4a2] part of check-in [e8bcdf93] Fix a problem in btree.c that could cause a crash following an OOM. Also various test script problems. (check-in: [e8bcdf93] user: dan branch: two-mappings, size: 290178)
2013-03-27
03:15
[62ba5954] part of check-in [322a5f08] Candidate fix for ticket [6bfb98dfc0c]: Make sure invalid cursors drop all references to database pages prior to doing any insert or update. (check-in: [322a5f08] user: drh branch: trunk, size: 288538)
2013-03-26
14:16
[19b587b3] part of check-in [30c0a693] In btree.c, save the positions of any open cursors before moving any pages around to auto-vacuum the database on commit. (check-in: [30c0a693] user: dan branch: experimental-mmap, size: 290185)
2013-03-25
23:09
[771f0391] part of check-in [1b37c4ef] 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. (check-in: [1b37c4ef] user: drh branch: experimental-mmap, size: 290120)
19:57
[ef238f2d] part of check-in [a607d63f] Merge all recent trunk changes into the experimental-mmap branch. (check-in: [a607d63f] user: drh branch: experimental-mmap, size: 290104)
2013-03-22
19:56
[f5ea8d3d] part of check-in [e81ccdcd] Fix a potential NULL-pointer dereference in btreeSwapOutMmap(). (check-in: [e81ccdcd] user: drh branch: experimental-mmap, size: 290104)
2013-03-21
21:20
[3cebaa69] part of check-in [6f6e2d50] Many spelling fixes in comments. No changes to code. (check-in: [6f6e2d50] user: mistachkin branch: trunk, size: 288294)
15:57
[dd4683fa] part of check-in [32e0bbb7] Fix a problem when opening a write-transaction while there exist read-only b-tree cursors in mmap mode. (check-in: [32e0bbb7] user: dan branch: experimental-mmap, size: 290097)
2013-03-19
19:28
[d4d551f0] part of check-in [6183f1bd] Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size". (check-in: [6183f1bd] user: dan branch: experimental-mmap, size: 290098)
2013-03-15
18:29
[934921ec] part of check-in [b387e2f9] Allow read-only cursors to use mmap pages even if there is an open write transaction. (check-in: [b387e2f9] user: dan branch: experimental-mmap, size: 289769)
2013-03-14
18:34
[c1a956c6] part of check-in [6f21d9cb] Use mmap() to read from the database file in rollback mode. This branch is unix only for now. (check-in: [6f21d9cb] user: dan branch: experimental-mmap, size: 289177)
2013-03-11
11:49
[746c4daf] part of check-in [938b91e8] Fixes for compiling with SQLITE_OMIT_AUTOVACUUM and/or SQLITE_OMIT_TRIGGER defined. (check-in: [938b91e8] user: dan branch: omit-fixes, size: 288294)
2013-03-05
11:27
[c7ce6045] part of check-in [717863fc] Fix a bug in the recent incremental-vacuum related changes. (check-in: [717863fc] user: dan branch: trunk, size: 287908)
2013-03-02
03:25
[ea4cc870] part of check-in [9a135e37] Update comments on the free-page allocator to accurately reflect the latest implementation. Add new asserts to the free-page allocator. (check-in: [9a135e37] user: drh branch: trunk, size: 287908)
2013-02-24
11:50
[cbad7197] part of check-in [ba33bb05] Fix a case where database corruption may cause an assert() to fail. (check-in: [ba33bb05] user: dan branch: incr-vacuum-opt, size: 287417)
2013-02-23
19:43
[b84e2ac3] part of check-in [4cd30c72] Fix a case in the incremental vacuum code where database corruption was going unreported. (check-in: [4cd30c72] user: dan branch: incr-vacuum-opt, size: 287357)
19:11
[02ab112a] part of check-in [f921df59] Fix a cut-and-paste bug causing the library to fail to report database corruption in a few cases. (check-in: [f921df59] user: dan branch: incr-vacuum-opt, size: 287360)
17:49
[bcd64dff] part of check-in [66f9faa9] Fix off-by-one bug in [c3939d2491] uncovered by th3. (check-in: [66f9faa9] user: dan branch: incr-vacuum-opt, size: 287407)
16:40
[f021a7f5] part of check-in [b73847f1] 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. (check-in: [b73847f1] user: dan branch: incr-vacuum-opt, size: 287406)
2013-02-22
20:57
[76f063ff] part of check-in [720a3cea] Fix a problem with the previous commit. (check-in: [720a3cea] user: dan branch: incr-vacuum-opt, size: 286667)
20:16
[960274cb] part of check-in [c3939d24] Avoid moving pages more than once in an incremental vacuum operation. (check-in: [c3939d24] user: dan branch: incr-vacuum-opt, size: 286390)
2012-12-12
14:30
[7a80e4a6] part of check-in [120c82d5] Allow the error message from "PRAGMA integrity_check" to be longer than 20,000 bytes. (check-in: [120c82d5] user: drh branch: trunk, size: 285056)
2012-10-18
10:35
[eccee944] part of check-in [51a6a797] More warning fixes. (check-in: [51a6a797] user: mistachkin branch: warnings, size: 285044)
2012-10-13
19:58
[299377f0] part of check-in [af5c9ee4] 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. (check-in: [af5c9ee4] user: dan branch: zero-byte-backup-fix, size: 285044)
2012-10-02
23:26
[97edf88a] part of check-in [9fab9edd] Work around an optimization issue with the MSVC compiler for ARM. (check-in: [9fab9edd] user: drh branch: branch-3.7.14, size: 283920)
22:54
[14de53eb] part of check-in [7d301fdf] Work around an optimization issue with the MSVC compiler for ARM. (check-in: [7d301fdf] user: mistachkin branch: trunk, size: 284686)
2012-10-01
12:44
[95ee3c1e] part of check-in [f193dbb6] Omit the sqlite3GetReservedNoMutex() routine in build configurations where it is not used. (check-in: [f193dbb6] user: drh branch: trunk, size: 284499)
2012-09-28
20:23
[821615a1] part of check-in [89b8c377] 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. (check-in: [89b8c377] user: dan branch: trunk, size: 284398)
18:13
[6e1b4814] part of check-in [472beb30] Modify the clearCell function to use SQLITE_CORRUPT_BKPT in the one place it was not. (check-in: [472beb30] user: mistachkin branch: trunk, size: 283738)
2012-08-31
14:10
[64acbd5f] part of check-in [bc9b9cd0] Merge in latest trunk changes. (check-in: [bc9b9cd0] user: dan branch: apple-osx, size: 284864)
2012-08-25
10:01
[9cf6de11] part of check-in [9b19b847] Fix all known instances of 'repeated the' style typos in comments. No changes to code. (check-in: [9b19b847] user: mistachkin branch: trunk, size: 283733)
01:38
[31cf99fc] part of check-in [6723add4] Merge all the latest trunk changes into the apple-osx branch. (check-in: [6723add4] user: drh branch: apple-osx, size: 284868)
2012-08-20
15:53
[32dc63ef] part of check-in [7edd10a9] Remove tab characters from source code files. Replace them with spaces. (check-in: [7edd10a9] user: drh branch: trunk, size: 283737)
2012-08-14
18:43
[82b6fcbe] part of check-in [6730579c] Add an assert() to the btree rebalancer in order to silence a clang/scan-build warning. (check-in: [6730579c] user: drh branch: trunk, size: 283723)
2012-08-08
14:04
[fe849105] part of check-in [b0d31e77] 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. (check-in: [b0d31e77] user: dan branch: trunk, size: 283694)
11:55
[3a2dbf6f] part of check-in [efea62b9] When building a b-tree as part of a CREATE INDEX or REINDEX statement, attempt to pack keys into pages as tightly as possible. (check-in: [efea62b9] user: dan branch: trunk, size: 283636)
2012-08-06
18:50
[1d366468] part of check-in [d045f8b2] 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. (check-in: [d045f8b2] user: dan branch: sorter-coalesce-writes, size: 283611)
2012-06-08
01:13
[453a9180] part of check-in [9d1b8515] Merge trunk changes into the apple-osx branch. (check-in: [9d1b8515] user: drh branch: apple-osx, size: 284384)
2012-05-28
13:58
[f0b71054] part of check-in [651520fa] 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. (check-in: [651520fa] user: drh branch: trunk, size: 283253)
2012-05-27
01:19
[964c7862] part of check-in [595dfdbf] Have user interfaces report out the filename of in-memory databases as an empty string, as it always has. This simplifies the changes. (check-in: [595dfdbf] user: drh branch: shared-cache-memdb, size: 283192)
00:11
[d938da25] part of check-in [997ef5f6] Fix corner-case problems with shared-cache for in-memory databases. (check-in: [997ef5f6] user: drh branch: shared-cache-memdb, size: 283425)
2012-05-26
20:08
[e5e99219] part of check-in [e3ad61e0] 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. (check-in: [e3ad61e0] user: drh branch: shared-cache-memdb, size: 283110)
18:06
[23e2d21f] part of check-in [4590e433] Enable the use of shared cache for an in-memory database, so that separate database connections can share the same in-memory database. (check-in: [4590e433] user: drh branch: shared-cache-memdb, size: 283061)
2012-04-19
20:43
[207d4859] part of check-in [b72f07b4] Update the apple-osx branch so that it includes all of the latest trunk changes. (check-in: [b72f07b4] user: drh branch: apple-osx, size: 284045)
2012-04-03
17:43
[df800f10] part of check-in [fa3a498d] 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. (check-in: [fa3a498d] user: dan branch: trunk, size: 282914)
2012-03-31
02:46
[748ff64c] part of check-in [18ec60ca] Merge all the latest trunk changes into the apple-osx branch. (check-in: [18ec60ca] user: drh branch: apple-osx, size: 283487)
2012-03-23
11:09
[02aeee1f] part of check-in [82c3f2ba] 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. (check-in: [82c3f2ba] user: dan branch: fts4-incr-merge, size: 282356)
2012-03-05
16:39
[fbaf5764] part of check-in [504bf490] Pull in all the latest trunk changes. (check-in: [504bf490] user: drh branch: apple-osx, size: 283477)
2012-02-13
16:43
[253c3147] part of check-in [9b66c79e] 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. (check-in: [9b66c79e] user: drh branch: nonblocking-rollback, size: 282346)
2012-02-10
18:18
[c21852e2] part of check-in [e2485986] Pull the latest trunk changes into the apple-osx branch. (check-in: [e2485986] user: drh branch: apple-osx, size: 283848)
2012-02-02
19:37
[bb0132a7] part of check-in [21695c34] Reduce the size of the MemPage object by about 32 bytes. Other structure size optimizations. (check-in: [21695c34] user: drh branch: trunk, size: 282717)
2012-01-17
15:29
[24bde768] part of check-in [96900c47] Remove the undocumented PRAGMA omit_readlock hack. (check-in: [96900c47] user: drh branch: trunk, size: 282637)
2012-01-14
14:13
[572deff9] part of check-in [2cc414cd] Merge the latest trunk changes into the apple-osx branch. (check-in: [2cc414cd] user: drh branch: apple-osx, size: 284071)
2012-01-12
15:05
[a65816cc] part of check-in [0467742f] Fix typos in a testcase() macro introduced by the previous commit. (check-in: [0467742f] user: dan branch: trunk, size: 282940)
14:25
[8276f939] part of check-in [7654ae71] Remove some assert() statements that can fail with corrupt databases. (check-in: [7654ae71] user: dan branch: trunk, size: 282896)
2012-01-08
00:54
[378a0f39] part of check-in [9612bcd6] Fix harmless compiler warning seen with MSVC. (check-in: [9612bcd6] user: mistachkin branch: trunk, size: 282142)
2012-01-05
23:32
[ef51e904] part of check-in [11949331] Combine various boolean variables in the BtShared structure into a single boolean vector. Also make performance improvement simplifications to sqlite3BtreeMovetoUnpacked(). (check-in: [11949331] user: drh branch: trunk, size: 282138)
2012-01-03
21:54
[7cf38b09] part of check-in [8a048423] Pull all the latest trunk changes over into the apple-osx branch. (check-in: [8a048423] user: drh branch: apple-osx, size: 282315)
21:33
[30dd27d3] part of check-in [9e5add51] Experimental changes to prevent buffer overreads when parsing a corrupt database file. (check-in: [9e5add51] user: drh branch: no-overread, size: 281634)
2012-01-02
16:38
[8f683b1f] part of check-in [c1691d99] Remove an incorrect assert() in btree.c. (check-in: [c1691d99] user: drh branch: trunk, size: 281184)
2011-12-21
17:00
[2fdde7d1] part of check-in [c5256b59] Avoid 32-bit overflow when calculating the byte offset of an overflow page in SQLITE_DIRECT_OVERFLOW_READ code. Fix for [ac0ff496b7]. (check-in: [c5256b59] user: dan branch: trunk, size: 280956)
2011-12-08
21:08
[46eae4a0] part of check-in [59e0d4f3] Merge the latest trunk changes into the apple-osx branch. (check-in: [59e0d4f3] user: drh branch: apple-osx, size: 282084)
2011-11-14
12:34
[c683806c] part of check-in [638a39bb] Further work on mmap(). Still does not work right - autovacuum tests are the first to fail. (check-in: [638a39bb] user: drh branch: mmap-experimental, size: 280880)
01:55
[2d943dc5] part of check-in [09be42d5] Begin making experimental changes to use mmap() for reading content from a database. The code compiles, but crashes on the test suite. (check-in: [09be42d5] user: drh branch: mmap-experimental, size: 280544)
2011-11-12
23:10
[149cccf2] part of check-in [ceee03c7] 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. (check-in: [ceee03c7] user: drh branch: experimental-pcache, size: 280282)
2011-11-11
23:51
[80ea6522] part of check-in [77119785] Catch and report errors from sqlite3OsFullPathname(). (check-in: [77119785] user: drh branch: trunk, size: 280953)
23:31
[60e0151c] part of check-in [8966ec17] Remove use of malloc and free from the Windows VFS. Also, prevent sqlite3BtreeOpen from assuming that sqlite3OsFullPathname cannot fail. (check-in: [8966ec17] user: mistachkin branch: winSyscall, size: 280628)
00:27
[2521a74f] part of check-in [471cf0d8] Make sure a corrupt index does not cause a buffer overread in sqlite3VdbeRecordCompare(). (check-in: [471cf0d8] user: drh branch: trunk, size: 280843)
2011-10-21
17:18
[601b808e] part of check-in [be62ef05] Merge the latest trunk changes into the apple-osx branch. (check-in: [be62ef05] user: drh branch: apple-osx, size: 281638)
2011-10-15
00:16
[32199e2d] part of check-in [39408702] 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. (check-in: [39408702] user: drh branch: trunk, size: 280507)
2011-10-14
21:49
[4918e848] part of check-in [60fee957] 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. (check-in: [60fee957] user: drh branch: trunk, size: 280404)
2011-10-12
17:00
[74da2e08] part of check-in [4f1a558d] Clarify a comment and fix a code formatting issue in btree.c. (check-in: [4f1a558d] user: drh branch: trunk, size: 280290)
2011-10-11
14:19
[2fdd62df] part of check-in [7e2c4898] Merge the latest trunk changes into the apple-osx branch. (check-in: [7e2c4898] user: drh branch: apple-osx, size: 281405)
2011-10-10
22:11
[1870b70e] part of check-in [db5b7b77] Merging in cherry picked diffs for persist wal, alloc padding, wal-safe vacuum and sqlite3_file_control based lockstate checking (check-in: [db5b7b77] user: adam branch: apple-osx-377, size: 279529)
2011-10-08
14:57
[b53e009b] part of check-in [2ab14a84] Add the SQLITE_DIRECT_OVERFLOW_READ compile time option. (check-in: [2ab14a84] user: dan branch: trunk, size: 280274)
2011-09-14
19:05
[71a65f9b] part of check-in [2456b4d0] Merge in the latest changes from trunk. (check-in: [2456b4d0] user: drh branch: apple-osx, size: 280060)
18:19
[77b09c69] part of check-in [3035dc1c] Remove 'const' from a variable that might actually be written when an OOM error occurs. Also, fix a couple MSVC/Win32 compiler warnings. (check-in: [3035dc1c] user: mistachkin branch: trunk, size: 278929)
2011-09-05
20:16
[4cb13cf0] part of check-in [d0712dfb] Fix a minor performance regression in btreeMoveto(). (check-in: [d0712dfb] user: dan branch: trunk, size: 278924)
14:20
[958f26c8] part of check-in [f115b230] Refactor the sqlite3VdbeRecordUnpack() interface to better accommodate the vdbesort.c module. (check-in: [f115b230] user: dan branch: trunk, size: 278923)
2011-09-02
21:42
[4d46fe30] part of check-in [a9a64592] Remove some dead code. Fix a faulty assert(). Improve some variable names. (check-in: [a9a64592] user: drh branch: merge-sort, size: 278864)
18:03
[dc3f2444] part of check-in [cf48ad83] Combine two malloc calls in vdbesort.c. (check-in: [cf48ad83] user: dan branch: merge-sort, size: 278890)
10:31
[bc2099e7] part of check-in [7769fb98] Instead of a temporary b-tree, use a linked-list and merge-sort to sort records in main memory in vdbesort.c. (check-in: [7769fb98] user: dan branch: merge-sort, size: 279038)
2011-08-31
13:27
[4a2856b3] part of check-in [d0b347b4] Add checks to make sure cells in corrupt database files do not overflow a page when doing autovacuum. Problem detected by valgrind. (check-in: [d0b347b4] user: drh branch: trunk, size: 279463)
2011-08-27
18:48
[bd89d604] part of check-in [1a249845] Experimental changes to improve the performance of OP_Next. (check-in: [1a249845] user: dan branch: experimental, size: 279280)
2011-08-26
19:18
[a10d1274] part of check-in [55af8003] Merge the latest trunk changes into the apple-osx branch. (check-in: [55af8003] user: drh branch: apple-osx, size: 280128)
00:34
[ed13fdef] part of check-in [c71d7320] 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. (check-in: [c71d7320] user: drh branch: trunk, size: 278997)
2011-08-23
18:06
[51e4af60] part of check-in [c5f7977b] Merge latest trunk changes into the apple-osx branch. (check-in: [c5f7977b] user: dan branch: apple-osx, size: 279705)
11:47
[97cf3ba4] part of check-in [35e6ac18] 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]. (check-in: [35e6ac18] user: dan branch: trunk, size: 278574)
2011-08-04
12:14
[a30bdcc2] part of check-in [a4770d07] 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. (check-in: [a4770d07] user: dan branch: experimental, size: 278615)
2011-06-25
21:43
[e0918186] part of check-in [c6158b25] Changes to make pragma synchronous sticky when SQLITE_DEFAULT_WAL_SAFETYLEVEL is used (check-in: [c6158b25] user: adam branch: apple-osx, size: 279570)
16:35
[43581d03] part of check-in [8f8b373e] Fix test cases so that they work with SQLITE_DEFAULT_WAL_SAFETYLEVEL defined. (check-in: [8f8b373e] user: dan branch: apple-osx, size: 279435)
2011-06-24
20:47
[fea8eaab] part of check-in [34f0efa2] Merging local changes to apple-osx (check-in: [34f0efa2] user: adam branch: apple-osx, size: 279240)
2011-06-06
13:38
[8c46f0ab] part of check-in [98ccfa93] Add assert() statements to verify that u16 pointers associated with the enhancement in [897f56a158] are always 2-byte aligned. (check-in: [98ccfa93] user: drh branch: trunk, size: 278439)
2011-06-04
01:43
[c19d7b35] part of check-in [65db822f] Performance improvement to the btree search routine. (check-in: [65db822f] user: drh branch: trunk, size: 278279)
2011-06-03
23:28
[9f214af2] part of check-in [897f56a1] Performance improvements on memory copies inside of btree by moving 2 bytes at a time instead of just 1 byte at a time. (check-in: [897f56a1] user: drh branch: trunk, size: 278286)
17:50
[12aa3b71] part of check-in [1bd72d0c] Factor an "if" out of a loop in balance_nonroot() for about a 1% performance increase. (check-in: [1bd72d0c] user: drh branch: trunk, size: 278217)
2011-05-30
23:42
[0d3b39dc] part of check-in [f9950c6a] Minor performance improvements. (check-in: [f9950c6a] user: drh branch: trunk, size: 277768)
2011-05-17
15:21
[975ad691] part of check-in [f7c525f5] 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. (check-in: [f7c525f5] user: drh branch: trunk, size: 277719)
2011-05-01
22:57
[40c7a361] part of check-in [7155e6f3] 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. (check-in: [7155e6f3] user: drh branch: branch-3.7.2, size: 277890)
2011-04-23
15:54
[26f8a9d6] part of check-in [68240e75] Have the ATTACH command do URI interpretation in the same way as sqlite3_open() and sqlite3_open_v2() do. (check-in: [68240e75] user: dan branch: uri, size: 277541)
2011-04-07
14:47
[6a9164af] part of check-in [d03d63d7] 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. (check-in: [d03d63d7] user: drh branch: trunk, size: 277549)
2011-04-06
17:54
[4fcad108] part of check-in [2039ed95] Changes to support building with various SQLITE_OMIT_XXX options defined. (check-in: [2039ed95] user: dan branch: trunk, size: 277517)
2011-04-05
22:08
[6002f05e] part of check-in [3eeb0ff7] Suppress many harmless compiler warnings, mostly signed/unsigned comparisons within asserts or unused parameters in extensions. (check-in: [3eeb0ff7] user: drh branch: trunk, size: 277517)
2011-04-03
02:41
[107723ed] part of check-in [28c5f12e] Fix typos in comments. No changes to code. (check-in: [28c5f12e] user: drh branch: trunk, size: 277446)
2011-03-31
18:36
[c1d7d81d] part of check-in [a5aae174] 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. (check-in: [a5aae174] user: drh branch: branch-3.7.2, size: 276025)
2011-03-29
15:40
[2b9c81ff] part of check-in [dbe569a0] 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. (check-in: [dbe569a0] user: dan branch: trunk, size: 277441)
2011-03-08
02:38
[43302cc4] part of check-in [2d5800bd] Fix additional cases of possible signed integer overflow, especially with regard to negation. (check-in: [2d5800bd] user: drh branch: trunk, size: 276712)
2011-03-06
21:28
[33265f92] part of check-in [01a79d5a] Remove dead code identified by the clang static analyzer. (check-in: [01a79d5a] user: drh branch: trunk, size: 276748)
2011-02-20
03:40
[9fd44383] part of check-in [e2616004] 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]. (check-in: [e2616004] user: drh branch: branch-3.7.4, size: 276797)
2011-02-09
18:19
[ca9f4486] part of check-in [00c4596f] 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]. (check-in: [00c4596f] user: dan branch: trunk, size: 276787)
2011-02-02
16:34
[cefe0966] part of check-in [bac7342c] Merge in the blocking-checkpoint enhancement, including the new sqlite3_wal_checkpoint_v2() interface and the PRAGMA wal_checkpoint(full) statement. (check-in: [bac7342c] user: drh branch: trunk, size: 276793)
2011-01-25
04:34
[9004c98f] part of check-in [e1464930] Shave a few cycles so that performance is better than 3.7.4 in speed tests. (check-in: [e1464930] user: drh branch: trunk, size: 276659)
2011-01-12
17:56
[a27c3b41] part of check-in [114640d9] 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. (check-in: [114640d9] user: drh branch: trunk, size: 276803)
2010-12-06
21:09
[b70bf1dc] part of check-in [fabcb6b9] Fix the build so that it once again works with SQLITE_OMIT_SHARED_CACHE and SQLITE_OMIT_AUTOVACUUM. (check-in: [fabcb6b9] user: drh branch: trunk, size: 276758)
2010-11-19
18:51
[3578a5e8] part of check-in [ebf74015] Merge the checkpoint_fullfsync pragma and the superlock demonstration into the checkpoint-v2 experimental branch. (check-in: [ebf74015] user: drh branch: blocking-checkpoint, size: 277109)
18:23
[ccafb8a8] part of check-in [a0698673] Add the checkpoint_fullfsync pragma which enables F_FULLFSYNC on checkpoint operations only, not during ordinary commit fsyncs. (check-in: [a0698673] user: drh branch: trunk, size: 276975)
2010-11-18
12:11
[d90149f6] part of check-in [72787c01] Modify the interface to the blocking wal-checkpoint functionality. (check-in: [72787c01] user: dan branch: blocking-checkpoint, size: 276842)
2010-11-16
18:56
[444aae4f] part of check-in [7e3fc2c8] 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. (check-in: [7e3fc2c8] user: dan branch: blocking-checkpoint, size: 277119)
2010-10-20
18:56
[3edab36d] part of check-in [d0a450ce] Updates to FTS4 to improve performance and make more accurate cost estimates for prefix terms. (check-in: [d0a450ce] user: dan branch: experimental, size: 276708)
2010-10-14
01:17
[8a1b0267] part of check-in [c0ee614f] Avoid taking locks on unused database connections when committing a read transaction. (check-in: [c0ee614f] user: drh branch: trunk, size: 276738)
2010-09-01
02:38
[d8785771] part of check-in [afdc82a9] Fix some compiler warnings under MSVC. (check-in: [afdc82a9] user: shaneh branch: trunk, size: 276687)
2010-08-30
22:15
[175495bf] part of check-in [4fead8e7] 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. (check-in: [4fead8e7] user: drh branch: trunk, size: 276683)
15:02
[e601b88b] part of check-in [0900e353] Remove the sqlite3BtreeFactory() wrapper routine. All modules now call sqlite3BtreeOpen() directly. (check-in: [0900e353] user: drh branch: trunk, size: 276052)
2010-08-24
01:59
[d66fc956] part of check-in [60f16838] Cherrypick the incremental_vacuum bug fix ([255f1eefa373153942c67b18b]) into the apple-osx 3.6.23 branch. (check-in: [60f16838] user: drh branch: apple-osx-3623, size: 269635)
2010-08-23
15:41
[5047fb30] part of check-in [255f1eef] Fix for ticket [5e10420e8d]. (check-in: [255f1eef] user: dan branch: trunk, size: 274818)
2010-08-21
15:09
[2dff4076] part of check-in [699a9bf2] Fix the ptrmapPageno() routine so that it works correctly for an input of 1. (check-in: [699a9bf2] user: drh branch: trunk, size: 274676)
2010-08-19
14:22
[69942b33] part of check-in [b273891a] Remove a NEVER from balance_quick() that can occur in WAL mode on a corrupt database file. (check-in: [b273891a] user: drh branch: trunk, size: 274482)
2010-08-18
21:19
[3089d018] part of check-in [e127192d] Fix two asserts in the btree logic so that they work correctly even for maximum-size index entries for 32K and 64K pages. (check-in: [e127192d] user: drh branch: trunk, size: 274489)
02:28
[b1213572] part of check-in [1f5662b7] Fix some compiler warnings in the MSVC build. (check-in: [1f5662b7] user: shaneh branch: trunk, size: 274486)
2010-08-17
19:40
[3b4bca08] part of check-in [3f8c068a] Suppress harmless compiler warning. (check-in: [3f8c068a] user: drh branch: trunk, size: 274434)
2010-08-14
21:21
[083ced09] part of check-in [faf1974e] Adjustments for better 64K page size handling. (check-in: [faf1974e] user: drh branch: trunk, size: 274434)
17:12
[f5758ebc] part of check-in [7dd78eb7] Change sqlite3PagerPagecount() to return void, since the return value was always SQLITE_OK and was never used. (check-in: [7dd78eb7] user: drh branch: trunk, size: 274433)
16:02
[4d861dd1] part of check-in [364df6c7] Minor simplifications to btree.c in support of full-coverage testing. (check-in: [364df6c7] user: drh branch: trunk, size: 274490)
2010-08-12
02:41
[042a5c0a] part of check-in [45362437] Increase the maximum page size from 32k to 64k. (check-in: [45362437] user: drh branch: trunk, size: 274072)
2010-08-05
03:21
[63eebba7] part of check-in [fbe70e11] 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. (check-in: [fbe70e11] user: drh branch: trunk, size: 273840)
2010-08-04
11:59
[0de928e4] part of check-in [dec70c63] Backport the [65b8636ac6e5] fix for ticket [51ae9cad317a1] to version 3.7.0. (check-in: [dec70c63] user: drh branch: branch-3.7.0, size: 273146)
11:34
[397093af] part of check-in [65b8636a] 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]. (check-in: [65b8636a] user: dan branch: trunk, size: 273733)
2010-08-02
10:47
[2b122b7d] part of check-in [e75b52d1] 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. (check-in: [e75b52d1] user: dan branch: trunk, size: 273135)
2010-07-24
16:34
[ed454f53] part of check-in [ac1f37a6] Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). (check-in: [ac1f37a6] user: drh branch: malloc-enhancement, size: 272588)
2010-07-03
05:56
[9a214e61] part of check-in [4f62dbcf] 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. (check-in: [4f62dbcf] user: dan branch: mistake, size: 272548)
2010-07-02
17:05
[c34267e8] part of check-in [70833877] Fix some warnings when compiling under MSVC. (check-in: [70833877] user: shaneh branch: mistake, size: 272570)
2010-06-30
04:29
[ac51d077] part of check-in [5e19bc36] Add coverage test cases. Have sqlite3_backup_step() transform SQLITE_IOERR_NOMEM to SQLITE_NOMEM before returning. (check-in: [5e19bc36] user: dan branch: trunk, size: 272560)
2010-06-17
02:13
[9806fb40] part of check-in [f80c3f92] 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. (check-in: [f80c3f92] user: drh branch: trunk, size: 272483)
2010-06-01
14:12
[5934a9f5] part of check-in [ce644965] If an attempt to get a read-lock on the WAL fails with SQLITE_BUSY_RECOVER, call the busy-handler at the btree level. (check-in: [ce644965] user: dan branch: wal-incr-ckpt, size: 272422)
2010-05-01
16:40
[d0414a5f] part of check-in [9b230c43] Support compile-time option SQLITE_OMIT_WAL, for building without WAL support. (check-in: [9b230c43] user: dan branch: wal, size: 272415)
2010-04-29
22:34
[2e41e62e] part of check-in [62db5fa3] 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. (check-in: [62db5fa3] user: drh branch: wal, size: 272265)
2010-04-27
14:37
[dd26f3b5] part of check-in [c8658da4] Fix a problem with identifying a corrupt database in WAL mode. (check-in: [c8658da4] user: dan branch: wal, size: 272265)
2010-04-22
06:27
[f87ed73e] part of check-in [12363184] Further tests and changes related to switching between WAL and rollback modes. (check-in: [12363184] user: dan branch: wal, size: 272239)
2010-04-21
18:37
[fcfff21f] part of check-in [9f4f933f] Tests for (and changes to) the code to switch between WAL and rollback modes. (check-in: [9f4f933f] user: dan branch: wal, size: 272239)
11:43
[e6ef1020] part of check-in [33cabf27] 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. (check-in: [33cabf27] user: dan branch: wal, size: 271785)
2010-04-20
18:53
[013cf019] part of check-in [96bef18c] Use the read and write version fields of the database header to mark a database as operating in wal-mode. (check-in: [96bef18c] user: dan branch: wal, size: 271411)
2010-04-07
20:29
[01559397] part of check-in [a3540c6a] 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. (check-in: [a3540c6a] user: drh branch: trunk, size: 270466)
2010-04-02
12:46
[aa756431] part of check-in [8eb1f244] If the size of the database according to the header is larger than the actual database file size, report that the database is corrupt. (check-in: [8eb1f244] user: drh branch: trunk, size: 270368)
2010-04-01
02:22
[639a8ca0] part of check-in [802aeb30] Restore the size information in the BtShared structure when a transaction rolls back. (check-in: [802aeb30] user: drh branch: trunk, size: 270105)
2010-03-31
20:29
[02ad0060] part of check-in [a91db0b1] Report corruption if a database contains a reference that is out of range according to the filesize-in-header database size. (check-in: [a91db0b1] user: drh branch: trunk, size: 269898)
02:31
[de086bad] part of check-in [dbc2c3c0] Increase test coverage following the introduction of the new filesize-in-header logic. (check-in: [dbc2c3c0] user: drh branch: trunk, size: 270221)
2010-03-30
22:58
[d3a0ee18] part of check-in [79e22b95] Continuing refinements to the filesize-in-header enhancement. (check-in: [79e22b95] user: drh branch: trunk, size: 270046)
15:51
[dc9dc08f] part of check-in [c117f992] Add a NEVER macro around a test in btree.c that can not longer be true. (check-in: [c117f992] user: drh branch: trunk, size: 269913)
2010-03-29
21:13
[ca75bce3] part of check-in [01ef6c19] The btree layer now tracks when a database is empty at the start of a transaction and rolls back to that state. (check-in: [01ef6c19] user: drh branch: experimental, size: 269611)
19:36
[6bb6cf7b] part of check-in [09786e2a] 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. (check-in: [09786e2a] user: drh branch: experimental, size: 269508)
2010-03-27
17:12
[28c39750] part of check-in [b844ac6f] 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. (check-in: [b844ac6f] user: drh branch: experimental, size: 269618)
2010-03-09
14:41
[0d6e44d6] part of check-in [115c978b] Minor changes to silence compiler warnings on various MSVC builds. (check-in: [115c978b] user: shaneh branch: trunk, size: 269493)
2010-02-26
15:09
[22bcd5cb] part of check-in [7bdb1e05] Avoid a buffer overwrite that can occur with a corrupt database if secure-delete is enabled. (check-in: [7bdb1e05] user: dan branch: trunk, size: 269448)
13:07
[65359edf] part of check-in [8f29490d] Avoid incorrect compiler warnings by doing a couple of needless variable initializations. (check-in: [8f29490d] user: drh branch: trunk, size: 269225)
01:46
[fa6f5834] part of check-in [4927c62d] Minor changes to silence some compiler warnings with MSVC. (check-in: [4927c62d] user: shaneh branch: trunk, size: 269225)
2010-02-25
19:09
[0fc16c6f] part of check-in [1cc4be7e] Add experimental fix for corruption detection problem. This may well be revised yet. (check-in: [1cc4be7e] user: dan branch: trunk, size: 269214)
14:44
[171eceee] part of check-in [a2550597] Add some technically unnecessary variable initializations to silence compiler warnings. (check-in: [a2550597] user: dan branch: branch-3.6.1, size: 231646)
02:32
[5f00d6dd] part of check-in [46f406b2] 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]. (check-in: [46f406b2] user: drh branch: branch-3.6.22, size: 267942)
02:04
[e9ded8d7] part of check-in [ecd22ef3] Enhance integrity_check to detect out-of-order rowids. This is a cherrypick merge of check-in [cae47c5b09]. (check-in: [ecd22ef3] user: drh branch: branch-3.6.22, size: 267933)
2010-02-23
17:36
[ae804d16] part of check-in [7c4cca6d] Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging output for CORRUPT, and CANTOPEN errors. (check-in: [7c4cca6d] user: drh branch: trunk, size: 268407)
2010-02-19
04:28
[b7ac4420] part of check-in [cae47c5b] Changes to pragma integrity_check to check rowid order. Tests of same in corruptE.test. (check-in: [cae47c5b] user: shaneh branch: trunk, size: 268397)
2010-02-12
19:46
[c9ee3c30] part of check-in [2bb38bb9] Enhancements to the secure_delete pragma to make it easier to use. (check-in: [2bb38bb9] user: drh branch: trunk, size: 266620)
18:18
[25078c9b] part of check-in [f72f8a87] 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. (check-in: [f72f8a87] user: drh branch: trunk, size: 266597)
2009-12-06
03:35
[efdef395] part of check-in [5a511f98] Enhanced detection of database corruption in btree.c:allocateSpace(). (check-in: [5a511f98] user: drh branch: trunk, size: 266155)
2009-12-05
18:34
[92de7465] part of check-in [7a9a3532] Fix to check-in [f221f31eff]: Make sure local variable rc is declared even when compiled without SQLITE_DEBUG. (check-in: [7a9a3532] user: drh branch: trunk, size: 265889)
18:03
[bc0393e5] part of check-in [0f9b17a6] Catch an obscure case of database corruption. (check-in: [0f9b17a6] user: dan branch: trunk, size: 265899)
2009-12-04
22:51
[976b4ca0] part of check-in [04fc9c76] 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(). (check-in: [04fc9c76] user: drh branch: trunk, size: 265827)
2009-12-03
21:26
[086f343d] part of check-in [5ab2b3e3] Fix an assert() in btree.c that might have fired on a corrupt database file. (check-in: [5ab2b3e3] user: drh branch: trunk, size: 265908)
19:40
[e6f7c7bb] part of check-in [d5861d9f] Remove a NEVER() from btree.c that could occur in a very obscure tested evaluation with an I/O error on fstat(). (check-in: [d5861d9f] user: drh branch: trunk, size: 265525)
2009-11-24
02:37
[c13f6d1a] part of check-in [02ef972a] Fix SQLITE_SECURE_DELETE so that it overwrites content on the root pages of tables and indices that are dropped using the truncate optimization. (check-in: [02ef972a] user: drh branch: trunk, size: 265732)
2009-11-18
23:01
[d37a90bb] part of check-in [85940468] Performance improvement by avoiding unnecessary calls to memset(). (check-in: [85940468] user: drh branch: trunk, size: 265636)
2009-11-13
17:05
[4076d11e] part of check-in [bdc45ba7] Force 8-byte memory alignment on memory allocated for VDBE cursors. (check-in: [bdc45ba7] user: drh branch: trunk, size: 265184)
2009-11-10
01:30
[daf01297] part of check-in [f6c045f6] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f6] user: drh branch: trunk, size: 265176)
2009-11-01
19:26
[3b29423f] part of check-in [cfa2db0f] Fix compiler warnings. Better comments on some variables associated with LIKE/GLOB processing in the query planner. (check-in: [cfa2db0f] user: drh branch: trunk, size: 265235)
2009-10-16
15:05
[b2d060e4] part of check-in [32966ba4] Comment cleanup in btree.c. (check-in: [32966ba4] user: drh branch: trunk, size: 265231)
14:55
[953ad663] part of check-in [174477bc] Experimental fix for [f777251dc7]. This may be changed yet. (check-in: [174477bc] user: dan branch: trunk, size: 264671)
2009-09-09
14:17
[9c425425] part of check-in [f509eb8b] 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] (check-in: [f509eb8b] user: drh branch: trunk, size: 264864)
2009-09-08
01:14
[873a8270] part of check-in [52449a95] Code simplifications, especially to the pseudo-table logic, and comment improvements. (check-in: [52449a95] user: drh branch: trunk, size: 264868)
2009-08-25
13:53
[6b60ece5] part of check-in [d33b9eb2] Avoid calling sqite3VdbeRecordCompare() with uninitialized memory following an OOM. Doing so is harmless, but it worries valgrind. (check-in: [d33b9eb2] user: drh branch: trunk, size: 264661)
2009-08-14
17:01
[49212dda] part of check-in [43321a55] Fix a case where SQLite may write past the end of a buffer as a result of a corrupted database file. (check-in: [43321a55] user: dan branch: trunk, size: 264600)
2009-08-10
03:57
[97d32ef9] part of check-in [ee034cfc] Removed some warnings from the MSVC compile. (CVS 6965) (check-in: [ee034cfc] user: shane branch: trunk, size: 264494)
2009-08-08
18:01
[812c365f] part of check-in [257e9b57] Suppress various compiler warnings. (CVS 6963) (check-in: [257e9b57] user: drh branch: trunk, size: 264474)
2009-07-24
19:01
[46f24d0b] part of check-in [866216c0] Further simplifications to pager.c in support of structural coverage testing. (CVS 6929) (check-in: [866216c0] user: drh branch: trunk, size: 264591)
17:58
[c1d3d670] part of check-in [5d9e767a] Allow virtual tables to be used in shared-cache mode. (CVS 6928) (check-in: [5d9e767a] user: danielk1977 branch: trunk, size: 264641)
2009-07-23
01:44
[64fbba11] part of check-in [5ba880dd] Simplifications and comment enhancements on btree.c. (CVS 6925) (check-in: [5ba880dd] user: drh branch: trunk, size: 264672)
2009-07-22
18:07
[e3cd5ed9] part of check-in [375fd6f9] Simplifications to btree.c in support of coverage testing. (CVS 6923) (check-in: [375fd6f9] user: drh branch: trunk, size: 264394)
14:08
[74655dc7] part of check-in [5260e8b1] Fix a double-free that can occur after database corruption is detected. (CVS 6921) (check-in: [5260e8b1] user: danielk1977 branch: trunk, size: 264494)
00:35
[ece7e39b] part of check-in [96cfd079] 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) (check-in: [96cfd079] user: drh branch: trunk, size: 264507)
2009-07-21
19:25
[710f95cf] part of check-in [0b41dfc0] Change getAndInitPage() (btree.c) to use only PagerAcquire(), not PagerLookup() and PagerAcquire(). (CVS 6916) (check-in: [0b41dfc0] user: danielk1977 branch: trunk, size: 263749)
19:02
[abc2ccac] part of check-in [716fccea] Additional simplifications to btree.c in support of coverage testing. (CVS 6915) (check-in: [716fccea] user: drh branch: trunk, size: 263795)
15:33
[d5f5b30e] part of check-in [110998f1] Remove an assert() in btree.c which is no longer true due to changes in the error reporting behavior of ptrmapPut(). (CVS 6914) (check-in: [110998f1] user: drh branch: trunk, size: 263622)
11:52
[d5dde31b] part of check-in [4cf23e9e] Changes to btree.c in support of coverage testing. (CVS 6913) (check-in: [4cf23e9e] user: drh branch: trunk, size: 263653)
2009-07-20
19:30
[123dd6ab] part of check-in [a159e9d2] 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) (check-in: [a159e9d2] user: drh branch: trunk, size: 263105)
17:11
[a597d1d9] part of check-in [7dcf2a78] 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) (check-in: [7dcf2a78] user: drh branch: trunk, size: 263085)
2009-07-16
18:21
[4d964398] part of check-in [94525179] Code simplifications and comment improvements in support of structural coverage testing. (CVS 6899) (check-in: [94525179] user: drh branch: trunk, size: 263006)
2009-07-15
18:15
[7e2ecefd] part of check-in [6242db39] 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) (check-in: [6242db39] user: drh branch: trunk, size: 262714)
17:25
[a1fda2c5] part of check-in [d3897235] 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) (check-in: [d3897235] user: drh branch: trunk, size: 262752)
11:26
[b5a8d21f] part of check-in [cfbeda1b] Added the SQLITE_TESTCTRL_RESERVE option to sqlite3_test_control(). Simplifications to btree.c to facilitate structural coverage testing. (CVS 6894) (check-in: [cfbeda1b] user: drh branch: trunk, size: 262630)
2009-07-14
17:48
[dcdf6af6] part of check-in [17749fa5] Simplifications to the PRAGMA integrity_check logic. Remove unreachable code. (CVS 6892) (check-in: [17749fa5] user: drh branch: trunk, size: 262401)
2009-07-13
13:18
[b88edecb] part of check-in [9f800e11] Change an unreachable condition in btree.c to a NEVER(). (CVS 6888) (check-in: [9f800e11] user: danielk1977 branch: trunk, size: 262618)
11:22
[39559c17] part of check-in [b9be365d] 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) (check-in: [b9be365d] user: danielk1977 branch: trunk, size: 262219)
09:41
[a65e2050] part of check-in [3151dab9] 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) (check-in: [3151dab9] user: danielk1977 branch: trunk, size: 261982)
07:30
[48825008] part of check-in [39ce2097] Remove a case from BtreeMovetoUnpacked() that is unreachable as of (6881). (CVS 6885) (check-in: [39ce2097] user: danielk1977 branch: trunk, size: 260523)
2009-07-12
02:32
[46f5eb09] part of check-in [dfb146ef] Simplifications to btree.c to help facilitate coverage testing. (CVS 6884) (check-in: [dfb146ef] user: drh branch: trunk, size: 260365)
2009-07-11
18:26
[e1ad67c9] part of check-in [7deb6568] Remove an unused parameter from the accessPayload() function in btree.c. (CVS 6882) (check-in: [7deb6568] user: drh branch: trunk, size: 260322)
17:39
[2604d941] part of check-in [6994b41a] Fix a case where deleting a row from a corrupt database could cause an assert to fail. (CVS 6881) (check-in: [6994b41a] user: danielk1977 branch: trunk, size: 260450)
17:04
[6a5d08b4] part of check-in [618a83d6] Bug fix in the computation of the number of pages to autovacuum when nReserve is greater than zero. (CVS 6880) (check-in: [618a83d6] user: drh branch: trunk, size: 260397)
13:13
[a080b574] part of check-in [d99bde9c] Unwind some complex conditions in sqlite3BtreeDelete() into separate "if" statements. (CVS 6879) (check-in: [d99bde9c] user: drh branch: trunk, size: 260112)
11:45
[0fd74216] part of check-in [b0853100] Remove another unreachable branch from btree.c. (CVS 6878) (check-in: [b0853100] user: danielk1977 branch: trunk, size: 260124)
06:55
[829ff601] part of check-in [709576c6] 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) (check-in: [709576c6] user: danielk1977 branch: trunk, size: 260093)
05:06
[563cda7b] part of check-in [47b40fef] Remove unreachable condition from btree.c. (CVS 6876) (check-in: [47b40fef] user: danielk1977 branch: trunk, size: 259961)
2009-07-10
16:51
[c331cc04] part of check-in [c6dfc8bd] Fix a pager reference count leak in btree that occurs on an OOM following a database page size change. (CVS 6875) (check-in: [c6dfc8bd] user: drh branch: trunk, size: 259631)
02:52
[90b5fbf4] part of check-in [440c573c] Simplifications to the PRAGMA integrity_check logic in btree.c. (CVS 6873) (check-in: [440c573c] user: drh branch: trunk, size: 259677)
2009-07-09
13:25
[0c58f787] part of check-in [9403f04d] Fix two faulty assert() statements btree. (It was possible for the assertions to be false given a corrupt database file as input.) (CVS 6872) (check-in: [9403f04d] user: drh branch: trunk, size: 259607)
11:36
[58c2d32d] part of check-in [45efb78a] Remove an unused branch from btree.c. (CVS 6871) (check-in: [45efb78a] user: danielk1977 branch: trunk, size: 259592)
08:27
[45595e89] part of check-in [3190eefd] 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) (check-in: [3190eefd] user: danielk1977 branch: trunk, size: 259585)
05:07
[068c2d86] part of check-in [1d96ce8c] 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) (check-in: [1d96ce8c] user: danielk1977 branch: trunk, size: 259126)
03:20
[abceac00] part of check-in [579ba6c8] removed the test function sqlite3BtreeFlags() (test code only); (CVS 6868) (check-in: [579ba6c8] user: shane branch: trunk, size: 259567)
02:48
[c9775946] part of check-in [0eb69e8d] removed unused functions from test3.c (test code only); (CVS 6867) (check-in: [0eb69e8d] user: shane branch: trunk, size: 260069)
02:24
[3a97e228] part of check-in [1b8c3a82] Simplifications and additional testcase() macros for btree.c. (CVS 6866) (check-in: [1b8c3a82] user: drh branch: trunk, size: 260936)
2009-07-08
18:50
[92c2f9f5] part of check-in [890dbab2] Fix a typo in (6861): "ifndef SQLITE_TEST" -> "ifdef SQLITE_TEST". (CVS 6865) (check-in: [890dbab2] user: danielk1977 branch: trunk, size: 260948)
18:45
[8a607b18] part of check-in [11e295cc] Revert part of (6860) that was accidentally checked in. (CVS 6864) (check-in: [11e295cc] user: danielk1977 branch: trunk, size: 260949)
18:12
[a2117e0d] part of check-in [fed66e86] Add another boundary-condition testcase() macro to btree.c. Correct the comment on modifyPagePointer(). (CVS 6863) (check-in: [fed66e86] user: drh branch: trunk, size: 260912)
16:54
[88efb67b] part of check-in [5ac991b3] Improvements to comments in btree.c:freeSpace(). Added a testcase() macro to verify a boundary case is tested in sqlite3BtreeInitPage(). (CVS 6862) (check-in: [5ac991b3] user: drh branch: trunk, size: 260934)
15:14
[e95997f1] part of check-in [196cbf82] Comment out sqlite3BtreeFlags() when not in debug mode. Tweaks to database corruption detection logic in freeSpace(). (CVS 6861) (check-in: [196cbf82] user: drh branch: trunk, size: 260799)
13:55
[62fc49f2] part of check-in [86eba4f1] Fix error handling in sqlite3BtreePutData(). (CVS 6860) (check-in: [86eba4f1] user: danielk1977 branch: trunk, size: 260805)
08:05
[2fd0b5cc] part of check-in [0cc705c2] 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) (check-in: [0cc705c2] user: danielk1977 branch: trunk, size: 260727)
01:49
[e82f52ac] part of check-in [aab82a22] Simplifications to sqlite3BtreeInsert() and allocateSpace(). Added many testcase() macros to verify boundary conditions in btree.c. (CVS 6858) (check-in: [aab82a22] user: drh branch: trunk, size: 260551)
2009-07-07
17:38
[48ac9ac6] part of check-in [87bbc8d6] Improvements to corrupt database detection in defragmentPage(). (CVS 6857) (check-in: [87bbc8d6] user: drh branch: trunk, size: 260028)
15:47
[0cc9c503] part of check-in [06dcfe72] 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) (check-in: [06dcfe72] user: danielk1977 branch: trunk, size: 259562)
11:39
[8f4c2ebd] part of check-in [ec1e27e3] Fix a reference count problem following database corruption detection in the ptrmapPut() routine of btree.c. (CVS 6854) (check-in: [ec1e27e3] user: drh branch: trunk, size: 259214)
02:44
[efad7a5a] part of check-in [fc2a40a9] Simplifications to btree.c and vdbeaux.c in support of structural coverage testing. (CVS 6853) (check-in: [fc2a40a9] user: drh branch: trunk, size: 259181)
2009-07-06
18:56
[1a7caa2b] part of check-in [30d5ec62] Make the sqlite3BtreeMoveto function static, since it is only used from within btree.c. Remove unused function lockBtreeWithRetry from btree.c. (CVS 6850) (check-in: [30d5ec62] user: danielk1977 branch: trunk, size: 259137)
2009-07-04
17:16
[1c12a097] part of check-in [c76a366e] Remove unreachable code from function btreeCursor() in btree.c. (CVS 6848) (check-in: [c76a366e] user: danielk1977 branch: trunk, size: 259847)
15:41
[464fbd75] part of check-in [133357d2] Remove a redundant branch from btree.c. (CVS 6847) (check-in: [133357d2] user: danielk1977 branch: trunk, size: 259768)
2009-07-03
16:25
[b7f75130] part of check-in [e2112d61] Simplify the way the read-uncommitted flag is handled to facilitate test coverage. (CVS 6841) (check-in: [e2112d61] user: danielk1977 branch: trunk, size: 259794)
2009-07-02
17:21
[8a3f74ae] part of check-in [611e704f] 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) (check-in: [611e704f] user: danielk1977 branch: trunk, size: 260673)
07:47
[b739b965] part of check-in [e3c055f1] 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) (check-in: [e3c055f1] user: danielk1977 branch: trunk, size: 259733)
05:23
[aff035e8] part of check-in [8f0591ae] Fix for compilation with OMIT_AUTOVACUUM defined. Ticket #3940. (CVS 6835) (check-in: [8f0591ae] user: danielk1977 branch: trunk, size: 260887)
2009-06-29
06:00
[078eb410] part of check-in [f17ef378] 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) (check-in: [f17ef378] user: danielk1977 branch: trunk, size: 260844)
2009-06-26
16:32
[617d674e] part of check-in [f01a9fc3] Removed a few compiler warnings under MSVC. (CVS 6825) (check-in: [f01a9fc3] user: shane branch: trunk, size: 257839)
2009-06-25
16:11
[c049fb18] part of check-in [bb5f1c01] Fix a problem with a return code being ignored in insertCell(). (CVS 6816) (check-in: [bb5f1c01] user: danielk1977 branch: trunk, size: 257797)
09:40
[d57b2935] part of check-in [daadbd9a] Replace an "if" condition that is always true in btree.c with an assert(). (CVS 6814) (check-in: [daadbd9a] user: danielk1977 branch: trunk, size: 257818)
2009-06-24
05:40
[699c333d] part of check-in [11750c6a] Simplify things by rolling the functionality of balance_shallower() into balance_nonroot(). (CVS 6808) (check-in: [11750c6a] user: danielk1977 branch: trunk, size: 257790)
2009-06-23
16:40
[807e32c1] part of check-in [c5dc80e6] Remove a condition from balance_nonroot() that is always true. (CVS 6806) (check-in: [c5dc80e6] user: danielk1977 branch: trunk, size: 258777)
15:43
[13e33e85] part of check-in [da9893e2] Call balance_shallower() from balance_nonroot() instead of from balance(). This simplifies coverage testing a bit. (CVS 6805) (check-in: [da9893e2] user: danielk1977 branch: trunk, size: 258753)
11:22
[73219130] part of check-in [47ec8749] Fix a failing assert in btree.c. The same bug was causing a spurious SQLITE_CORRUPT return when compiled without SQLITE_DEBUG. (CVS 6800) (check-in: [47ec8749] user: danielk1977 branch: trunk, size: 259376)
2009-06-22
18:03
[4796c27b] part of check-in [3ec8b37a] Remove a condition that is always true from btree.c. (CVS 6798) (check-in: [3ec8b37a] user: danielk1977 branch: trunk, size: 259199)
12:05
[e24cdcd3] part of check-in [bda38f5e] 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) (check-in: [bda38f5e] user: drh branch: trunk, size: 259140)
2009-06-18
17:22
[0fbea81d] part of check-in [ed08b53c] Move codec management from database connections into the pager so that it will work together with shared cache. (CVS 6782) (check-in: [ed08b53c] user: drh branch: trunk, size: 259088)
11:29
[067ad47d] part of check-in [db4fb835] Reduce the minimum usable page space to 480 byte from 500 bytes. (CVS 6780) (check-in: [db4fb835] user: drh branch: trunk, size: 259014)
2009-06-17
13:57
[c7fc867f] part of check-in [69eb0ff8] Fix a potential segfault following database corruption. Problem made visible by check-in (6772). (CVS 6775) (check-in: [69eb0ff8] user: drh branch: trunk, size: 259014)
13:09
[5d4e1fda] part of check-in [59ec937c] Suppress some -Wextra compiler warnings from GCC. (CVS 6774) (check-in: [59ec937c] user: drh branch: trunk, size: 258993)
11:49
[9225e072] part of check-in [a433ca82] Fix a bug affecting secure-delete mode introduced by (6768). (CVS 6773) (check-in: [a433ca82] user: danielk1977 branch: trunk, size: 258915)
11:13
[37145843] part of check-in [368e44ec] Fix for #3918. Also, fix the TRACE macros in balance_nonroot(). (CVS 6772) (check-in: [368e44ec] user: danielk1977 branch: trunk, size: 258390)
2009-06-16
16:50
[1edede2a] part of check-in [092b276e] Changes to balance_nonroot() and BtreeDelete() to simplify delete operations and reduce stack/heap usage while balancing b-tree structures. (CVS 6768) (check-in: [092b276e] user: danielk1977 branch: trunk, size: 258369)
04:31
[08115026] part of check-in [d89542cd] Remove a duplicate assert from btree.c. Ticket #3915. (CVS 6765) (check-in: [d89542cd] user: danielk1977 branch: trunk, size: 257667)
2009-06-15
16:27
[8363cf2e] part of check-in [e1e64307] Fix compiler warnings with MSVC build. (CVS 6761) (check-in: [e1e64307] user: shane branch: trunk, size: 257699)
2009-06-14
12:47
[9804315e] part of check-in [3448b39d] Detect database corruption and abort balance_nonroot() before the corruption causes problems. (CVS 6758) (check-in: [3448b39d] user: drh branch: trunk, size: 257690)
2009-06-10
09:11
[b883af5a] part of check-in [9ace9959] Minor tweak to balance_quick() to save a few instructions. (CVS 6743) (check-in: [9ace9959] user: danielk1977 branch: trunk, size: 257581)
2009-06-09
18:58
[e626616c] part of check-in [0bd84e73] Fix compiler warnings with MSVC build. (CVS 6741) (check-in: [0bd84e73] user: shane branch: trunk, size: 257484)
13:42
[a3c7d36d] part of check-in [56bff6eb] 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) (check-in: [56bff6eb] user: drh branch: trunk, size: 257472)
11:34
[a5a8e678] part of check-in [2e5d42ae] Avoid calling fillInCell() to create an internal node intkey cell from balance_nonroot(). A single putVarint() does the same thing more quickly. (CVS 6734) (check-in: [2e5d42ae] user: danielk1977 branch: trunk, size: 257468)
10:37
[30bd9f07] part of check-in [49f544eb] Only do the cell overread checks in sqlite3BtreeInitPage if SQLITE_OVERREAD_CHECK is defined at compile-time. (CVS 6733) (check-in: [49f544eb] user: drh branch: trunk, size: 257557)
09:41
[53c5df7f] part of check-in [8f1c1f61] 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) (check-in: [8f1c1f61] user: danielk1977 branch: trunk, size: 257570)
2009-06-08
14:49
[50716b7a] part of check-in [7863db90] Change the btree balance code so that it does not call balance_nonroot() recursively. (CVS 6729) (check-in: [7863db90] user: danielk1977 branch: trunk, size: 258556)
2009-06-05
18:44
[bb9dbeaf] part of check-in [3ae4880b] Detect when database corruption causes an attemp to set the pointer map value for a pointer map page and report the corruption. (CVS 6722) (check-in: [3ae4880b] user: drh branch: trunk, size: 255921)
14:17
[3a0e5294] part of check-in [38b20327] 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) (check-in: [38b20327] user: drh branch: trunk, size: 255867)
2009-06-04
19:06
[17ab7af7] part of check-in [e557c8e5] Earlier detection of freelist corruption in the page allocation routines. (CVS 6718) (check-in: [e557c8e5] user: drh branch: trunk, size: 255963)
17:02
[a55ea6bd] part of check-in [1335e444] 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) (check-in: [1335e444] user: drh branch: trunk, size: 255424)
16:14
[ca21e0b4] part of check-in [52b02ca5] 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) (check-in: [52b02ca5] user: drh branch: trunk, size: 255400)
14:46
[ca836296] part of check-in [e7ad68e9] Reduce the stack usage of balance_quick(). (CVS 6715) (check-in: [e7ad68e9] user: danielk1977 branch: trunk, size: 255355)
00:11
[708b9373] part of check-in [4e92c7f2] 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) (check-in: [4e92c7f2] user: drh branch: trunk, size: 255048)
2009-06-03
21:04
[f8636b7a] part of check-in [c54de1f5] 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) (check-in: [c54de1f5] user: drh branch: trunk, size: 254999)
17:26
[b0ac9955] part of check-in [7fa5d3cb] 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) (check-in: [7fa5d3cb] user: danielk1977 branch: trunk, size: 254001)
11:25
[5afa1b5b] part of check-in [6dbf4eca] 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) (check-in: [6dbf4eca] user: danielk1977 branch: trunk, size: 253634)
2009-05-28
11:05
[41bee6e4] part of check-in [5904af6e] Workaround the need for internal API sqlite3BtreeCursorDb(). It was only being used for an assert() statement, which can be done differently. (CVS 6683) (check-in: [5904af6e] user: danielk1977 branch: trunk, size: 253552)
2009-05-06
18:57
[7c4b02af] part of check-in [df599237] Changes to silence compiler warnings under MSVC. (CVS 6613) (check-in: [df599237] user: shane branch: trunk, size: 253633)
2009-05-04
19:01
[a601a89b] part of check-in [77a82395] Avoid parsing cells that fit entirely on the b-tree page when searching a b-tree index. (CVS 6601) (check-in: [77a82395] user: danielk1977 branch: trunk, size: 253629)
11:42
[62f3194f] part of check-in [cac4f3d8] Speed up INSERT operations that add data to UNIQUE or PRIMARY KEY indexes by rationalizing duplicate seek operations. (CVS 6599) (check-in: [cac4f3d8] user: danielk1977 branch: trunk, size: 252216)
2009-05-02
10:03
[64ad8841] part of check-in [9950c0a7] 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) (check-in: [9950c0a7] user: danielk1977 branch: trunk, size: 251539)
07:36
[1201cba9] part of check-in [20c4acc2] Do not reset the cursor before seeking it in sqlite3BtreeInsert(). This speeds up INSERT operations that use auto-generated rowid values. (CVS 6591) (check-in: [20c4acc2] user: danielk1977 branch: trunk, size: 249887)
2009-05-01
13:16
[4bef945f] part of check-in [26444f2a] Update PRAGMA integrity_check so that it treats SQLITE_IOERR_NOMEM errors from underlying components the same as SQLITE_NOMEM errors. (CVS 6587) (check-in: [26444f2a] user: drh branch: trunk, size: 249341)
2009-04-30
13:30
[2165bfef] part of check-in [715f14f1] Disallow attaching the same database multiple times to the same db connection in shared cache mode, since doing so leads to deadlock. (CVS 6578) (check-in: [715f14f1] user: drh branch: trunk, size: 249289)
09:10
[2b89d1f5] part of check-in [38f8c5a1] 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) (check-in: [38f8c5a1] user: danielk1977 branch: trunk, size: 248595)
01:22
[4ac764ea] part of check-in [8bf60b24] Remove always-true tests from attach.c. In btree.c, always test the return from sqlite3PagerSetPagesize() since it might return SQLITE_NOMEM. (CVS 6572) (check-in: [8bf60b24] user: drh branch: trunk, size: 248561)
2009-04-29
17:49
[57b2aeac] part of check-in [7ec42e98] Modify the assemblePage() function in btree.c so that it runs slightly faster. (CVS 6569) (check-in: [7ec42e98] user: danielk1977 branch: trunk, size: 248546)
11:31
[d3e38cf7] part of check-in [e8f7f7b7] Add a version of cellSizePtr() that is faster than using sqlite3BtreeParseCellPtr(). This speeds up balance_nonroot(). (CVS 6566) (check-in: [e8f7f7b7] user: danielk1977 branch: trunk, size: 248611)
06:27
[3dffdafe] part of check-in [fc3a5ac2] Simplify a conditional expression in btree.c. (CVS 6565) (check-in: [fc3a5ac2] user: danielk1977 branch: trunk, size: 247452)
2009-04-19
20:51
[b4ec46b3] part of check-in [bd860184] Update comments and remove unused code in btree.c. No functional changes. (CVS 6521) (check-in: [bd860184] user: drh branch: trunk, size: 247482)
2009-04-11
16:06
[103858ad] part of check-in [2c560e05] Fix a case where a corrupt database could cause an assert() to fail. (CVS 6496) (check-in: [2c560e05] user: danielk1977 branch: trunk, size: 247646)
2009-04-10
09:47
[8331febf] part of check-in [ed6620ba] Always set BtShared.db when entering the BtShared mutex. Ticket #3793. (CVS 6480) (check-in: [ed6620ba] user: danielk1977 branch: trunk, size: 247465)
00:56
[02c902db] part of check-in [2cc68272] Force 8-byte alignment of sqlite3_value objects in the sqlite3VdbeUnpackRecord() primitive. Ticket #3777. (CVS 6479) (check-in: [2cc68272] user: drh branch: trunk, size: 247763)
2009-04-07
14:38
[0d02176d] part of check-in [2c1f5983] Fix an incorrect assert in btree.c. (CVS 6465) (check-in: [2c1f5983] user: danielk1977 branch: trunk, size: 247770)
2009-04-06
17:50
[effd3b70] part of check-in [def3a016] Test cases and minor code changes to increase coverage of btree.c. (CVS 6456) (check-in: [def3a016] user: danielk1977 branch: trunk, size: 247736)
2009-04-05
12:22
[457a71a1] part of check-in [208382e0] Additional code to make sure and to assert that memory allocations have 8-byte alignment. Ticket #3777. (CVS 6450) (check-in: [208382e0] user: drh branch: trunk, size: 247551)
2009-04-02
20:16
[f4fdf535] part of check-in [85e6a474] 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) (check-in: [85e6a474] user: drh branch: trunk, size: 247611)
18:28
[7d51b2ef] part of check-in [8f142344] Fix a problem causing the BtShared.isPending flag to be cleared to early. Also coverage improvements for btree.c. (CVS 6440) (check-in: [8f142344] user: danielk1977 branch: trunk, size: 247343)
2009-04-01
19:07
[dcf8157b] part of check-in [85979295] Remove an unreachable branch from lockBtree(). Add comments. (CVS 6428) (check-in: [85979295] user: danielk1977 branch: trunk, size: 246834)
18:03
[3e831426] part of check-in [fdd78962] Remove the unused SQLITE_Vtab flag. (CVS 6425) (check-in: [fdd78962] user: danielk1977 branch: trunk, size: 246487)
17:13
[abd530b6] part of check-in [0c5a7d11] 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) (check-in: [0c5a7d11] user: danielk1977 branch: trunk, size: 246527)
16:25
[cfa70f8e] part of check-in [f8e15a54] Remove an unreachable branch from allocateSpace() in btree.c. Add comments and asserts to the same function. (CVS 6422) (check-in: [f8e15a54] user: danielk1977 branch: trunk, size: 246480)
09:41
[afb15be9] part of check-in [3e3b5e86] Add some assert() statements to querySharedCacheTableLock(). (CVS 6421) (check-in: [3e3b5e86] user: danielk1977 branch: trunk, size: 245857)
2009-03-30
18:50
[304c18b7] part of check-in [c5890935] 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) (check-in: [c5890935] user: danielk1977 branch: trunk, size: 245003)
17:19
[244dddea] part of check-in [10f605be] 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) (check-in: [10f605be] user: drh branch: trunk, size: 244671)
13:53
[5f99af1a] part of check-in [3c9097f1] Modify integrity-check to prevent a buffer overread when dealing with a corrupted database. (CVS 6411) (check-in: [3c9097f1] user: danielk1977 branch: trunk, size: 244253)
2009-03-28
10:54
[3aef6704] part of check-in [9278f7b1] The fix in (6395) was not correct. Fix #3756 a different way. (CVS 6397) (check-in: [9278f7b1] user: danielk1977 branch: trunk, size: 244181)
2009-03-25
15:43
[a0095c47] part of check-in [de469c46] Fix a problem preventing sqlite3_extended_errcode() from working correctly. (CVS 6385) (check-in: [de469c46] user: danielk1977 branch: trunk, size: 243970)
2009-03-23
02:34
[1a709b6a] part of check-in [83a4d5b3] Fix compiler warning in MSVC. (CVS 6371) (check-in: [83a4d5b3] user: shane branch: trunk, size: 243965)
2009-03-20
13:15
[4fbb5f26] part of check-in [19fa5a29] 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) (check-in: [19fa5a29] user: drh branch: trunk, size: 243959)
2009-03-18
10:33
[081e1aac] part of check-in [a60f4191] Fix some cases where executing SQL from within a user-function callback could cause problems related to statement-transactions. (CVS 6355) (check-in: [a60f4191] user: danielk1977 branch: trunk, size: 243451)
2009-03-17
22:33
[805ca960] part of check-in [18978583] 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) (check-in: [18978583] user: drh branch: trunk, size: 244779)
2009-03-16
13:19
[7d1c7e15] part of check-in [b649a6cc] Add the sqlite3_unlock_notify() API. (CVS 6348) (check-in: [b649a6cc] user: danielk1977 branch: trunk, size: 243141)
2009-03-12
14:43
[6e7501d7] part of check-in [a1bb1aef] Make calls to sqlite3BtreeRollbackStmt() no-ops when passed a Btree* handle that does not have an open statement transaction. Ticket #3718. (CVS 6342) (check-in: [a1bb1aef] user: danielk1977 branch: trunk, size: 241658)
2009-03-05
04:20
[ec710abc] part of check-in [6404afa0] Corrected typos and misspellings. Ticket #3702. (CVS 6336) (check-in: [6404afa0] user: shane branch: trunk, size: 241609)
2009-02-24
19:21
[c219cd5d] part of check-in [91d9d51e] Additional commands and another procedure name changes for clarity of presentation. No logic changes. (CVS 6323) (check-in: [91d9d51e] user: drh branch: trunk, size: 241604)
18:57
[10c415ef] part of check-in [b99c1815] Changes to comments and functions/procedure names for clarification. No changes to logic. (CVS 6322) (check-in: [b99c1815] user: drh branch: trunk, size: 241359)
16:18
[8b8697ab] part of check-in [4a12f5b8] 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) (check-in: [4a12f5b8] user: drh branch: trunk, size: 241035)
10:01
[e0178d6f] part of check-in [d4aa6593] Optimize queries of the form "SELECT count(*) FROM <tbl>" by adding a sqlite3BtreeCount() interface to the btree layer. (CVS 6316) (check-in: [d4aa6593] user: danielk1977 branch: trunk, size: 240890)
2009-02-18
20:31
[086fdb45] part of check-in [ded04f12] Make sure the auto_vacuum=INCREMENTAL setting is preserved across a VACUUM. Ticket #3663. (CVS 6304) (check-in: [ded04f12] user: drh branch: trunk, size: 238313)
2009-02-04
01:49
[71f30e74] part of check-in [6301f08a] Remove compiler warnings under MSVC. (CVS 6249) (check-in: [6301f08a] user: shane branch: trunk, size: 238270)
2009-02-03
16:51
[800a0656] part of check-in [663479b4] Commit first version of the 'backup' feature. (CVS 6241) (check-in: [663479b4] user: danielk1977 branch: trunk, size: 238230)
2009-01-31
14:54
[dfbbfc39] part of check-in [407830c6] Avoid a segfault when running vacuum on an in-memory database. Ticket #3620. (CVS 6221) (check-in: [407830c6] user: danielk1977 branch: trunk, size: 245487)
2009-01-28
20:21
[606c67b1] part of check-in [68957cf0] Fix a segfault that can occur when attempting to insert into a corrupt database file. Need a test case. (CVS 6212) (check-in: [68957cf0] user: drh branch: trunk, size: 245356)
2009-01-20
17:06
[01b3af74] part of check-in [12f7346c] Big change to make pager.c easier to follow. Unused variables removed, comments improved, etc. (CVS 6197) (check-in: [12f7346c] user: danielk1977 branch: trunk, size: 245292)
2009-01-16
16:23
[e183a435] part of check-in [a353c1ab] Revert (6187). (CVS 6188) (check-in: [a353c1ab] user: danielk1977 branch: trunk, size: 240581)
15:21
[3b446e24] part of check-in [aa67fd0c] This commit is an error. Reverted by (6188). (CVS 6187) (check-in: [aa67fd0c] user: danielk1977 branch: trunk, size: 245301)
2009-01-10
16:15
[603ce196] part of check-in [64a8dcd8] 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) (check-in: [64a8dcd8] user: drh branch: trunk, size: 240573)
2009-01-09
14:11
[6ece0e36] part of check-in [ac84f106] Simplifications to btree.c to improve test coverage. (CVS 6150) (check-in: [ac84f106] user: drh branch: trunk, size: 240593)
2009-01-06
18:21
[8f5a2e9a] part of check-in [df2c285c] Reduce the number of paths in btreeCopyFile(). (CVS 6124) (check-in: [df2c285c] user: danielk1977 branch: trunk, size: 241596)
2009-01-02
21:08
[b0cf3e72] part of check-in [3e9efb76] Reinitialize page 1 of the database file following a ROLLBACK TO of a transactional SAVEPOINT on an initially empty database. (CVS 6103) (check-in: [3e9efb76] user: drh branch: trunk, size: 241837)
18:10
[2a89b28a] part of check-in [78dd7909] Fix compiler warnings in pager.c (CVS 6102) (check-in: [78dd7909] user: drh branch: trunk, size: 241777)
2008-12-27
15:23
[581fdccd] part of check-in [08352f9e] Fix a problem with savepoint and incremental-vacuum. (CVS 6066) (check-in: [08352f9e] user: danielk1977 branch: trunk, size: 241817)
2008-12-23
15:58
[f695109b] part of check-in [8d0f7244] Make sure nOverflow is always cleared when a page is released. (CVS 6059) (check-in: [8d0f7244] user: drh branch: trunk, size: 242550)
10:37
[69983b4e] part of check-in [ae44e748] Fix a couple of assert() failures that can occur in btree.c and pager.c. (CVS 6055) (check-in: [ae44e748] user: danielk1977 branch: trunk, size: 242422)
2008-12-18
15:45
[ad51b56b] part of check-in [98a53d91] 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) (check-in: [98a53d91] user: danielk1977 branch: trunk, size: 242494)
2008-12-17
17:30
[c402a9a1] part of check-in [34b56600] Add the savepoint feature. This feature is largely untested at this point. (CVS 6036) (check-in: [34b56600] user: danielk1977 branch: trunk, size: 241984)
2008-12-16
13:46
[fb64a2af] part of check-in [13b56b7f] Make sure the memory returned from sqlite3ScratchMalloc() is 8-byte aligned. Ticket #3542. (CVS 6031) (check-in: [13b56b7f] user: drh branch: trunk, size: 240515)
2008-12-10
21:19
[e5bfe007] part of check-in [ea01d437] Additional work at eliminating silly compiler warnings. (CVS 6010) (check-in: [ea01d437] user: drh branch: trunk, size: 240530)
16:45
[ba7baa98] part of check-in [da1cbfa7] Add explicit casts to silence nuisance warnings from VC++. (CVS 6004) (check-in: [da1cbfa7] user: drh branch: trunk, size: 240480)
2008-12-05
22:40
[05fae412] part of check-in [2a3f5ce1] Fix integrity check so that it always reports memory allocation errors that it encounters. (CVS 5984) (check-in: [2a3f5ce1] user: drh branch: trunk, size: 239725)
20:01
[b3438bc1] part of check-in [bfde3dae] Make sure the nOverflow flag in MemPage is reset to zero after every insert. (CVS 5983) (check-in: [bfde3dae] user: drh branch: trunk, size: 239513)
2008-11-27
02:22
[372c5b32] part of check-in [f9c73590] Add 19 new assert() statements in btree.c that attempt to detect writing to a cache page which is not writeable. (CVS 5964) (check-in: [f9c73590] user: drh branch: trunk, size: 239096)
2008-11-26
14:55
[1c468249] part of check-in [8c0edbef] Port check-ins (5955) and (5956) into the 3.6.6 branch. (CVS 5958) (check-in: [8c0edbef] user: drh branch: branch_3_6_6, size: 237143)
07:40
[615a2b9e] part of check-in [8271229c] Fix an obscure memory leak that can follow an IO error. (CVS 5956) (check-in: [8271229c] user: danielk1977 branch: trunk, size: 237133)
07:25
[950070c6] part of check-in [1a66481a] Fix a couple of assert() failures provoked by running with a small default cache-size (64 pages). (CVS 5955) (check-in: [1a66481a] user: danielk1977 branch: trunk, size: 237074)
2008-11-22
14:07
[adfb7974] part of check-in [15d88edf] Port the corruption bug fix of check-in (5938) into a branch off of version 3.6.6. (CVS 5947) (check-in: [15d88edf] user: drh branch: branch_3_6_6, size: 236997)
2008-11-21
09:09
[286ff124] part of check-in [ddf980a5] Fix the problems demonstrated in tkt35xx.test in a different way to (5936). (CVS 5938) (check-in: [ddf980a5] user: danielk1977 branch: trunk, size: 237001)
2008-11-19
10:22
[76c1b092] part of check-in [7bd1ac18] Simplify the way the pager layer invokes the busy-handler callback. (CVS 5922) (check-in: [7bd1ac18] user: danielk1977 branch: trunk, size: 236956)
09:05
[abbd6838] part of check-in [88134322] Changes to avoid "unused parameter" compiler warnings. (CVS 5921) (check-in: [88134322] user: danielk1977 branch: trunk, size: 237051)
2008-11-17
14:20
[661d3224] part of check-in [24469dba] Changes to btree.c to avoid the unsigned/signed comparison warnings. (CVS 5911) (check-in: [24469dba] user: danielk1977 branch: trunk, size: 237186)
2008-11-13
18:29
[81c22965] part of check-in [9b7a52e9] Fixed several more crashes due to corrupt db files. Added corruptC.test to soak.test. (CVS 5905) (check-in: [9b7a52e9] user: shane branch: trunk, size: 237113)
14:28
[be3e0aa6] part of check-in [47866d67] Add an API to support custom page cache implementations. (CVS 5899) (check-in: [47866d67] user: danielk1977 branch: trunk, size: 236826)
2008-11-12
18:21
[7c06d81f] part of check-in [faa6bd7b] Avoid some buffer overreads detected by valgrind while running corruptC.test. (CVS 5898) (check-in: [faa6bd7b] user: danielk1977 branch: trunk, size: 236691)
08:49
[7505a73b] part of check-in [395084ac] Fix a database corruption related crash uncovered by corruptC.test. (CVS 5890) (check-in: [395084ac] user: danielk1977 branch: trunk, size: 236613)
04:55
[5406b753] part of check-in [f8bb34e4] Fixed a few more crashes when dealing with corrupt db files. (CVS 5888) (check-in: [f8bb34e4] user: shane branch: trunk, size: 236538)
2008-11-11
22:18
[9794c9ee] part of check-in [ec18667e] Fixed crash during an UPDATE when free cell size is corrupt. (CVS 5887) (check-in: [ec18667e] user: shane branch: trunk, size: 236279)
20:51
[16dda042] part of check-in [99d4172e] Prevent a crash during an UPDATE when the cell offset is corrupt. (CVS 5886) (check-in: [99d4172e] user: shane branch: trunk, size: 236203)
17:36
[7824bc89] part of check-in [0659a666] Fixed crash in integrity_check with corrupt content offset size in page header. (CVS 5881) (check-in: [0659a666] user: shane branch: trunk, size: 236106)
2008-11-10
17:14
[e0ceb752] part of check-in [e0f07323] In btree.c, omit calls to setChildPtrmaps() if SQLITE_OMIT_AUTOVACUUM is defined. Ticket #3439. (CVS 5871) (check-in: [e0f07323] user: shane branch: trunk, size: 235831)
2008-11-03
20:55
[4320c626] part of check-in [fdb98fd8] Change the name of the Cursor object to VdbeCursor. (CVS 5857) (check-in: [fdb98fd8] user: drh branch: trunk, size: 235718)
2008-10-27
13:59
[5d72b67e] part of check-in [e68e4282] Make sqlite3_count_changes() and total_changes() work with "DELETE FROM ". (CVS 5844)
(check-in: [e68e4282] user: danielk1977 branch: trunk, size: 235725)
2008-10-08
17:58
[3e686f89] part of check-in [af679f61] 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) (check-in: [af679f61] user: danielk1977 branch: trunk, size: 235402)
2008-09-30
17:18
[64a38df6] part of check-in [fb461b78] Add some testcase() and assert() macros to btree.c to aid with testing recent changes. (CVS 5757) (check-in: [fb461b78] user: drh branch: trunk, size: 235381)
16:48
[d1720e1e] part of check-in [0f3c5633] Fix a comment in btree.c. No code changes. (CVS 5756) (check-in: [0f3c5633] user: danielk1977 branch: trunk, size: 233373)
14:06
[b7fbd31b] part of check-in [4e536463] Change leading tabs into spaces. (CVS 5755) (check-in: [4e536463] user: drh branch: trunk, size: 233236)
09:31
[2e5cf91c] part of check-in [83c064ca] Fix a recently introduced problem with deleting entries from index tables. (CVS 5754) (check-in: [83c064ca] user: danielk1977 branch: trunk, size: 233167)
2008-09-29
16:41
[df02edb0] part of check-in [35e8e4dc] 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) (check-in: [35e8e4dc] user: danielk1977 branch: trunk, size: 230699)
15:53
[002084e2] part of check-in [7354abd0] Remove the MemPage.idxShift variable. It is no longer required. (CVS 5750) (check-in: [7354abd0] user: danielk1977 branch: trunk, size: 235250)
11:49
[8fc7c0bd] part of check-in [40425e93] 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) (check-in: [40425e93] user: danielk1977 branch: trunk, size: 235182)
2008-09-26
17:31
[850d7ede] part of check-in [28fd0a50] Performance enhancement: avoid calling reparentChildPages() from balance_nonroot(). (CVS 5743) (check-in: [28fd0a50] user: danielk1977 branch: trunk, size: 238244)
2008-09-19
16:39
[4d642d23] part of check-in [0c8b74e6] 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) (check-in: [0c8b74e6] user: danielk1977 branch: trunk, size: 235866)
15:10
[cfe8dbba] part of check-in [59be34cf] In sqlite3BtreeGetMeta(), if BtShared.pPage1 is available use it instead of requesting a new reference from the pager layer. (CVS 5724) (check-in: [59be34cf] user: danielk1977 branch: trunk, size: 234766)
2008-09-18
18:17
[54fc8950] part of check-in [05d34626] Fix a segfault introduced by (5720) that can follow an IO error. (CVS 5721) (check-in: [05d34626] user: danielk1977 branch: trunk, size: 234644)
17:34
[e8484887] part of check-in [6b998f30] Avoid parsing the structure of b-tree pages (in sqlite3BtreeInitPage) more than is necessary. (CVS 5720) (check-in: [6b998f30] user: danielk1977 branch: trunk, size: 234603)
01:08
[5db7b54e] part of check-in [badd0873] Performance improvements in getAndInitPage(): omit the upper bound check on page number if the page is already in cache. (CVS 5716) (check-in: [badd0873] user: drh branch: trunk, size: 232882)
2008-09-10
17:53
[5419fcd2] part of check-in [89fda074] Fix some trivial cases where database corruption was causing an error code other than SQLITE_CORRUPT to be returned. (CVS 5690) (check-in: [89fda074] user: danielk1977 branch: trunk, size: 232107)
14:45
[9e11a68f] part of check-in [93545861] 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) (check-in: [93545861] user: danielk1977 branch: trunk, size: 232064)
2008-09-05
05:02
[6ea37de3] part of check-in [0b8ee83f] Fix a problem in btree.c preventing an OOM error from being propagated up to the caller. (CVS 5677) (check-in: [0b8ee83f] user: danielk1977 branch: trunk, size: 231651)
2008-09-02
14:07
[70706ed6] part of check-in [88c82759] 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) (check-in: [88c82759] user: danielk1977 branch: trunk, size: 231658)
09:38
[3c251cac] part of check-in [44def90d] Modify pcache.c to work with OMIT_WSD. (CVS 5659) (check-in: [44def90d] user: danielk1977 branch: trunk, size: 231840)
00:52
[a12044e5] part of check-in [ef26ea5c] Continuing work on adding full support for the SQLITE_OMIT_WSD compile-time option. (CVS 5658) (check-in: [ef26ea5c] user: drh branch: trunk, size: 231831)
2008-09-01
18:34
[deb7e145] part of check-in [573d92ab] Begin adding support for the SQLITE_OMIT_WSD macro. Some (many) WSD variables still need wrappers added to them. (CVS 5652) (check-in: [573d92ab] user: danielk1977 branch: trunk, size: 231663)
2008-08-27
15:16
[9b98b0d2] part of check-in [9e932599] Use a bitvec object to store the set of pages with the 'always-rollback' property for a transaction. (CVS 5622) (check-in: [9e932599] user: danielk1977 branch: trunk, size: 231657)
2008-08-25
11:57
[f6a1f698] part of check-in [eae959ed] Fix a segfault that can occur when running integrity_check on a corrupt db. (CVS 5606) (check-in: [eae959ed] user: danielk1977 branch: trunk, size: 231647)
2008-08-23
16:17
[9253ac92] part of check-in [cb869946] 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) (check-in: [cb869946] user: danielk1977 branch: trunk, size: 231590)
2008-08-22
17:34
[4212dce1] part of check-in [6de9c084] Remove dead code. (CVS 5601) (check-in: [6de9c084] user: drh branch: trunk, size: 231575)
12:57
[e1b5c898] part of check-in [2a365e29] Fix nuisance compiler warnings. Ticket #3309. (CVS 5591) (check-in: [2a365e29] user: drh branch: trunk, size: 231641)
2008-08-20
22:06
[3078f7a5] part of check-in [00b17798] Modify the sqlite3VdbeUnpackRecord() interface to force the temporary space to be 8-byte aligned. This might be important for Sparc. Ticket #3318. (CVS 5573) (check-in: [00b17798] user: drh branch: trunk, size: 231626)
14:49
[c536edea] part of check-in [cb494e10] 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) (check-in: [cb494e10] user: danielk1977 branch: trunk, size: 231631)
2008-08-13
19:11
[c38431ae] part of check-in [0b92cbf5] Additional changes toward fixing ticket #3292. (CVS 5562) (check-in: [0b92cbf5] user: drh branch: trunk, size: 231575)
14:07
[2ae1092e] part of check-in [055f173a] A partial fix for ticket #3292. This fixes the original problem but there are other similar problems lurking in the code still. (CVS 5561) (check-in: [055f173a] user: drh branch: trunk, size: 231586)
2008-08-02
17:36
[da7491ef] part of check-in [f653995c] Fix a reference count leak introduced by (5526). (CVS 5527) (check-in: [f653995c] user: danielk1977 branch: trunk, size: 231588)
17:03
[ff5ff00d] part of check-in [fb26ae72] Avoid doing IO purely to check assert() constraints. (CVS 5526) (check-in: [fb26ae72] user: danielk1977 branch: trunk, size: 231517)
2008-08-01
20:10
[0be00cb6] part of check-in [2cd6bae8] Bring test coverage up to 99%. (CVS 5522) (check-in: [2cd6bae8] user: drh branch: trunk, size: 231415)
2008-07-28
19:34
[540186cc] part of check-in [e48f9697] 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) (check-in: [e48f9697] user: drh branch: trunk, size: 231304)
2008-07-19
14:25
[1318ab0e] part of check-in [a560c618] Reduce the number of "#ifndef SQLITE_OMIT_AUTOVACUUM" conditions in btree.c by using the ISAUTOVACUUM macro instead. (CVS 5444) (check-in: [a560c618] user: danielk1977 branch: trunk, size: 231307)
11:49
[7303414d] part of check-in [9992b1ae] Improve the performance of balance_nonroot() on auto-vacuum databases by reducing the number of calls to ptrmapPut(). (CVS 5442) (check-in: [9992b1ae] user: danielk1977 branch: trunk, size: 231746)
2008-07-18
17:16
[770e1b12] part of check-in [3b2dd417] Fix SQLITE_OMIT_AUTOVACUUM so that it works again. Ticket #3228. (CVS 5439) (check-in: [3b2dd417] user: drh branch: trunk, size: 229797)
09:34
[95640f01] part of check-in [d807fb27] Performance improvement: reduce the number of calls to ptrmapPageno() made by ptrmapPut() and ptrmapGet(). (CVS 5437) (check-in: [d807fb27] user: danielk1977 branch: trunk, size: 229700)
03:32
[af2bc332] part of check-in [c69633ec] The zeroPage() routine in btree.c need not actually zero the whole page, just the header. (CVS 5434) (check-in: [c69633ec] user: drh branch: trunk, size: 229684)
02:44
[134d2f76] part of check-in [b88087e6] Omit the check for cell-pointer consistency in sqlite3BtreeInitPage() for a 2.5% performance gain. (CVS 5433) (check-in: [b88087e6] user: drh branch: trunk, size: 229680)
00:57
[5299a702] part of check-in [77e099ad] Optimization to sqltie3BtreeParseCellPtr. 0.3% performance increase. (CVS 5432) (check-in: [77e099ad] user: drh branch: trunk, size: 229284)
2008-07-17
18:39
[c618d62f] part of check-in [29d3bfd7] Simplify the b-tree logic by taking advantage of the fact that all b-trees are either intkey+leafdata or zerodata. (CVS 5431) (check-in: [29d3bfd7] user: drh branch: trunk, size: 229251)
2008-07-16
18:17
[5dcc47a3] part of check-in [1d01c02a] Eliminate some unnecessary IO during a commit in full auto-vacuum mode. (CVS 5426) (check-in: [1d01c02a] user: danielk1977 branch: trunk, size: 228981)
2008-07-12
14:52
[cda41ffc] part of check-in [dcb16024] Remove leftover debugging commands (breakpoint and btree_breakpoint) from test scripts. (CVS 5400) (check-in: [dcb16024] user: drh branch: trunk, size: 228933)
2008-07-11
21:02
[dcbb9624] part of check-in [c80a5d09] Detect and handles the case where a row is modified or deleted while it is being read during SELECT processing. (CVS 5399) (check-in: [c80a5d09] user: drh branch: trunk, size: 228852)
16:39
[8d082147] part of check-in [6dcce6b9] Added corruptA.test for testing malformed database headers. (CVS 5397) (check-in: [6dcce6b9] user: drh branch: trunk, size: 228551)
16:15
[881d5eb6] part of check-in [d7e2f0d2] Additional test coverage for the btree module. Remove the failsafe() macro and replace it with ALWAYS() and NEVER(). (CVS 5395) (check-in: [d7e2f0d2] user: drh branch: trunk, size: 228639)
03:38
[6ec7584e] part of check-in [c45d578e] Remove an extra zeroPage() call that was left in the previous check-in by mistake. Ticket #3209. (CVS 5393) (check-in: [c45d578e] user: drh branch: trunk, size: 228655)
03:34
[89f1122f] part of check-in [30825f74] Make the btree layer robust when faced with a corrupt database that contains duplicate entries on the freelist. Ticket #3209. (CVS 5392) (check-in: [30825f74] user: drh branch: trunk, size: 228686)
02:21
[71ba2420] part of check-in [620b4721] Additional test coverage in btree.c. Added corruption tests for the ptrmap pages of an autovacuumed database (corrupt8.test). (CVS 5391) (check-in: [620b4721] user: drh branch: trunk, size: 228640)
2008-07-10
00:32
[61c4752f] part of check-in [636cd723] 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) (check-in: [636cd723] user: drh branch: trunk, size: 228515)
2008-07-09
11:49
[fbc557de] part of check-in [491f8f96] Coverage testing for balance_quick() and balance_deeper(). (CVS 5382) (check-in: [491f8f96] user: danielk1977 branch: trunk, size: 228818)
2008-07-08
19:34
[a52b0a1d] part of check-in [8ed04b1e] Completely rework the sqlite3SetString() primitive so that it honors the SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374) (check-in: [8ed04b1e] user: drh branch: trunk, size: 228348)
17:13
[965da6ca] part of check-in [d74fbb81] Test another corruption case in btree.c. And an IO error related scenario. (CVS 5371) (check-in: [d74fbb81] user: danielk1977 branch: trunk, size: 228368)
2008-07-04
17:52
[e0026855] part of check-in [b8ff6b0a] 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) (check-in: [b8ff6b0a] user: drh branch: trunk, size: 228359)
2008-06-28
15:33
[dd7b7a92] part of check-in [f66491ab] Remove an assert() that was failing if there were any open incremental blob handles when a statement transaction was rolled back. (CVS 5326) (check-in: [f66491ab] user: danielk1977 branch: trunk, size: 227620)
2008-06-23
09:50
[6d25027d] part of check-in [0492aa8e] 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) (check-in: [0492aa8e] user: danielk1977 branch: trunk, size: 227661)
2008-06-19
01:03
[54a5e5f8] part of check-in [005f8eae] Bug fixes: Plug a memory leak introduced by the previous check-in. Get the amalgamation to the point where it will compile. (CVS 5241) (check-in: [005f8eae] user: drh branch: trunk, size: 227457)
00:16
[a7c8e782] part of check-in [cb1f11cd] 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) (check-in: [cb1f11cd] user: drh branch: trunk, size: 227434)
2008-06-18
17:09
[bae7f135] part of check-in [5059644c] Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234) (check-in: [5059644c] user: danielk1977 branch: trunk, size: 227357)
2008-06-17
15:12
[a7b1ffdd] part of check-in [3e797d0f] Add internal interfaces: PageMalloc/PageFree and ScratchMalloc/ScratchFree. (CVS 5226) (check-in: [3e797d0f] user: drh branch: trunk, size: 227329)
2008-06-15
02:51
[b374c2ba] part of check-in [65fe7b62] 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) (check-in: [65fe7b62] user: drh branch: trunk, size: 227228)
2008-06-11
18:27
[1f4a3f83] part of check-in [afcfba0a] Fix an error in the previous commit found by corrupt7.test. (CVS 5204) (check-in: [afcfba0a] user: danielk1977 branch: trunk, size: 227003)
18:15
[48290915] part of check-in [82f27e28] Check that the offsets in the cell-offset array of a b-tree page are within range in sqlite3BtreeInit(). (CVS 5203) (check-in: [82f27e28] user: danielk1977 branch: trunk, size: 227003)
2008-06-10
17:30
[5f76517e] part of check-in [e339c91f] 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) (check-in: [e339c91f] user: danielk1977 branch: trunk, size: 226488)
2008-06-09
19:27
[0c2c19a9] part of check-in [120bffff] Moved declaration of int nPage; to top of block to silence picky compilers (MSVC). (CVS 5197) (check-in: [120bffff] user: shane branch: trunk, size: 225322)
2008-06-07
08:58
[fca8ae92] part of check-in [e9f01c01] Change the signature of sqlite3PagerPagecount() so that it can return an error code. (CVS 5195) (check-in: [e9f01c01] user: danielk1977 branch: trunk, size: 225328)
2008-05-09
16:57
[7bee6ba4] part of check-in [7a44fb96] Fix a problem with recovering from an IO error in exclusive-locking mode. (CVS 5112) (check-in: [7a44fb96] user: danielk1977 branch: trunk, size: 225158)
2008-05-07
19:11
[7401bcbd] part of check-in [e98a7f87] Fix some problems with multi-file transactions in persistent journal mode. (CVS 5102) (check-in: [e98a7f87] user: danielk1977 branch: trunk, size: 225054)
07:13
[556adb8f] part of check-in [ed98df24] 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) (check-in: [ed98df24] user: danielk1977 branch: trunk, size: 225028)
2008-05-05
15:26
[638f450d] part of check-in [198c395b] Avoid leaking page references after an IO error is encountered. (CVS 5082) (check-in: [198c395b] user: danielk1977 branch: trunk, size: 225020)
12:09
[6b16a43a] part of check-in [270d47e8] Avoid leaking page references when database corruption is encountered. (CVS 5080) (check-in: [270d47e8] user: danielk1977 branch: trunk, size: 225040)
2008-05-02
14:23
[05c6bcb6] part of check-in [3dc334aa] Make sure that when a connection is blocking on a RESERVED lock that it continues after the lock is released. Ticket #3093. (CVS 5078) (check-in: [3dc334aa] user: drh branch: trunk, size: 224920)
2008-04-24
19:15
[8b2294c6] part of check-in [0d04ccd9] 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) (check-in: [0d04ccd9] user: shane branch: trunk, size: 224881)
2008-04-03
21:46
[ee340ad9] part of check-in [40173010] Remove superfluous code from btree.c. (CVS 4964) (check-in: [40173010] user: drh branch: trunk, size: 224882)
2008-04-02
18:33
[680c357b] part of check-in [e8529455] Minor optimizations. (CVS 4955) (check-in: [e8529455] user: drh branch: trunk, size: 225170)
16:29
[00cc20be] part of check-in [66c5d715] Simplifications to the LockTable opcode. (CVS 4954) (check-in: [66c5d715] user: drh branch: trunk, size: 225134)
2008-03-29
16:01
[20d51e14] part of check-in [9b567ab6] Make the sqlite3BtreeMoveto routine a no-op if the cursor is already pointing at the cell we are trying to move to. (CVS 4938) (check-in: [9b567ab6] user: drh branch: trunk, size: 225019)
2008-03-25
17:23
[6e60d634] part of check-in [ee381b43] 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) (check-in: [ee381b43] user: drh branch: trunk, size: 224138)
14:24
[366f5f66] part of check-in [fe1bc0f3] 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) (check-in: [fe1bc0f3] user: danielk1977 branch: trunk, size: 223308)
09:56
[0a170b7b] part of check-in [ef0e40e8] Fix for memory leak in malloc3.test. (CVS 4913) (check-in: [ef0e40e8] user: danielk1977 branch: trunk, size: 222969)
09:47
[5e3f2556] part of check-in [04715364] Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912) (check-in: [04715364] user: danielk1977 branch: trunk, size: 222914)
00:22
[984962aa] part of check-in [0e1d84f2] 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) (check-in: [0e1d84f2] user: drh branch: trunk, size: 222870)
2008-03-23
00:20
[15424f41] part of check-in [a807e718] Remove redundant tests from the reparenter in the btree module. (CVS 4909) (check-in: [a807e718] user: drh branch: trunk, size: 223669)
2008-03-20
11:04
[77304a20] part of check-in [871df0e7] 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) (check-in: [871df0e7] user: danielk1977 branch: trunk, size: 223728)
2008-03-04
17:45
[439e2684] part of check-in [9c6694bb] Various renames & cleanups to limit exported symbols on amalgamation build (CVS 4819) (check-in: [9c6694bb] user: mlcreech branch: trunk, size: 218146)
2008-02-19
14:59
[134a152a] part of check-in [8fdbe4ab] Use 16-bit integers for indexing within a page in btree. Tighter bounds on the maximum number of cells within one page. (CVS 4796) (check-in: [8fdbe4ab] user: drh branch: trunk, size: 218143)
2008-01-31
14:54
[29ea5771] part of check-in [9b207d1a] 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) (check-in: [9b207d1a] user: drh branch: trunk, size: 218163)
2008-01-19
23:50
[a3125bd5] part of check-in [010f7b78] Additional test coverage improvements. Test coverage now stands at 98.73%. (CVS 4731) (check-in: [010f7b78] user: drh branch: trunk, size: 218102)
2008-01-02
11:50
[5164b329] part of check-in [f1966a8a] 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) (check-in: [f1966a8a] user: danielk1977 branch: trunk, size: 218061)
2008-01-01
06:19
[6c3ded4f] part of check-in [b51782cc] Silence a harmless unitialised variable warning in btree.c. Ticket #2862. (CVS 4650) (check-in: [b51782cc] user: danielk1977 branch: trunk, size: 218014)
2007-12-21
04:47
[bef8ceec] part of check-in [2e59b1d0] Fix for #2854. "BEGIN EXCLUSIVE" excludes other shared cache users from using the database. (CVS 4642) (check-in: [2e59b1d0] user: danielk1977 branch: trunk, size: 218187)
2007-12-13
21:54
[10cc2401] part of check-in [4e91a267] 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) (check-in: [4e91a267] user: drh branch: trunk, size: 217483)
2007-12-07
18:55
[45c65b60] part of check-in [c9eb6591] 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) (check-in: [c9eb6591] user: drh branch: trunk, size: 217488)
2007-11-28
16:19
[c5844bb4] part of check-in [98960132] 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) (check-in: [98960132] user: drh branch: trunk, size: 217195)
2007-11-05
15:30
[008ce6b6] part of check-in [b752906e] Fix some minor problems with malloc failure and in-memory databases. (CVS 4527) (check-in: [b752906e] user: danielk1977 branch: trunk, size: 217259)
2007-10-16
19:45
[1212c516] part of check-in [329dd014] A cosmetic changes to btree.c which (we are told) works around a bug in MSVC++. (CVS 4491) (check-in: [329dd014] user: drh branch: trunk, size: 217270)
2007-10-03
08:46
[a491c45b] part of check-in [12eca32a] Add automatic recovery from the pager "error-state". Also add a new error code - SQLITE_IOERR_NOMEM. (CVS 4454) (check-in: [12eca32a] user: danielk1977 branch: trunk, size: 217260)
2007-09-17
07:02
[ed7c4825] part of check-in [8b29f5fb] 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) (check-in: [8b29f5fb] user: danielk1977 branch: trunk, size: 217311)
2007-09-12
17:01
[ac94b8a9] part of check-in [c8405b15] Fixes for compilation/testing when the various OMIT macros are defined. (CVS 4423) (check-in: [c8405b15] user: danielk1977 branch: trunk, size: 217253)
2007-09-07
14:32
[30f7efaf] part of check-in [c8e85fff] Fix a segfault that could occur while attempting to add new pages to the freelist in a corrupt database. (CVS 4414) (check-in: [c8e85fff] user: drh branch: trunk, size: 217207)
2007-09-06
23:39
[9d684690] part of check-in [4881f7cb] 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) (check-in: [4881f7cb] user: drh branch: trunk, size: 217140)
22:19
[f37796c6] part of check-in [2b755def] 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) (check-in: [2b755def] user: drh branch: trunk, size: 217063)
2007-09-03
22:00
[b1e8025a] part of check-in [fee2d7c0] Fix btree.c so that it works with -DSQLITE_THREADSAFE=0 and -DSQLITE_DEBUG=1 (CVS 4387) (check-in: [fee2d7c0] user: drh branch: trunk, size: 217023)
15:19
[bc7d8565] part of check-in [020a2b10] Honor the SQLITE_OPEN_ flags passed into sqlite3_open_v2(). Some test cases added but more are needed. Ticket #2616. (CVS 4376) (check-in: [020a2b10] user: drh branch: trunk, size: 216935)
2007-08-30
01:19
[f22955f6] part of check-in [e40d40a5] Fix for the sqlite3AbortOtherActiveVdbes() problem. (CVS 4328) (check-in: [e40d40a5] user: drh branch: trunk, size: 216823)
2007-08-29
19:15
[91b362f7] part of check-in [35cb63ec] Fix minor problems on various tests. This is a snapshot prior to possible major changes in order to fix the sqlite3AbortOtherActiveVdbes problem. (CVS 4327) (check-in: [35cb63ec] user: drh branch: trunk, size: 215396)
17:43
[ff821439] part of check-in [2732af0e] Improvements to mutex asserts. The quick test runs to completion without assertion faults. (CVS 4324) (check-in: [2732af0e] user: drh branch: trunk, size: 215428)
12:31
[7079a423] part of check-in [e38ef81b] Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) (check-in: [e38ef81b] user: danielk1977 branch: trunk, size: 215056)
04:00
[f9ea7d1e] part of check-in [e8060f85] Better asserts(). But now some of the tests are busted again. (CVS 4320) (check-in: [e8060f85] user: drh branch: trunk, size: 214985)
2007-08-28
23:28
[0241f797] part of check-in [f84550be] The shared_err test runs with no errors. But a potential deadlock has been discovered and is still unfixed. (CVS 4317) (check-in: [f84550be] user: drh branch: trunk, size: 216480)
22:24
[8796aa42] part of check-in [967ab229] Clean up the locking in the btree logic. (CVS 4316) (check-in: [967ab229] user: drh branch: trunk, size: 216354)
02:27
[850cd5de] part of check-in [b8cc493b] Work toward correct btree locking in a multithreaded environment. (CVS 4307) (check-in: [b8cc493b] user: drh branch: trunk, size: 215422)
2007-08-24
11:52
[dbb8ec48] part of check-in [13dda2e8] Select the default page size for new databases based on the sector-size and IOCAP flags. (CVS 4286) (check-in: [13dda2e8] user: danielk1977 branch: trunk, size: 218768)
03:51
[fe9d292c] part of check-in [3a68fcdd] The win32 driver compiles but does not yet work well. Many bugs fixed. (CVS 4282) (check-in: [3a68fcdd] user: drh branch: trunk, size: 218745)
2007-08-23
02:47
[8fa6341b] part of check-in [21f6b310] 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) (check-in: [21f6b310] user: drh branch: trunk, size: 218745)
2007-08-22
11:41
[1e189c3a] part of check-in [1f28b7e4] Get the quick.test script running with SQLITE_THREADSAFE enabled. (CVS 4269) (check-in: [1f28b7e4] user: drh branch: trunk, size: 218621)
02:56
[3e935a30] part of check-in [783e07d5] A complete run of quick.test with mutex debugging enabled. (CVS 4266) (check-in: [783e07d5] user: drh branch: trunk, size: 218689)
00:39
[e35f1d7d] part of check-in [1914044b] Reenable the memory management logic. The quick.test script now runs with SQLITE_MEMDEBUG and SQLITE_ENABLE_MEMORY_MANAGEMENT. 7 minor errors. (CVS 4265) (check-in: [1914044b] user: drh branch: trunk, size: 218401)
2007-08-21
19:33
[4cfe2fe8] part of check-in [92872761] 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) (check-in: [92872761] user: drh branch: trunk, size: 218396)
13:11
[8e529f39] part of check-in [0da48209] Avoid journalling an extra page when a btree insert operation uses the 'quick-balance' trick. (CVS 4257) (check-in: [0da48209] user: danielk1977 branch: trunk, size: 218255)
2007-08-20
23:50
[9460e9ad] part of check-in [6cf725d2] 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) (check-in: [6cf725d2] user: drh branch: trunk, size: 218004)
22:48
[ae710a86] part of check-in [1315bd8e] Work toward multithreading support. Currently crashes quickly on a test. (CVS 4253) (check-in: [1315bd8e] user: drh branch: trunk, size: 218000)
13:14
[f8a04f35] part of check-in [399d3e75] Bug fix in BTree shared cache locking code. (CVS 4246) (check-in: [399d3e75] user: drh branch: trunk, size: 208060)
2007-08-17
16:50
[f00ed30c] part of check-in [08a0f480] Remove some old OsFile and IoMethod related code. Add the sqlite3OsLockState function. (CVS 4241) (check-in: [08a0f480] user: danielk1977 branch: trunk, size: 208102)
15:53
[c4e563b8] part of check-in [af3e3c7a] Begin migration to using sqlite3_vfs interface. (CVS 4240) (check-in: [af3e3c7a] user: danielk1977 branch: trunk, size: 208035)
01:14
[409e7362] part of check-in [4c1e9ffe] Begin adding mutexes. Compiles without SQLITE_OMIT_SHARED_CACHE but we get an assertion fault on the shared cache testing. (CVS 4239) (check-in: [4c1e9ffe] user: drh branch: trunk, size: 207954)
2007-08-16
10:09
[f371e9d7] part of check-in [77b16713] More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) (check-in: [77b16713] user: danielk1977 branch: trunk, size: 202288)
04:30
[1f7c0098] part of check-in [deb7ecd6] 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) (check-in: [deb7ecd6] user: drh branch: trunk, size: 202265)
2007-08-14
13:20
[4b987e7a] part of check-in [f0029da3] 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) (check-in: [f0029da3] user: drh branch: branch_3_3_17, size: 217291)
2007-08-13
14:56
[be3f7d6d] part of check-in [bad661bb] 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) (check-in: [bad661bb] user: drh branch: trunk, size: 202179)
2007-08-07
17:13
[b7141f51] part of check-in [7550dd1d] Remove all tabs from source code files. Ticket #2556. (CVS 4198) (check-in: [7550dd1d] user: drh branch: trunk, size: 202229)
2007-08-05
23:52
[c7b7e952] part of check-in [6cc15409] Fix some compiler warnings. (CVS 4196) (check-in: [6cc15409] user: drh branch: trunk, size: 202208)
2007-07-23
19:26
[53c6108f] part of check-in [b4a5c62b] Check the return value of sqlite3PagerWrite() when autovacuuming. Ticket #2524. (CVS 4176) (check-in: [b4a5c62b] user: drh branch: trunk, size: 202182)
2007-06-26
01:04
[c1cc6660] part of check-in [4a7079a1] Try to work around an MSVC compiler bug. Ticket #2457. (CVS 4126) (check-in: [4a7079a1] user: drh branch: trunk, size: 202177)
2007-06-25
08:16
[4a282b7f] part of check-in [5b0408dd] Make the auto_vacuum mode peristent in all cases. (CVS 4115) (check-in: [5b0408dd] user: danielk1977 branch: trunk, size: 201422)
2007-06-24
10:14
[63d40146] part of check-in [c666fad1] Make setting "PRAGMA auto_vacuum = incremental" persistent if it is executed before the database file is created. (CVS 4113) (check-in: [c666fad1] user: danielk1977 branch: trunk, size: 201314)
2007-06-20
15:14
[ca4f2d5c] part of check-in [cb47a829] Remove an unused variable from btree.c. (CVS 4102) (check-in: [cb47a829] user: drh branch: trunk, size: 201146)
2007-05-24
09:20
[bde03df9] part of check-in [d00c8242] Fix a page reference leak that could occur after an IO error. (CVS 4036) (check-in: [d00c8242] user: danielk1977 branch: trunk, size: 201173)
07:47
[f2839925] part of check-in [c6575173] Remove an incorrect assert() statement that was being triggered by ioerr tests run in utf-16 mode. (CVS 4035) (check-in: [c6575173] user: danielk1977 branch: trunk, size: 201163)
07:22
[125ff88b] part of check-in [3c54cddf] Fix an assert() failure occuring in corrupt.test. (CVS 4034) (check-in: [3c54cddf] user: danielk1977 branch: trunk, size: 201209)
2007-05-23
13:34
[7e3d0c6a] part of check-in [e691f2fa] 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) (check-in: [e691f2fa] user: danielk1977 branch: trunk, size: 201132)
09:52
[8b39c5aa] part of check-in [10ee2d50] Fix a database corrupting bug in the optimistic overflow chain. Exposed by running bigrow.test with auto-vacuum enabled. (CVS 4030) (check-in: [10ee2d50] user: danielk1977 branch: trunk, size: 201174)
2007-05-17
18:28
[9179039d] part of check-in [b7391892] 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) (check-in: [b7391892] user: danielk1977 branch: trunk, size: 200752)
2007-05-16
17:28
[911798b9] part of check-in [93f811ec] Change a few selected functions to macros to speed things up. (CVS 4015) (check-in: [93f811ec] user: danielk1977 branch: trunk, size: 200482)
2007-05-12
10:41
[0c2f9b06] part of check-in [260338c4] Fix another variant of the "IN (...)" b-tree problem. (CVS 3988) (check-in: [260338c4] user: danielk1977 branch: trunk, size: 199998)
09:30
[f24b394e] part of check-in [96c7232f] Fix an obscure b-tree bug that applied to transient trees used for IN(...) expressions. (CVS 3987) (check-in: [96c7232f] user: danielk1977 branch: trunk, size: 199859)
2007-05-08
21:45
[ec0943dd] part of check-in [c5754530] Remove compiler warnings in the amalgamation. (CVS 3960) (check-in: [c5754530] user: drh branch: trunk, size: 199099)
14:51
[dca996d4] part of check-in [b1b74f06] Add the max_page_count pragma used to limit the maximum size of a database file. Untested. (CVS 3948) (check-in: [b1b74f06] user: drh branch: trunk, size: 199510)
2007-05-05
18:39
[6d3db641] part of check-in [d51274f1] Factor out btree test logic into a separate test_btree.c file. (CVS 3928) (check-in: [d51274f1] user: drh branch: trunk, size: 199202)
11:48
[7311696f] part of check-in [16041116] Refactoring. Split btreeInt.h off from btree.c. Split malloc.c off from util.c. Expect much more to follow. (CVS 3925) (check-in: [16041116] user: drh branch: trunk, size: 204611)
2007-05-04
19:03
[1bd7820b] part of check-in [a0f8adc6] Fix compilation and testing with OMIT_INCRBLOB defined. (CVS 3923) (check-in: [a0f8adc6] user: danielk1977 branch: trunk, size: 229102)
18:36
[d01ab360] part of check-in [4516416b] Test interaction of incremental io and other database writes. (CVS 3922) (check-in: [4516416b] user: danielk1977 branch: trunk, size: 229066)
13:15
[ebf16f19] part of check-in [ba4845b3] 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) (check-in: [ba4845b3] user: drh branch: trunk, size: 229064)
12:05
[a47fe817] part of check-in [641e5528] Test cases and corrections to IO and malloc() error handling in incremental blob IO functions. (CVS 3915) (check-in: [641e5528] user: danielk1977 branch: trunk, size: 228910)
08:32
[b88c9265] part of check-in [42d07c70] Rework accessPayload() function for clarity. (CVS 3912) (check-in: [42d07c70] user: danielk1977 branch: trunk, size: 229002)
2007-05-03
13:11
[1f75491c] part of check-in [cf9eeba7] Fix a bug where accessPayload() was calling PagerWrite() on the wrong page handle. Ticket #2332. (CVS 3906) (check-in: [cf9eeba7] user: danielk1977 branch: trunk, size: 226341)
11:43
[ae379266] part of check-in [db54a946] Minor bugfixes for incrblob mode. (CVS 3903) (check-in: [db54a946] user: danielk1977 branch: trunk, size: 226348)
2007-05-02
17:54
[a84c848e] part of check-in [5b4bf1fc] 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) (check-in: [5b4bf1fc] user: drh branch: trunk, size: 226335)
17:48
[ecd0a02c] part of check-in [a100a530] Combine the internal btree functions BtreePutData() and getPayload(). (CVS 3901) (check-in: [a100a530] user: danielk1977 branch: trunk, size: 226671)
16:48
[4efb50fa] part of check-in [349f1ea7] Cache the location of overflow pages in cursors used for incremental blob IO. (CVS 3899) (check-in: [349f1ea7] user: danielk1977 branch: trunk, size: 228200)
13:16
[0b2c181e] part of check-in [93a3bf71] Use the pointer-map pages to make the incremental blob API more efficient. (CVS 3896) (check-in: [93a3bf71] user: danielk1977 branch: trunk, size: 225634)
01:34
[4e0735d1] part of check-in [7a01836d] Begin adding the zeroblob API to support incremental blob i/o. (CVS 3894) (check-in: [7a01836d] user: drh branch: trunk, size: 221763)
2007-05-01
17:49
[80814622] part of check-in [c444836e] First approximation of incremental blob IO API. (CVS 3892) (check-in: [c444836e] user: danielk1977 branch: trunk, size: 221500)
2007-04-30
16:55
[abdbd026] part of check-in [8cccec68] Try to avoid reading pages when moving overflow chains to the free-list. (CVS 3886) (check-in: [8cccec68] user: danielk1977 branch: trunk, size: 220218)
2007-04-28
15:47
[066ca573] part of check-in [89b1b3f8] Add some tests (and 2 resulting bug fixes) to incr vacuum mode. (CVS 3885) (check-in: [89b1b3f8] user: danielk1977 branch: trunk, size: 219001)
2007-04-27
07:05
[1e9261de] part of check-in [4d4180d6] Modifications to btree integrity check so that it can be run inside a transaction after an incr vacuum. (CVS 3878) (check-in: [4d4180d6] user: danielk1977 branch: trunk, size: 218564)
2007-04-26
14:42
[d08db3a8] part of check-in [f6a6d2b8] Add largely untested code for the incremental vacuum function. (CVS 3876) (check-in: [f6a6d2b8] user: danielk1977 branch: trunk, size: 218476)
2007-04-24
17:35
[960bf64b] part of check-in [66c2fa08] This fixes a missed case in check-in (3866). Do not apply patch (3866) without also applying this patch. (CVS 3867) (check-in: [66c2fa08] user: drh branch: trunk, size: 217337)
17:27
[16119ce5] part of check-in [10648e99] 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) (check-in: [10648e99] user: drh branch: trunk, size: 217266)
2007-04-19
00:24
[bed25c6a] part of check-in [b623538c] Get the build working with SQLITE_OMIT_SHARED_CACHE. Ticket #2307. (CVS 3857) (check-in: [b623538c] user: drh branch: trunk, size: 217143)
2007-04-13
02:14
[2023a837] part of check-in [32bb2d58] Fix multiple performance regressions (ticket #2298 among them) and add tests to make sure they do not come back. (CVS 3839) (check-in: [32bb2d58] user: drh branch: trunk, size: 217305)
2007-04-09
12:45
[7adc16a1] part of check-in [ce6f56ec] Fix an obscure pager refcnt leak that occurs following a transient I/O error. (CVS 3829) (check-in: [ce6f56ec] user: drh branch: trunk, size: 216217)
2007-04-07
15:03
[ea98c554] part of check-in [0af764a0] For filesystem databases, do not store a list of pages in the statement journal in main memory. (CVS 3825) (check-in: [0af764a0] user: danielk1977 branch: trunk, size: 216298)
2007-04-06
15:02
[5a0f4258] part of check-in [479b3d96] Binary file I/O infrastructure added and used to increase test coverage for detection of corrupt database files. (CVS 3822) (check-in: [479b3d96] user: drh branch: trunk, size: 215866)
01:03
[27299eba] part of check-in [bebf8d2f] 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) (check-in: [bebf8d2f] user: drh branch: trunk, size: 215850)
2007-04-02
05:07
[48fa58f2] part of check-in [ba0538a4] Fix a resource leak introduced by the change-counter optimisation. Also add some test coverage. (CVS 3790) (check-in: [ba0538a4] user: danielk1977 branch: trunk, size: 215778)
2007-03-31
02:36
[052d0306] part of check-in [dce4cb84] Fix a large memory leak in the btree layer that occurs following an I/O error when in shared cache mode. (CVS 3776) (check-in: [dce4cb84] user: drh branch: trunk, size: 215524)
2007-03-30
20:43
[ef4a874b] part of check-in [6dfd4a12] Remove vestiges of the SQLITE_PROTOCOL error. (CVS 3773) (check-in: [6dfd4a12] user: drh branch: trunk, size: 215413)
14:06
[931d8d6e] part of check-in [66b3ad09] 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) (check-in: [66b3ad09] user: drh branch: trunk, size: 215486)
11:12
[9b41229e] part of check-in [9a7d7e31] Comment changes in btree.c and added a missing "else" in pragma.c. (CVS 3757) (check-in: [9a7d7e31] user: drh branch: trunk, size: 215243)
2007-03-29
05:51
[6619f15c] part of check-in [ad4a6b1a] 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) (check-in: [ad4a6b1a] user: drh branch: trunk, size: 214038)
04:43
[434a3584] part of check-in [a9877f61] 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) (check-in: [a9877f61] user: drh branch: trunk, size: 213608)
2007-03-27
14:05
[27e62fc5] part of check-in [a70ea720] Fix off-by-one errors in the header comments of btree.c. Ticket #2272. (CVS 3726) (check-in: [a70ea720] user: drh branch: trunk, size: 213689)
2007-03-26
22:05
[0659070e] part of check-in [0b832e21] Modify sources to that they can be combined into a single sqlite3.c source file. Eliminate all type-pruned pointer warnings. (CVS 3722) (check-in: [0b832e21] user: drh branch: trunk, size: 213693)
2007-03-19
17:44
[4d94251b] part of check-in [7dc76588] 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) (check-in: [7dc76588] user: danielk1977 branch: trunk, size: 213646)
11:54
[f5278b44] part of check-in [05700c11] Fix a comment in btree.c (CVS 3702) (check-in: [05700c11] user: drh branch: trunk, size: 212983)
11:25
[4336ada7] part of check-in [3a3e8eb2] Changes to support medium sector sizes larger than the database page size. (CVS 3701) (check-in: [3a3e8eb2] user: danielk1977 branch: trunk, size: 213521)
2007-03-06
15:53
[f5c1b3d8] part of check-in [d6986d1e] Fixes to the overflow-chain optization of (3672). (CVS 3674) (check-in: [d6986d1e] user: drh branch: trunk, size: 213511)
11:42
[d42d2b63] part of check-in [6db945f7] 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) (check-in: [6db945f7] user: drh branch: trunk, size: 213291)
2007-03-04
13:15
[866536a3] part of check-in [2ba5be31] 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) (check-in: [2ba5be31] user: drh branch: trunk, size: 213039)
2007-02-10
19:22
[4d4bef16] part of check-in [bd6bc3b8] Changes to support fragmentation analysis in sqlite3_analyzer. (CVS 3634) (check-in: [bd6bc3b8] user: drh branch: trunk, size: 213026)
2007-01-27
02:24
[51aef6a4] part of check-in [d564a039] 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) (check-in: [d564a039] user: drh branch: trunk, size: 212832)
2007-01-05
02:00
[6837dcc4] part of check-in [36a2db96] In the btree.c, when releasing the page1 lock, first make sure the pager has not reset and released the lock already. This fixes a bug introduced by (3549). (CVS 3563) (check-in: [36a2db96] user: drh branch: trunk, size: 212176)
2006-12-18
18:34
[e7d1694a] part of check-in [4dffc4c3] Speed improvement: do not journal or rollback pages that are pulled out of the freelist. (CVS 3531) (check-in: [4dffc4c3] user: drh branch: trunk, size: 212127)
2006-11-30
13:05
[116f748e] part of check-in [5d61486f] Fix indentation typo in btree.c. (CVS 3525) (check-in: [5d61486f] user: drh branch: trunk, size: 211865)
2006-11-06
21:20
[c9d52b08] part of check-in [6324ea81] Use the difference between the SQLITE_IOERR_SHORT_READ and SQLITE_IOERR_READ returns from sqlite3OsRead() to make decisions about what to do with the error. (CVS 3503) (check-in: [6324ea81] user: drh branch: trunk, size: 211866)
2006-11-01
12:08
[6c6a106d] part of check-in [dbd0125c] Remove dead code from btree.c. Ticket #2050. (CVS 3500) (check-in: [dbd0125c] user: drh branch: trunk, size: 211821)
2006-08-16
16:42
[8f18bb08] part of check-in [8c52d2ad] Allows UPDATE, INSERT, and DELETEs to occur while a SELECT is pending on the same table. (CVS 3355) (check-in: [8c52d2ad] user: drh branch: trunk, size: 214787)
2006-08-13
18:39
[b39b7147] part of check-in [867defe3] Compile in test code whenever -DSQLITE_TEST=1 is present. Do not rely on -DSQLITE_DEBUG=1 because somebody might try to run the tests without it. (CVS 3349) (check-in: [867defe3] user: drh branch: trunk, size: 215411)
2006-08-08
13:51
[c4757940] part of check-in [76e4d418] Remove most static and global variables from a pure build. There are still a number of static and global variables used for testing. (CVS 3342) (check-in: [76e4d418] user: drh branch: trunk, size: 215411)
2006-06-27
16:34
[fc077741] part of check-in [70a48b25] Prevent databases from being DETACHed while they are in use. Fix for #1873. (CVS 3312) (check-in: [70a48b25] user: danielk1977 branch: trunk, size: 215409)
2006-04-04
01:54
[ed343b3d] part of check-in [4342b499] Changes to get SQLite running on machines that use the EBCDIC character set. (CVS 3161) (check-in: [4342b499] user: drh branch: trunk, size: 215246)
2006-03-28
00:24
[05cff824] part of check-in [c64542d0] Extra asserts to prove that certain reported errors in btree.c are not really errors. (CVS 3155) (check-in: [c64542d0] user: drh branch: trunk, size: 215210)
2006-03-23
14:03
[582f0fb9] part of check-in [01e164da] Improvements to comments. No changes to code. (CVS 3146) (check-in: [01e164da] user: drh branch: trunk, size: 215149)
2006-03-22
22:10
[3f9f3fac] part of check-in [15e3b183] Get the build to run with -DSQLITE_OMIT_SHARED_CACHE. (CVS 3145) (check-in: [15e3b183] user: drh branch: trunk, size: 215043)
2006-03-14
12:59
[caf4b747] part of check-in [f0718173] Move the PENDING_PAGE to a very large value if disk I/O is omitted. (CVS 3135) (check-in: [f0718173] user: drh branch: trunk, size: 214855)
2006-03-13
14:28
[96a383dd] part of check-in [255fdbe6] Changes to get the Serialized Statement Extension working again. (CVS 3131) (check-in: [255fdbe6] user: drh branch: trunk, size: 214653)
2006-03-11
12:04
[861f6a80] part of check-in [0910022b] Add an assert() to demonstrate that Klockworks is wrong about an aleged bug. (CVS 3129) (check-in: [0910022b] user: drh branch: trunk, size: 214615)
2006-03-06
20:55
[3f3b6ccd] part of check-in [e510e6dd] Code changes resulting from Coverity analysis. http://scan.coverity.com/ Found 1 potential segfault in sqlite3_mprintf(). Also 2 failures to fclose() following a malloc() failure. And lots of cases where unnecessary conditionals could be removed from the code. (CVS 3126) (check-in: [e510e6dd] user: drh branch: trunk, size: 214595)
2006-02-24
02:53
[ffe57d05] part of check-in [4b22e4b8] Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) (check-in: [4b22e4b8] user: drh branch: trunk, size: 214618)
2006-02-22
03:08
[b4af2cff] part of check-in [614fac90] New compile-time option SQLITE_SECURE_DELETE takes care to overwrite deleted data with zeros. (CVS 3107) (check-in: [614fac90] user: drh branch: trunk, size: 214931)
2006-02-11
01:25
[23bbfb47] part of check-in [f2069d0b] Add support and documentation for the fullfsync pragma. Also include some other unrelated documentation updates. (CVS 3080) (check-in: [f2069d0b] user: drh branch: trunk, size: 214431)
2006-02-10
08:24
[579594ef] part of check-in [5ea87fbb] Work around the case where the pending-byte page is also a a pointer-map page. Ticket #1667. (CVS 3073) (check-in: [5ea87fbb] user: danielk1977 branch: trunk, size: 214415)
02:27
[66112ae6] part of check-in [82f502cd] Add the column_origin_name() etc. APIs. (CVS 3069) (check-in: [82f502cd] user: danielk1977 branch: trunk, size: 213597)
2006-01-24
16:37
[f45f57e6] part of check-in [5df9f022] Handle errors in saving cursor positions during a rollback by aborting all active statements. (CVS 3027) (check-in: [5df9f022] user: danielk1977 branch: trunk, size: 213598)
14:21
[5b717409] part of check-in [32d45bcf] Save the position of any open cursors before a rollback. (CVS 3026) (check-in: [32d45bcf] user: danielk1977 branch: trunk, size: 212873)
2006-01-23
13:47
[e3cb390f] part of check-in [0f6329ef] Do not automatically rollback at the btree or pager level if a commit fails. (CVS 2999) (check-in: [0f6329ef] user: danielk1977 branch: trunk, size: 212772)
13:00
[ab0f6813] part of check-in [6385628e] Fix additional compiler warnings. Tickets #1615, #1616, #1627 (CVS 2994) (check-in: [6385628e] user: drh branch: trunk, size: 212719)
2006-01-22
21:52
[9de685a1] part of check-in [3e1e6aff] Performance optimization in btree.c. (CVS 2990) (check-in: [3e1e6aff] user: drh branch: trunk, size: 212710)
2006-01-21
12:08
[c6ebb787] part of check-in [29281dea] Fix more problems with malloc() and IO failures. (CVS 2985) (check-in: [29281dea] user: danielk1977 branch: trunk, size: 212573)
2006-01-20
18:10
[a1397e80] part of check-in [507653a9] More compiler warnings fixed - or in some cases comments are added to explain that the compiler is wrong. (CVS 2984) (check-in: [507653a9] user: drh branch: trunk, size: 212626)
16:32
[8b890e64] part of check-in [7e34163a] Fix another couple of IO or malloc() failure problems in a shared-cache context. (CVS 2982) (check-in: [7e34163a] user: danielk1977 branch: trunk, size: 212437)
10:55
[e8ff8d76] part of check-in [97491d4e] Handle some of the IO error conditions that may occur in a shared-cache context. (CVS 2980) (check-in: [97491d4e] user: danielk1977 branch: trunk, size: 212300)
2006-01-19
08:43
[2ea7d437] part of check-in [95079832] Account for read-uncommitted cursors in sqlite3BtreeClearTable(). (CVS 2977) (check-in: [95079832] user: danielk1977 branch: trunk, size: 212194)
07:18
[1f760cdb] part of check-in [a628d84d] Fix a bug with internally saving cursors open on index tables. Also increase coverage of util.c and btree.c. (CVS 2976) (check-in: [a628d84d] user: danielk1977 branch: trunk, size: 211832)
2006-01-18
15:25
[cff3ab16] part of check-in [e0b022e5] Change sqlite3MallocClearFailed() calls to sqlite3ApiExit(), a better API. (CVS 2970) (check-in: [e0b022e5] user: danielk1977 branch: trunk, size: 211976)
2006-01-16
15:14
[fcf6aec3] part of check-in [0d5d83bc] Fix some of the issues raised in #1615. (CVS 2959) (check-in: [0d5d83bc] user: danielk1977 branch: trunk, size: 211508)
2006-01-15
11:39
[a4c14793] part of check-in [1944d92b] Rollback any open write-transaction when a shared-cache connection is closed. (CVS 2947) (check-in: [1944d92b] user: danielk1977 branch: trunk, size: 211501)
2006-01-13
11:22
[fe2bdc08] part of check-in [5e46ec01] Remove a few duplicate variable initializations in sqlite3BtreeCursor(). (CVS 2937) (check-in: [5e46ec01] user: danielk1977 branch: trunk, size: 211404)
06:33
[46061b59] part of check-in [dd705955] Minor modification to restoreOrClearCursorPosition() to improve efficiency. Do not allocate the extra 8-bytes if memory-management is not enabled. (CVS 2936) (check-in: [dd705955] user: danielk1977 branch: trunk, size: 211562)
04:31
[91943e07] part of check-in [48b550ce] Additional speed enhancements in btree.c. (CVS 2935) (check-in: [48b550ce] user: drh branch: trunk, size: 211451)
02:35
[51b54ae0] part of check-in [c780152f] Small performance improvement on sqlite3BtreeMoveto. (CVS 2934) (check-in: [c780152f] user: drh branch: trunk, size: 210886)
2006-01-12
15:01
[fdbb4118] part of check-in [52b3be96] Additional performance improvements in sqlite3BtreeMoveto. (CVS 2926) (check-in: [52b3be96] user: drh branch: trunk, size: 210951)
14:30
[9ac50bab] part of check-in [4e4a6504] BtreeMoveto optimization goes about 1.5% faster. (CVS 2925) (check-in: [4e4a6504] user: drh branch: trunk, size: 210686)
2006-01-11
21:41
[b407273c] part of check-in [5d9c6aa9] Automatically deallocate thread-specific data when it is no longer being used. Ticket #1601. Also implemented the suggestion of ticket #1603. Memory management is now off by default at compile-time. The sqlite3_enable_memory_management() API has been removed. (CVS 2919) (check-in: [5d9c6aa9] user: drh branch: trunk, size: 210676)
14:09
[e1f6b2e2] part of check-in [3970eb87] Fix bugs caused by assuming that shared-schemas are initialized. (CVS 2917) (check-in: [3970eb87] user: danielk1977 branch: trunk, size: 210370)
2006-01-10
13:58
[874eaba6] part of check-in [4f2ec952] Move the implementation of sqlite3_enable_shared_cache from btree.c to main.c. (CVS 2902) (check-in: [4f2ec952] user: drh branch: trunk, size: 209704)
2006-01-09
09:59
[5e5dff4a] part of check-in [44f8e313] Add a runtime interface to enable memory-management features. (CVS 2894) (check-in: [44f8e313] user: danielk1977 branch: trunk, size: 210316)
06:29
[fc3f7f93] part of check-in [82b81f69] Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) (check-in: [82b81f69] user: danielk1977 branch: trunk, size: 210000)
05:36
[5c2d7f74] part of check-in [cc963f8c] Minor changes so that OMIT_SHARED_CACHE works. (CVS 2892) (check-in: [cc963f8c] user: danielk1977 branch: trunk, size: 209572)
2006-01-07
13:21
[902d0d3f] part of check-in [23b587b0] In shared-cache mode, lock all required tables before beginning to execute the body of the statement program. (CVS 2881) (check-in: [23b587b0] user: danielk1977 branch: trunk, size: 209304)
2006-01-06
21:52
[dff0ebc0] part of check-in [9d71b7de] Changes so that SQLITE_OMIT_PARSER and SQLITE_OMIT_DISKIO work. (CVS 2878) (check-in: [9d71b7de] user: drh branch: trunk, size: 209402)
14:32
[f60d2b66] part of check-in [2529c2e1] Change the OS interface layer to use traditional direct function call implementations instead of the more complicated virtual function table. Omit the asynchronous I/O demo. (CVS 2870) (check-in: [2529c2e1] user: drh branch: trunk, size: 209364)
13:00
[f34c1e8d] part of check-in [d054bed1] Add some simple tests and fixes for shared-schema locking. (CVS 2869) (check-in: [d054bed1] user: danielk1977 branch: trunk, size: 209374)
06:33
[d1402f4e] part of check-in [752a2754] Fix a bug that was emptying shared-schema tables during an ATTACH. (CVS 2867) (check-in: [752a2754] user: danielk1977 branch: trunk, size: 209122)
01:42
[88a60d2a] part of check-in [f1922da2] Formatting changes in btree.c. (CVS 2865) (check-in: [f1922da2] user: drh branch: trunk, size: 209086)
2006-01-05
11:34
[f848dd6e] part of check-in [deeda0dc] Add the shared schema/pager modifications. Very few tests so far. (CVS 2859) (check-in: [deeda0dc] user: danielk1977 branch: trunk, size: 209070)
2005-12-30
16:31
[ec89192c] part of check-in [a4aa0911] Repair typo in previous commit. (CVS 2849) (check-in: [a4aa0911] user: danielk1977 branch: trunk, size: 199489)
16:28
[ccb912b1] part of check-in [2afcad99] Add part of the btree layer of the shared-cache feature. (CVS 2848) (check-in: [2afcad99] user: danielk1977 branch: trunk, size: 199474)
2005-12-21
18:36
[2b2651e0] part of check-in [5638a11e] Bug fixes and additional testing of descending indices. (CVS 2841) (check-in: [5638a11e] user: drh branch: trunk, size: 188222)
2005-12-16
15:24
[300fd834] part of check-in [83c8ae5b] Verify that the rollback-hook is invoked correctly when a malloc() failure occurs. (CVS 2824) (check-in: [83c8ae5b] user: danielk1977 branch: trunk, size: 188231)
06:54
[f880db4d] part of check-in [3baa3ff3] Add the sqlite3_rollback_hook() API. Still requires further testing. (CVS 2823) (check-in: [3baa3ff3] user: danielk1977 branch: trunk, size: 188593)
2005-12-09
20:02
[de0fc1a0] part of check-in [83a59151] Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) (check-in: [83a59151] user: drh branch: trunk, size: 188572)
2005-11-24
14:34
[aa88194f] part of check-in [786e23b2] Comment changes. No changes to code. (CVS 2775) (check-in: [786e23b2] user: drh branch: trunk, size: 188574)
14:24
[e742aacc] part of check-in [0d8bd133] Fix a comment in btree.c. No code changes. (CVS 2774) (check-in: [0d8bd133] user: drh branch: trunk, size: 188558)
2005-10-20
07:28
[1ccc3b39] part of check-in [e261b8b0] Changes to prevent various compiler warnings. (CVS 2750) (check-in: [e261b8b0] user: drh branch: trunk, size: 188518)
2005-09-17
15:20
[23612615] part of check-in [c0733000] Changes to make corruption errors easier to track down. (CVS 2709) (check-in: [c0733000] user: drh branch: trunk, size: 188659)
2005-09-16
11:32
[a83b30bf] part of check-in [248f7797] Do not journal the file locking page when doing a database copy as part of a VACUUM. Ticket #1432. (CVS 2703) (check-in: [248f7797] user: drh branch: trunk, size: 188748)
09:52
[b2dedc95] part of check-in [9115e062] Fix an auto-vacuum problem with the PENDING_BYTE page. Also link the Tcl variable sqlite_pending_byte to the internal pending-byte location when in test mode. (CVS 2700) (check-in: [9115e062] user: danielk1977 branch: trunk, size: 188684)
2005-09-08
14:17
[a1ee1830] part of check-in [cdfe372a] Remove a few unused variables detected by Borland C. Ticket #1412. (CVS 2675) (check-in: [cdfe372a] user: drh branch: trunk, size: 188675)
2005-08-27
16:36
[5b3bc015] part of check-in [644b96aa] Disable synchronous writes to the master journal when PRAGMA synchronous=OFF for all database files. Ticket #1375. (CVS 2630) (check-in: [644b96aa] user: drh branch: trunk, size: 188820)
2005-08-02
17:13
[667227e4] part of check-in [3af69a49] Fix a bug in the btree balancer. ticket #1346. (CVS 2573) (check-in: [3af69a49] user: drh branch: trunk, size: 188563)
2005-07-09
02:16
[ec55bd70] part of check-in [af2a0ba4] Make sure there is only one busy counter. Ticket #1315. (CVS 2543) (check-in: [af2a0ba4] user: drh branch: trunk, size: 188246)
2005-06-14
16:04
[a167f412] part of check-in [3d7ee5b9] Provide the SQLITE_FILE_HEADER command-line option for changing the text that appears at the beginning of databases. (CVS 2515) (check-in: [3d7ee5b9] user: drh branch: trunk, size: 188314)
2005-05-24
20:19
[d2e09ebf] part of check-in [3e64f1ab] Remove the config.h file from the build. Ticket #1224. (CVS 2480) (check-in: [3e64f1ab] user: drh branch: trunk, size: 187795)
2005-05-20
20:01
[85ee452b] part of check-in [f29a1d88] Do not allow the pagesize of :memory: databases to be changed. Silently ignore PRAGMA page_size=N requests for :memory: databases. Ticket #1144 and #1252. (CVS 2466) (check-in: [f29a1d88] user: drh branch: trunk, size: 187874)
2005-05-05
18:14
[0d62614c] part of check-in [240cce10] Patch to fix an alignment problem on sparc. Ticket #1234. (CVS 2455) (check-in: [240cce10] user: drh branch: trunk, size: 187888)
2005-05-03
12:30
[238ebc9b] part of check-in [d9418851] Make sure all data structures have 8-byte alignment - necessary for the sparc architecture and helpful on other 64-bit platforms. Ticket #1232. Also update some comments in build.c. (CVS 2452) (check-in: [d9418851] user: drh branch: trunk, size: 187771)
2005-05-01
22:52
[659cbf8b] part of check-in [535523e1] Remove the psAligned value from the BTree structure - the pageSize is now always aligned to an 8-byte boundary. Add comments on a confusing bit of code. Ticket #1231. (CVS 2451) (check-in: [535523e1] user: drh branch: trunk, size: 187450)
2005-03-29
13:17
[25770f8c] part of check-in [312587ac] Fix a C++-ism in the code. (CVS 2430) (check-in: [312587ac] user: drh branch: trunk, size: 187346)
02:54
[50f31eb0] part of check-in [78df3d04] Fix segfault due to exception handler being run with uninitialised variable. (CVS 2426) (check-in: [78df3d04] user: danielk1977 branch: trunk, size: 187354)
2005-03-28
08:44
[657fd61d] part of check-in [0fd5ce4e] Modifications to reduce memory consumption. (CVS 2422) (check-in: [0fd5ce4e] user: danielk1977 branch: trunk, size: 187354)
2005-03-21
04:04
[c33c0e68] part of check-in [1f9d10d7] Add function to recover from a malloc() failure. (CVS 2414) (check-in: [1f9d10d7] user: danielk1977 branch: trunk, size: 186920)
2005-03-14
02:01
[1d9b2179] part of check-in [644c6398] Be more aggressive about using the busy handler. Ticket #1159. (CVS 2385) (check-in: [644c6398] user: drh branch: trunk, size: 186201)
2005-03-10
17:06
[fab5b169] part of check-in [87101927] Another case of returning SQLITE_CORRUPT when a corrupt database file is detected. (CVS 2374) (check-in: [87101927] user: drh branch: trunk, size: 184872)
2005-03-09
13:09
[448cd628] part of check-in [64c4c717] Fix a file corruption bug in CREATE INDEX in auto-vacuum databases. (CVS 2368) (check-in: [64c4c717] user: danielk1977 branch: trunk, size: 184820)
2005-02-26
17:31
[2a9c2c8a] part of check-in [bb0e7e38] Fix an assertion fault that can occur while autovacuuming a corrupt database file. Add the SQLITE_OMIT_COMPLETE compile-time parameter. (CVS 2361) (check-in: [bb0e7e38] user: drh branch: trunk, size: 184685)
2005-02-15
16:23
[5c6e8185] part of check-in [6610188f] Btree checks the autovacuum flag after locking the database file. (CVS 2341) (check-in: [6610188f] user: drh branch: trunk, size: 184577)
2005-02-12
08:59
[2432adf9] part of check-in [f7858d88] Fix a problem with sub-queries and the flattening optimization. Also handle an extra case of database corruption. (CVS 2324) (check-in: [f7858d88] user: danielk1977 branch: trunk, size: 184872)
2005-02-06
02:45
[d88766f8] part of check-in [2155448d] Add the (highly experimental) omit_readlock pragma that disables the use of readlocks on read-only databases that are connected using ATTACH. (CVS 2317) (check-in: [2155448d] user: drh branch: trunk, size: 184691)
2005-02-04
04:07
[c3241d44] part of check-in [2eb90870] Remove code for SQL cursors. (CVS 2312) (check-in: [2eb90870] user: danielk1977 branch: trunk, size: 184749)
2005-01-21
11:55
[e68ae12c] part of check-in [9c4d0e13] Improve test coverage for minimum feature builds. (CVS 2254) (check-in: [9c4d0e13] user: danielk1977 branch: trunk, size: 184783)
08:13
[812ee6b8] part of check-in [c6fc49e6] Exclude a few more lines of code using OMIT macros. (CVS 2253) (check-in: [c6fc49e6] user: danielk1977 branch: trunk, size: 184630)
00:22
[011acf7c] part of check-in [d1166472] Fix a segfault that occurs on a corrupt database. (CVS 2248) (check-in: [d1166472] user: drh branch: trunk, size: 184581)
2005-01-17
07:53
[97101cce] part of check-in [62442529] Fix some memory leak problems with corrupt.test and auto-vacuum databases. (CVS 2226) (check-in: [62442529] user: danielk1977 branch: trunk, size: 184516)
02:12
[da5adfeb] part of check-in [2d58c0af] Change some assert()s that could fail if the database is corrupt to return SQLITE_CORRUPT instead. (CVS 2223) (check-in: [2d58c0af] user: danielk1977 branch: trunk, size: 184528)
01:33
[5fcaa238] part of check-in [feb49d10] Have sqlite3pager_get() return SQLITE_CORRUPT for a page number greater than 2^31. (CVS 2222) (check-in: [feb49d10] user: danielk1977 branch: trunk, size: 184381)
2005-01-16
23:21
[528a661a] part of check-in [d0356dee] Turn on quick-balance by default. (CVS 2221) (check-in: [d0356dee] user: drh branch: trunk, size: 184256)
11:07
[4a931306] part of check-in [6237c294] Changes to make sure tests work when SQLITE_DEFAULT_AUTOVACUUM is defined. (CVS 2219) (check-in: [6237c294] user: danielk1977 branch: trunk, size: 183761)
09:06
[77e7ab4f] part of check-in [fe548561] Fixes so that compiling and testing works when SQLITE_OMIT_AUTOVACUUM is defined. (CVS 2218) (check-in: [fe548561] user: danielk1977 branch: trunk, size: 183606)
08:00
[a007420e] part of check-in [a5c21214] Move duplicate code to update pointer-map wrt overflow pages into a function. (CVS 2217) (check-in: [a5c21214] user: danielk1977 branch: trunk, size: 183573)
2005-01-15
12:45
[42603206] part of check-in [0ae29538] Enhance the performance of auto-vacuum databases by reducing the number of pointer-map entries written during tree balancing. Also fix bugs in balance_quick(). (CVS 2216) (check-in: [0ae29538] user: danielk1977 branch: trunk, size: 183592)
2005-01-14
22:55
[01027e3c] part of check-in [183c42ea] Add comments to the new balance_quick() routine. (CVS 2212) (check-in: [183c42ea] user: drh branch: trunk, size: 179762)
13:50
[1a351402] part of check-in [c550d80c] Experimental patch to balance() (use -DSQLITE_BALANCE_QUICK). (CVS 2211) (check-in: [c550d80c] user: danielk1977 branch: trunk, size: 178591)
2005-01-12
07:15
[bd2fd7fe] part of check-in [319bb4a9] Tests to improve coverage of vdbemem.c. (CVS 2200) (check-in: [319bb4a9] user: danielk1977 branch: trunk, size: 176610)
2005-01-11
10:25
[5ec669c8] part of check-in [8ced4915] Test cases to improve coverage of btree.c (and minor bugfixes). (CVS 2190) (check-in: [8ced4915] user: danielk1977 branch: trunk, size: 176691)
2005-01-10
12:59
[241e27b4] part of check-in [a4619886] Extra test cases to improve coverage of btree.c (CVS 2189) (check-in: [a4619886] user: danielk1977 branch: trunk, size: 177141)
2005-01-08
15:43
[5483bf07] part of check-in [26fbac8f] Fix a comment. (CVS 2184) (check-in: [26fbac8f] user: drh branch: trunk, size: 176450)
12:42
[1f069c10] part of check-in [fb3bf68d] Fix a problem with auto-vacuum databases and the VACUUM command. Also add "pages read" and "pages written" statistics to the pager layer. (CVS 2183) (check-in: [fb3bf68d] user: danielk1977 branch: trunk, size: 176455)
2005-01-07
08:56
[8cab7c66] part of check-in [929745c1] Fix a read of invalid memory that could occur in btree.c. (CVS 2180) (check-in: [929745c1] user: danielk1977 branch: trunk, size: 176376)
2004-11-23
09:06
[fa113d62] part of check-in [557be3ff] Fix a bug involving balance_shallow() and the sqlite_master table. (CVS 2143) (check-in: [557be3ff] user: danielk1977 branch: trunk, size: 175999)
2004-11-22
19:07
[05fe410e] part of check-in [3d2536c4] Fix a long-standing bug in btree.c in the sqlite3BtreePrevious() routine. The problem has gone unnoticed before now because it only occurs when you use the OP_Prev opcode on a B+Tree. (CVS 2140) (check-in: [3d2536c4] user: drh branch: trunk, size: 175813)
10:02
[edcd4aba] part of check-in [91acd87e] Back out changes allowing writes to tables that have open cursors. (CVS 2133) (check-in: [91acd87e] user: danielk1977 branch: trunk, size: 175805)
05:26
[614ac85f] part of check-in [9df837c0] Have tests pass when SQLITE_OMIT_MEMORYDB is defined. (CVS 2131) (check-in: [9df837c0] user: danielk1977 branch: trunk, size: 185571)
2004-11-20
20:31
[c65849bd] part of check-in [5a4013ec] Correct use of usableSize versus pageSize in btree.c. Ticket #1010. (CVS 2125) (check-in: [5a4013ec] user: drh branch: trunk, size: 185161)
2004-11-17
10:22
[49b09718] part of check-in [e1530854] Extra tests and resulting bugfixes for btree cursors. (CVS 2106) (check-in: [e1530854] user: danielk1977 branch: trunk, size: 185141)
2004-11-16
15:50
[c878e87a] part of check-in [a2e1c35b] Perform deletes in a single pass. (CVS 2104) (check-in: [a2e1c35b] user: danielk1977 branch: trunk, size: 183750)
04:57
[967b4261] part of check-in [6ad5fc8e] Allow btree cursors to persist through BtreeDelete() calls. (CVS 2103) (check-in: [6ad5fc8e] user: danielk1977 branch: trunk, size: 183926)
2004-11-13
13:19
[b0b6238c] part of check-in [5eaa18d4] Code toward having btree cursors persist when their table is written too. Doesn't work properly yet. (CVS 2097) (check-in: [5eaa18d4] user: danielk1977 branch: trunk, size: 179992)
2004-11-10
11:55
[9fd74df6] part of check-in [8e5c2e5d] Ensure tables cannot be created/dropped when btree cursors are open. (CVS 2085) (check-in: [8e5c2e5d] user: danielk1977 branch: trunk, size: 175207)
2004-11-08
09:26