/ File History
Login

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

History of src/btree.c

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