/ History for src/btree.h
Login

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

History for src/btree.h

2020-07-30
19:56
[1b31533b] part of check-in [fd01e788] Merge begin-concurrent-pnu changes into this branch. (check-in: [fd01e788] user: dan branch: begin-concurrent-report, size: 16124)
19:19
[7c0de202] part of check-in [e8a66515] Merge latest trunk changes into this branch. (check-in: [e8a66515] user: dan branch: begin-concurrent, size: 15732)
2020-07-29
16:18
[79c1eab6] part of check-in [a80ae2c9] Dozens and dozens of typo fixes in comments. This change adds no value to the end product and is disruptive, so it is questionable whether or not it will ever land on trunk. (check-in: [a80ae2c9] user: drh branch: typos, size: 15684)
2020-07-22
17:12
[7af72bbb] part of check-in [4c5f3c6c] All TCL tests now passing. (check-in: [4c5f3c6c] user: drh branch: larger-databases, size: 15689)
13:38
[7d4384cf] part of check-in [9ce1710a] Continuing work toward supporting unsigned 32-bit page numbers. (check-in: [9ce1710a] user: drh branch: larger-databases, size: 15688)
2020-07-20
12:47
[0a37709b] part of check-in [9cb7da9b] Initial changes to allow database up to 281TB in size. (check-in: [9cb7da9b] user: drh branch: larger-databases, size: 15686)
2020-07-17
11:07
[dc0e4376] part of check-in [12a909fb] Bring this branch up to date with begin-concurrent-pnu. (check-in: [12a909fb] user: dan branch: begin-concurrent-report, size: 16127)
2020-06-19
15:24
[f980f639] part of check-in [7a876209] Extend the refactoring into extensions. Clean up stray newlines. (check-in: [7a876209] user: drh branch: trunk, size: 15684)
2020-05-18
15:41
[024ee562] part of check-in [9e4a7b3e] Merge latest trunk changes into this branch. (check-in: [9e4a7b3e] user: dan branch: begin-concurrent, size: 15735)
2020-05-01
15:04
[989ef3c3] part of check-in [2100b2c8] Merge recent trunk enhancements. (check-in: [2100b2c8] user: drh branch: approximate-analyze, size: 15692)
2020-04-20
15:18
[32672fa1] part of check-in [abc1aad7] The SQLITE_TESTCTRL_RESERVE operator is removed. In its place is the more general SQLITE_FCNTL_RESERVE_BYTES which is an API and which can operator on more than just the main schema. (check-in: [abc1aad7] user: drh branch: trunk, size: 15730)
2020-03-17
13:41
[7c0a1c67] part of check-in [a9bfa47a] Remove the SQLITE_OMIT_BTREECOUNT option. Btree count is required. (check-in: [a9bfa47a] user: drh branch: approximate-analyze, size: 15690)
2020-03-09
21:00
[e44c8c62] part of check-in [b661ccc8] Report on pages, as well as keys, read and written by BEGIN CONCURRENT transactions. (check-in: [b661ccc8] user: dan branch: begin-concurrent-report, size: 16163)
2020-03-06
20:51
[66ee29eb] part of check-in [1c1f180e] Enhancement to log logical writes as well as reads. (check-in: [1c1f180e] user: dan branch: begin-concurrent-report, size: 16064)
2020-03-05
20:59
[f7a87362] part of check-in [ab458a31] Fix reporting for indexed range scans that extend past the end of the data. (check-in: [ab458a31] user: dan branch: begin-concurrent-report, size: 15984)
2020-03-02
21:00
[ae83b4b7] part of check-in [ad961aee] Fix reporting for some range scan cases. (check-in: [ad961aee] user: dan branch: begin-concurrent-report, size: 15970)
2020-01-21
21:01
[dfe47b4a] part of check-in [c39e3c14] Begin adding instrumentation to record and report on the set of key-ranges a concurrent transaction reads from the database. (check-in: [c39e3c14] user: dan branch: begin-concurrent-report, size: 15871)
2020-01-15
13:34
[58768397] part of check-in [95ba2f50] Merge fixes and enhancements from trunk into begin-concurrent. (check-in: [95ba2f50] user: drh branch: begin-concurrent, size: 15771)
2019-12-29
22:08
[6111552f] part of check-in [db4b7e1d] Do not allow triggers that run as part of REPLACE conflict resolution during an UPDATE to modify the the table being updated. Otherwise, those triggers might delete content out from under the update operation, leading to all kinds of problems. Ticket [314cc133e5ada126] (check-in: [db4b7e1d] user: drh branch: trunk, size: 15728)
2019-10-11
14:21
[f27a33c4] part of check-in [bf875dc5] Faster response to sqlite3_interrupt() in the OP_IntegrityCk and OP_Count opcodes. (check-in: [bf875dc5] user: drh branch: trunk, size: 15648)
2019-04-15
14:59
[36dbef45] part of check-in [7c328e88] Merge the latest enhancements from trunk. (check-in: [7c328e88] user: drh branch: begin-concurrent, size: 15679)
2019-03-29
15:21
[c11446f0] part of check-in [c2edbf3b] Remove the unused P5 flag from the OP_Rewind opcode. (check-in: [c2edbf3b] user: drh branch: trunk, size: 15636)
2019-03-08
15:30
[f5c65a8c] part of check-in [667cce3d] Merge all the latest enhancements from trunk. (check-in: [667cce3d] user: drh branch: begin-concurrent-pnu, size: 15755)
2019-02-04
21:10
[63b94fb3] part of check-in [2c8769c6] Early detection of implausibly sized records to avoid unnecessary large memory allocations. (check-in: [2c8769c6] user: drh branch: trunk, size: 15712)
2018-07-10
15:45
[1ed41c71] part of check-in [e9a3e864] Merge latest trunk changes into this branch. (check-in: [e9a3e864] user: dan branch: begin-concurrent, size: 15703)
2018-06-22
20:51
[febb2e81] part of check-in [5f04b016] Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. (check-in: [5f04b016] user: dan branch: exp-window-functions, size: 15660)
2018-06-07
20:35
[7b557914] part of check-in [25102203] Merge latest trunk changes with this branch. (check-in: [25102203] user: dan branch: exp-window-functions, size: 15622)
2018-06-06
17:03
[1d6402da] part of check-in [d7299bfe] Merge changes from trunk, including all the 3.24.0 changes plus some later enhancements. (check-in: [d7299bfe] user: drh branch: begin-concurrent, size: 15627)
16:28
[ab639c4b] part of check-in [a10662aa] Change sqlite3BtreeBeginTrans() to return the BTREE_SCHEMA_COOKIE, for a small speed improvement when starting new transactions. (check-in: [a10662aa] user: drh branch: trunk, size: 15584)
2018-05-23
20:55
[d46a8e31] part of check-in [3a203660] Add support for "ROWS BETWEEN <expr> PRECEDING AND <expr> FOLLOWING" window frames. (check-in: [3a203660] user: dan branch: exp-window-functions, size: 15617)
2018-05-15
11:45
[373828f7] part of check-in [ae86cf60] Merge latest trunk changes with this branch. (check-in: [ae86cf60] user: dan branch: begin-concurrent, size: 15622)
2018-05-07
18:41
[448f15b9] part of check-in [a68697d1] Activate the cell-overwrite optimization for index b-trees. (check-in: [a68697d1] user: drh branch: trunk, size: 15579)
2018-03-28
15:41
[6fb019c0] part of check-in [df52e89f] Update this branch with latest trunk changes. (check-in: [df52e89f] user: dan branch: server-process-edition, size: 14932)
2018-03-02
17:40
[0cd74575] part of check-in [36801eff] Merge latest trunk changes into this branch. (check-in: [36801eff] user: dan branch: begin-concurrent, size: 14873)
2017-12-29
15:04
[0866c0a0] part of check-in [7a7f826e] Change the function name to sqlite_unsupported_offset(X). Only enable the function if compiled with -DSQLITE_ENABLE_OFFSET_SQL_FUNC. The makefiles add that definition to shell builds. (check-in: [7a7f826e] user: drh branch: location-function, size: 14830)
2017-12-16
20:20
[e9d22d04] part of check-in [51be9558] Add an experimental location(X) SQL function that attempt to return the location of the payload within the database for the record that contains column X. location(X) returns NULL if X is not an ordinary table column or if SQLite cannot figure out the location because it is using a covering index. (check-in: [51be9558] user: drh branch: location-function, size: 14788)
2017-09-22
20:18
[90eae6df] part of check-in [8d2a1cca] Merge in all the trunk enhancements of the previous 7 months. The LIKE optimization has stopped working when there is an ESCAPE - that problem will be addressed in a subsequent check-in. (check-in: [8d2a1cca] user: drh branch: est_count_pragma, size: 14807)
2017-08-28
17:19
[feafd064] part of check-in [d53108e7] Merge recent enhancements from trunk. (check-in: [d53108e7] user: drh branch: begin-concurrent, size: 14794)
2017-08-16
19:20
[32ef5d3f] part of check-in [f078deb2] Avoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reduce the size and improve the performance of OP_Column. (check-in: [f078deb2] user: drh branch: trunk, size: 14751)
2017-07-20
17:47
[e8045998] part of check-in [213c61cb] Merge all the latest trunk enhancements. (check-in: [213c61cb] user: drh branch: begin-concurrent, size: 14749)
2017-07-13
21:06
[d1f64c56] part of check-in [dcc40797] Make the freelist format a separate feature from the page-level locking. Freelist format is now configure using "PRAGMA freelist_format". (check-in: [dcc40797] user: dan branch: server-process-edition, size: 14808)
2017-05-30
18:34
[3edc5329] part of check-in [e972a386] Change sqlite3BtreeNext() and sqlite3BtreePrevious() so that they return SQLITE_DONE if they have already reached the end (or beginning) of the table. This gives a performance increase and size reduction. (check-in: [e972a386] user: drh branch: trunk, size: 14706)
2017-05-15
17:34
[14e99cc2] part of check-in [14ea8400] Merge the latest changes from trunk. (check-in: [14ea8400] user: drh branch: begin-concurrent, size: 14749)
2017-04-09
19:23
[80f518c0] part of check-in [19dd753f] Do not expose the name of the internal Mem object in the public interface defined by sqlite3.h. (check-in: [19dd753f] user: drh branch: trunk, size: 14706)
2017-03-24
15:09
[d0476656] part of check-in [fd5676fe] Merge all recent enhancements from trunk. (check-in: [fd5676fe] user: drh branch: begin-concurrent, size: 14749)
2017-02-17
19:24
[bf64dfee] part of check-in [bfbdd074] The analyze_as_needed pragma now responds to table size growth and will automatically rerun the analysis after each 10x size increase. (check-in: [bfbdd074] user: drh branch: auto-analyze, size: 14706)
2017-01-27
16:24
[fef38999] part of check-in [fe86ff54] Merge all recent enhancements from trunk. (check-in: [fe86ff54] user: drh branch: est_count_pragma, size: 14722)
2017-01-18
20:14
[a25d8121] part of check-in [2a8f6c89] Add temporary code to record and report on the set of b-tree pages read and written by the current transaction. This is likely still buggy. (check-in: [2a8f6c89] user: dan branch: transaction-pages, size: 14783)
2017-01-10
20:04
[e6d35280] part of check-in [46db23cc] Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. (check-in: [46db23cc] user: dan branch: onepass-update, size: 14666)
2017-01-09
06:33
[9306cfe4] part of check-in [d0e212d0] Upgrade this branch to 3.16 plus the various fixes that appeared after its release. (check-in: [d0e212d0] user: dan branch: begin-concurrent, size: 14637)
2016-11-30
16:39
[14931e08] part of check-in [7ca58a07] Merge all the latest changes from trunk. (check-in: [7ca58a07] user: drh branch: est_count_pragma, size: 14650)
2016-11-25
19:18
[2349a588] part of check-in [49ebc219] Refactor the sqlite3BtreeKey() and sqlite3BtreeData() internal interfaces into sqlite3BtreePayload() and sqlite3BtreePayloadChecked(), respectively. This is a continuation of the optimization started by check-in [2d831074cf]. The result is a slightly smaller and faster binary. (check-in: [49ebc219] user: drh branch: trunk, size: 14594)
2016-11-15
04:00
[01ec4584] part of check-in [66347385] Change the OP_Last opcode so that it is a no-op if the cursor is already pointing at the end of the b-tree. (check-in: [66347385] user: drh branch: trunk, size: 14580)
2016-11-10
21:19
[f62e4c55] part of check-in [9a64a4f2] Break up the sqlite3BtreeMovetoUnpacked() routine into an eponymous routine and sqlite3BtreeMovetoIntkey(). Each routine specializes in a single kind of btree. (check-in: [9a64a4f2] user: drh branch: split-moveto, size: 14606)
2016-11-09
00:10
[63030306] part of check-in [89d958ab] Enhance the OP_IdxInsert opcode to optionally accept unpacked key material. (check-in: [89d958ab] user: drh branch: unpacked-IdxInsert, size: 14536)
2016-10-20
22:02
[012576c1] part of check-in [340822af] Experimental est_count pragma. (check-in: [340822af] user: drh branch: est_count_pragma, size: 14448)
2016-09-10
19:51
[d05b2fcc] part of check-in [711c5917] Changes to give a warning-free build with SQLITE_OMIT_INCRBLOB and SQLITE_OMIT_SHARED_CACHE. (check-in: [711c5917] user: drh branch: trunk, size: 14392)
2016-08-11
19:12
[c2315463] part of check-in [d9f8918c] Merge version 3.14 plus some subsequent patches (including the page-cache performance patch) from trunk. (check-in: [d9f8918c] user: drh branch: begin-concurrent, size: 14359)
2016-07-09
16:14
[075c4570] part of check-in [5471aca0] Fix various internal #defines to conform to new C-language naming restrictions, specifically that private-use macros names must not begin with "_". (check-in: [5471aca0] user: drh branch: trunk, size: 14316)
2016-07-06
10:12
[aee84823] part of check-in [118321c8] Add the SQLITE_DBSTATUS_PROPORTIONAL_CACHE_USED sqlite3_db_status() parameter. (check-in: [118321c8] user: dan branch: dbstatus-prop-cache-used, size: 14301)
2016-06-04
20:37
[2107a263] part of check-in [bef35e18] Change the sqlite3BtreeKeySize() interface into sqlite3BtreeIntegerKey() and make it only work for table btrees. Change sqlite3BtreeDataSize() into sqlite3BtreePayloadSize() and make it work for all btrees. Combine sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() into a single sqlite3BtreePayloadFetch() routine. These changes seem to make the b-tree interface more rational and they reduce both binary size and CPU usage. (check-in: [bef35e18] user: drh branch: btree-refactor, size: 14216)
2016-05-21
20:03
[1342a9b2] part of check-in [55f348cd] Simplify the sqlite3BtreeInsert() interface by gathering the five arguments describing the content to be inserted into the new BtreePayload structure, and thus reducing the number of parameters from eight to four. (check-in: [55f348cd] user: drh branch: trunk, size: 14287)
2016-03-16
19:34
[248919b5] part of check-in [a7978ab6] Merge the latest enhancements from trunk. (check-in: [a7978ab6] user: drh branch: begin-concurrent, size: 13014)
2016-02-22
23:44
[a5008b9a] part of check-in [aa9f4c62] Remove code not needed now that synchronous=OFF database files no longer trigger the use of a master journal. (check-in: [aa9f4c62] user: drh branch: trunk, size: 12971)
2016-02-02
02:53
[3c4f3fc0] part of check-in [347f6a80] Merge recent enhancements from trunk. (check-in: [347f6a80] user: drh branch: begin-concurrent, size: 13052)
2016-01-27
16:26
[368ceeb4] part of check-in [1d3bf6be] Change the name of the BTREE_IDXDELETE flag to BTREE_AUXDELETE, to better reflect its purpose. (check-in: [1d3bf6be] user: drh branch: fordelete-assert, size: 13009)
2016-01-21
17:06
[c5dfbbc5] part of check-in [ac2cbadd] Add a new hint bit on the flags parameter of sqlite3BtreeDelete(). The new BTREE_IDXDELETE bit indicates that the call is to delete an index entry corresponding to a table row that has already been deleted. (check-in: [ac2cbadd] user: drh branch: btree-fordelete-flag, size: 13017)
15:55
[52613736] part of check-in [a3cec529] Improved comments on the FORDELETE hint. No logic changes. (check-in: [a3cec529] user: drh branch: trunk, size: 12788)
2016-01-14
15:46
[8b91bee0] part of check-in [fccc5f20] Merge the latest enhancements and fixes from trunk. (check-in: [fccc5f20] user: dan branch: begin-concurrent, size: 12196)
2016-01-07
16:06
[68ef3017] part of check-in [d0214602] Have the vdbe layer call sqlite3BtreeEnter() on all b-trees in use from within sqlite3VdbeExec() even in SQLITE_THREADSAFE=0 builds. This ensures that BtShared.db is set correctly. (check-in: [d0214602] user: dan branch: shared-cache-fix, size: 12153)
2015-12-17
17:30
[778f36cd] part of check-in [98b710c3] Reduce the size of the VdbeCursor object by a pointer (the pBt pointer used for ephemeral tables). (check-in: [98b710c3] user: drh branch: optimize-vdbecursor, size: 12193)
2015-11-20
13:49
[beef3127] part of check-in [41c8b8e3] Merge all the latest enhancements and fixes from trunk. (check-in: [41c8b8e3] user: drh branch: begin-concurrent, size: 12196)
2015-11-12
14:57
[2d76dee4] part of check-in [549d42be] First attempt at enhancing the "PRAGMA cache_spill" statement to accept a cache threashold size. (check-in: [549d42be] user: drh branch: cache_spill=N, size: 12153)
2015-11-05
22:30
[1b8bf281] part of check-in [997ce6c9] Improvements and simplifications to the equality seek logic. Tests are adjusted so that they all pass now. (check-in: [997ce6c9] user: drh branch: seekeq-experiment, size: 12111)
2015-10-30
17:17
[86b2232c] part of check-in [f2cde4cf] Merge the sqlite3_db_cacheflush() enhancements and other changes from trunk. (check-in: [f2cde4cf] user: drh branch: begin-concurrent, size: 12181)
2015-10-27
13:24
[b512723e] part of check-in [b3ec9a0d] Split out sqlite3BtreeCursorHintFlags() from sqlite3BtreeCursorHint() the interface for improved performance. (check-in: [b3ec9a0d] user: drh branch: cursor-hints, size: 12138)
2015-10-26
20:11
[1957827f] part of check-in [20da0849] Merge the BTREE_FORDELETE enhancement with this branch. (check-in: [20da0849] user: dan branch: cursor-hints, size: 12336)
2015-10-23
11:50
[cf936d96] part of check-in [4c0ba8be] Remove an unused #define from whereInt.h. Add comments describing the new sqlite3BtreeCursor() flags. (check-in: [4c0ba8be] user: dan branch: btree-fordelete-flag, size: 10619)
2015-10-22
20:54
[ccc48943] part of check-in [cdc92919] Modifications to pass a flag to internal routine sqlite3BtreeCursor() when a cursor that is used solely for deleting b-tree entries, or for obtaining the components of keys to delete from other b-trees, is opened. (check-in: [cdc92919] user: dan branch: btree-fordelete-flag, size: 10164)
2015-09-15
19:16
[cd4946a0] part of check-in [fc4d1de8] Merge enhancements from trunk. (check-in: [fc4d1de8] user: drh branch: begin-concurrent, size: 10003)
17:31
[9cc758f0] part of check-in [66fe0683] Merge enhancements from trunk. (check-in: [66fe0683] user: drh branch: cursor-hints, size: 11677)
2015-09-12
19:26
[40189aef] part of check-in [eaeb2b80] Experimental change to use a single-pass approach for DELETE statements on non-virtual tables that do not fire triggers or require foriegn-key processing. (check-in: [eaeb2b80] user: dan branch: onepass-delete, size: 9960)
2015-08-19
20:27
[00d4cdb7] part of check-in [3bbc31d5] When committing an unlocked transaction, relocate newly allocated database pages within the file to avoid conflicting with committed transactions. There are lots of things still to fix in this code. (check-in: [3bbc31d5] user: dan branch: begin-concurrent, size: 9998)
2015-08-14
23:57
[6310645b] part of check-in [83a84435] Always provide the BTREE_BULKLOAD hint, even when SQLITE_ENABLE_CURSOR_HINTS is not defined, as that hint gives a 4% performance increase. (check-in: [83a84435] user: drh branch: cursor-hints, size: 11672)
15:05
[a1f058c4] part of check-in [fc3fb5cd] Refactor the sqlite3BtreeCursorHint() interface for improved maintainability. (check-in: [fc3fb5cd] user: drh branch: cursor-hints, size: 11954)
2015-08-13
20:07
[88803367] part of check-in [82a7a61b] Merge in all the trunk changes from the previous year. This breaks the cursor-hint mechanism, but provides a baseline for trouble-shooting. (check-in: [82a7a61b] user: drh branch: cursor-hints, size: 10054)
2015-08-10
20:22
[4c2590d2] part of check-in [ac5d2e9d] Add the sqlite3_experimental_log_open() interface. This is for diagnostic use only and is not intended to ever go on trunk. (check-in: [ac5d2e9d] user: drh branch: experimentalIoLog, size: 10026)
2015-07-29
12:14
[40bd41ef] part of check-in [0b971842] Only allow UNLOCKED transactions to commit if none of the pages read by the transaction have been modified since it was opened. (check-in: [0b971842] user: dan branch: begin-concurrent, size: 9954)
2015-07-27
19:31
[550e8447] part of check-in [80794216] Add an experimental "BEGIN UNLOCKED" command. (check-in: [80794216] user: dan branch: begin-concurrent, size: 9994)
2015-03-20
14:57
[969adc94] part of check-in [e750830f] Provide the BTREE_SEEK_EQ hint to the b-tree layer. (check-in: [e750830f] user: drh branch: seek-eq, size: 9955)
2015-02-21
00:19
[9cbbb92a] part of check-in [28c2b726] Keep track of the optimal number of reserved bytes (by looking at reserve byte requests in calls to sqlite3BtreeSetPageSize()) and then change the reserve byte count to the optimal when doing a VACUUM or when using the backup API. (check-in: [28c2b726] user: drh branch: trunk, size: 9348)
2014-12-19
19:28
[94277c1d] part of check-in [43db1f44] Experimental "PRAGMA data_version" command for detecting when another process has changed the database file. (check-in: [43db1f44] user: drh branch: data_version_pragma, size: 9403)
2014-11-13
13:42
[a4afc6b0] part of check-in [402780a9] When a transaction or savepoint rollback occurs, save the positions of all open read-cursors so that they can be restored following the rollback operation. Cherry-pick of check-in [dd03a2802f3f27] (check-in: [402780a9] user: drh branch: branch-3.8.7, size: 9043)
2014-11-12
14:56
[e31a3a3e] part of check-in [dd03a280] When a transaction or savepoint rollback occurs, save the positions of all open read-cursors so that they can be restored following the rollback operation. (check-in: [dd03a280] user: dan branch: trunk, size: 9077)
2014-11-11
22:55
[97c4d0ef] part of check-in [d4b2d5d0] Enhance ROLLBACK so that pending queries are allowed to continue as long as the schema does not change. This is a cherry-pick of check-in [b5df5ac052]. (check-in: [d4b2d5d0] user: drh branch: branch-3.8.7, size: 9044)
01:33
[d24fc2f3] part of check-in [fa6e6a9a] Experimental changes that permit read operations to continue after a ROLLBACK, as long as the schema is unchanged. (check-in: [fa6e6a9a] user: drh branch: read-after-rollback, size: 9078)
2014-11-04
12:11
[49b408be] part of check-in [6eb03e62] Add the SQLITE_CONFIG_PCACHE_HDRSZ option for sqlite3_config(). (check-in: [6eb03e62] user: drh branch: trunk, size: 9069)
2014-08-22
23:33
[a79aa6a7] part of check-in [ce123b5c] Another performance tweak: Split the sqlite3BtreeCursorHasMoved() routine into two with the second routine named sqlite3BtreeCursorRestore(). The first now only reports whether or not the cursor has moved and the second tries to restore the cursor. This allows the sqlite3VdbeCursorMoveto() routine to be refactored to avoid stack pointer movements, for a noticable performance gain. (check-in: [ce123b5c] user: drh branch: trunk, size: 9035)
2014-05-21
08:21
[4245a349] part of check-in [8d8af114] Fix the sqlite3_db_readonly() API so that it reports true if the database is readonly because the file format write version (byte 18 of the header) is too large. (check-in: [8d8af114] user: drh branch: trunk, size: 8993)
2014-03-31
22:03
[d79306df] part of check-in [f6211540] Merge in the latest changes and fixes from trunk. (check-in: [f6211540] user: drh branch: overflow-pgno-cache, size: 8953)
2014-03-19
14:10
[232836cb] part of check-in [59742dd4] First attempt at getting block-sort to work. This is an incremental check-in. There are many problems still to be worked out. (check-in: [59742dd4] user: drh branch: orderby-planning, size: 8952)
2014-03-14
11:46
[da1b69b4] part of check-in [1277932b] Fix a harmless compiler warning that crops up with SQLITE_MAX_MMAP_SIZE=0. (check-in: [1277932b] user: drh branch: trunk, size: 8905)
2014-03-11
20:33
[6b0c1a3f] part of check-in [da591985] Enable the b-tree cursor object's overflow page-number cache, which is normally enabled only for incr-blob cursors, for all cursors. (check-in: [da591985] user: dan branch: overflow-pgno-cache, size: 8870)
2014-02-12
21:31
[9e0f97c0] part of check-in [56bc5ce8] Remove the "rowid cache" that sought to remember the largest rowid for a table and thereby speed up OP_NewRowid. That cache was ineffective. Removing it results in a performance increase of 0.4%, less memory usage, and a slightly smaller library size. (check-in: [56bc5ce8] user: drh branch: trunk, size: 8869)
2014-02-05
17:08
[f1c65e05] part of check-in [a332908b] Make the root page of an ephemeral index be page 1 instead of page 2. (check-in: [a332908b] user: drh branch: subquery-codegen-refactor, size: 9063)
2013-12-07
20:39
[450f1c60] part of check-in [3a9bec52] If the SQLITE_ENABLE_CURSOR_HINTS macro is defined, then invoke the sqlite3BtreeCursorHint() interface to provide hints to the storage engine about rows that need not be returned. Hints can be disabled using SQLITE_TESTCTRL_OPTIMIZATIONS with SQLITE_CursorHints (0x2000). Cursor hints are not used by the built-in storage engine of SQLite but might be useful to applications that provide their own storage engine. The current code is work-in-progrss and contains bugs. (check-in: [3a9bec52] user: drh branch: cursor-hints, size: 9080)
2013-11-21
21:59
[a61ddebc] part of check-in [4e8c5d07] Changes some offset and amount parameters from "int" to "u32" to avoid harmless signed/unsigned comparison warnings. (check-in: [4e8c5d07] user: drh branch: trunk, size: 8981)
2013-08-16
20:42
[bfe0e8c5] part of check-in [cdb181c0] Add the cache_spill pragma. (check-in: [cdb181c0] user: drh branch: cache_spill, size: 8981)
2013-05-01
19:49
[6fa8a3ff] part of check-in [28c9e7fd] Allocate 4 bytes of unused header space for an "Application ID". Add the "PRAGMA application_id" command to set and query this identifier. Add the "magic.txt" file to show how the posix file command might use this application id. (check-in: [28c9e7fd] user: drh branch: application-id, size: 8985)
2013-03-25
23:09
[d9490cd3] part of check-in [1b37c4ef] Memory-mapped I/O is now on by default. The "PRAGMA mmap_limit(N)" can be used to issue a hint to the VFS to limit mmap space to N bytes. The VFS is free to ignore that hint if desired. However, if "PRAGMA mmap_limit(0)" is used, xFetch is never called. (check-in: [1b37c4ef] user: drh branch: experimental-mmap, size: 8949)
2013-03-19
19:28
[d3259057] part of check-in [6183f1bd] Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size". (check-in: [6183f1bd] user: dan branch: experimental-mmap, size: 8939)
2012-10-13
19:58
[3ad7964d] part of check-in [af5c9ee4] Ensure that when the source of a backup is a database that is zero bytes in size, the final destination database consists of at least one page. Truncating it to zero bytes is equivalent to zeroing the schema cookie and change counter, which can cause problems for existing clients. (check-in: [af5c9ee4] user: dan branch: zero-byte-backup-fix, size: 8897)
2012-10-01
12:44
[078f76b2] part of check-in [f193dbb6] Omit the sqlite3GetReservedNoMutex() routine in build configurations where it is not used. (check-in: [f193dbb6] user: drh branch: trunk, size: 8863)
2012-09-28
20:23
[5e6482bc] part of check-in [89b8c377] Avoid calling sqlite3BtreeEnter() in a corner case where the corresponding database handle mutex (sqlite3.mutex) may not be held. This prevents a potential deadlock or crash that can occur if the backup API, shared-cache mode and SQLITE_HAVE_CODEC are all in use. (check-in: [89b8c377] user: dan branch: trunk, size: 8801)
2012-08-06
18:50
[4aee02e8] part of check-in [d045f8b2] When reusing pages as part of creating a new index, allocate the leaves from each free-list trunk page in ascending order, instead of trying to maximize localization for each individual allocation. This increases the chance that pages will be written to disk in ascending order by a large CREATE INDEX statement, improving overall performance. (check-in: [d045f8b2] user: dan branch: sorter-coalesce-writes, size: 8756)
2012-05-27
00:11
[7b6af44e] part of check-in [997ef5f6] Fix corner-case problems with shared-cache for in-memory databases. (check-in: [997ef5f6] user: drh branch: shared-cache-memdb, size: 8584)
2012-02-13
16:43
[48a013f8] part of check-in [9b66c79e] Change the ROLLBACK command so that pending statements to not block it. The pending statements instead return SQLITE_ABORT upon next access. Note: This causes separate shared-cache connections in read_uncommitted mode to abort as well. (check-in: [9b66c79e] user: drh branch: nonblocking-rollback, size: 8550)
2012-01-17
15:29
[46e9f046] part of check-in [96900c47] Remove the undocumented PRAGMA omit_readlock hack. (check-in: [96900c47] user: drh branch: trunk, size: 8546)
2011-08-26
00:34
[9ddf0422] part of check-in [c71d7320] Create a new pager type, PAGER_SORTER, for use in the external merge sort. Such pagers are always held in memory but do report when they are under memory pressure by calling pagerStress. (check-in: [c71d7320] user: drh branch: trunk, size: 8696)
2011-05-11
14:57
[d796dc40] part of check-in [671ba5fc] Only open a read-only connection to shared-memory if the "readonly_shm=1" option is specified as part of the database file URI (and if a read-write connection fails). (check-in: [671ba5fc] user: dan branch: wal-readonly, size: 8688)
2011-04-23
15:54
[f5d775cd] part of check-in [68240e75] Have the ATTACH command do URI interpretation in the same way as sqlite3_open() and sqlite3_open_v2() do. (check-in: [68240e75] user: dan branch: uri, size: 8616)
2011-04-06
22:05
[11753dd4] part of check-in [614de91a] Fix a performance regression: Keep two btree masks in each prepared statement; one for btrees used and another for btrees that require locks. Only try to lock the btrees identified by the second mask. (check-in: [614de91a] user: drh branch: trunk, size: 8555)
2011-04-05
17:31
[221e186c] part of check-in [242ce7cf] Remove the mutex counter and the logic that attempts to verify that btree mutexes are held continuously. We are not making that assumption at this time. (check-in: [242ce7cf] user: drh branch: trunk, size: 8484)
2011-04-04
18:22
[c0e0ff5c] part of check-in [ae8374af] Add a description of access rules for the Schema object and lots of asserts to verify that the access rules are followed. (check-in: [ae8374af] user: drh branch: schema-parse-refactor, size: 8566)
00:14
[a840a20c] part of check-in [d81708f7] Remove the BtreeMutexArray object - use the Vdbe.btreeMask field to accomplish the same result. Add a generation counter to btree mutexes in order to assert that mutexes are never temporarily dropped over a range of instructions in order to do deadlock avoidance in some subroutine. Lock all btrees in any Vdbe program that uses OP_ParseSchema. (check-in: [d81708f7] user: drh branch: trunk, size: 8470)
2011-03-29
15:40
[8d36f774] part of check-in [dbe569a0] Fix a problem whereby following an IO error in CommitPhaseTwo() of a multi-file transaction the b-tree layer could be left in TRANS_WRITE state, causing problems later on. (check-in: [dbe569a0] user: dan branch: trunk, size: 9061)
2010-11-19
18:51
[e2f2cd99] part of check-in [ebf74015] Merge the checkpoint_fullfsync pragma and the superlock demonstration into the checkpoint-v2 experimental branch. (check-in: [ebf74015] user: drh branch: blocking-checkpoint, size: 9056)
18:23
[10f9296b] part of check-in [a0698673] Add the checkpoint_fullfsync pragma which enables F_FULLFSYNC on checkpoint operations only, not during ordinary commit fsyncs. (check-in: [a0698673] user: drh branch: trunk, size: 9037)
2010-11-18
12:11
[1d62748e] part of check-in [72787c01] Modify the interface to the blocking wal-checkpoint functionality. (check-in: [72787c01] user: dan branch: blocking-checkpoint, size: 9052)
2010-11-16
18:56
[d1144d38] part of check-in [7e3fc2c8] Add experimental command "PRAGMA wal_blocking_checkpoint", which uses the busy-handler to block until all readers have finished in order to ensure the next writer will be able to wrap around to the start of the log file. (check-in: [7e3fc2c8] user: dan branch: blocking-checkpoint, size: 9038)
2010-08-30
22:15
[2d1a83ad] part of check-in [4fead8e7] Provide hints to the btree layer during the creation of transient tables for when it is possible for those tables to use a hash rather than a binary tree. No use is currently made of those hints, though assert() statement verify their accuracy. (check-in: [4fead8e7] user: drh branch: trunk, size: 9033)
2010-08-02
10:47
[b4ba2fdf] part of check-in [e75b52d1] In shared-cache mode, do not allow one connection to checkpoint a database while a second connection is reading or writing the same shared-cache. (check-in: [e75b52d1] user: dan branch: trunk, size: 8804)
2010-04-20
18:53
[dd83041e] part of check-in [96bef18c] Use the read and write version fields of the database header to mark a database as operating in wal-mode. (check-in: [96bef18c] user: dan branch: wal, size: 8734)
2010-03-30
22:58
[ad6cff92] part of check-in [79e22b95] Continuing refinements to the filesize-in-header enhancement. (check-in: [79e22b95] user: drh branch: trunk, size: 8679)
2010-02-12
18:18
[0e193b7e] part of check-in [f72f8a87] Allow the secure-delete setting to be changed at run-time using a pragma. The SQLITE_SECURE_DELETE compile-time option determines the default setting. (check-in: [f72f8a87] user: drh branch: trunk, size: 8645)
2009-11-18
23:01
[7944a9da] part of check-in [85940468] Performance improvement by avoiding unnecessary calls to memset(). (check-in: [85940468] user: drh branch: trunk, size: 8603)
2009-11-10
01:30
[ddd915fd] part of check-in [f6c045f6] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f6] user: drh branch: trunk, size: 8563)
2009-07-22
00:35
[577448a8] part of check-in [96cfd079] Further simplifications to btree.c, especially the sqlite3BtreeKey() and sqlite3BtreeData() functions. New assert() statements added to verify that these routines are called correctly. (CVS 6917) (check-in: [96cfd079] user: drh branch: trunk, size: 8625)
2009-07-09
05:07
[e53a10fd] part of check-in [1d96ce8c] Restore (btree_set_cache_size) to test3.c. This is used on unix for the tcl "crash tests". Make some functions no longer used outside of btree.c static. (CVS 6869) (check-in: [1d96ce8c] user: danielk1977 branch: trunk, size: 8568)
2009-07-06
18:56
[e761619e] part of check-in [30d5ec62] Make the sqlite3BtreeMoveto function static, since it is only used from within btree.c. Remove unused function lockBtreeWithRetry from btree.c. (CVS 6850) (check-in: [30d5ec62] user: danielk1977 branch: trunk, size: 8602)
2009-07-02
07:47
[8cae6364] part of check-in [e3c055f1] Cause opening a transaction on a sharable b-tree module automatically obtain a read-lock on page 1. This means there is no way for sqlite3BtreeGetMeta() to fail. (CVS 6836) (check-in: [e3c055f1] user: danielk1977 branch: trunk, size: 8698)
2009-06-03
11:25
[f70b694e] part of check-in [6dbf4eca] Define a set of constants to use as the "index" argument to sqlite3BtreeGetMeta and UpdateMeta. This makes some parts of the code easier to follow. (CVS 6709) (check-in: [6dbf4eca] user: danielk1977 branch: trunk, size: 8661)
2009-05-28
11:05
[3748683b] part of check-in [5904af6e] Workaround the need for internal API sqlite3BtreeCursorDb(). It was only being used for an assert() statement, which can be done differently. (CVS 6683) (check-in: [5904af6e] user: danielk1977 branch: trunk, size: 7842)
2009-05-04
11:42
[58d876d3] part of check-in [cac4f3d8] Speed up INSERT operations that add data to UNIQUE or PRIMARY KEY indexes by rationalizing duplicate seek operations. (CVS 6599) (check-in: [cac4f3d8] user: danielk1977 branch: trunk, size: 7890)
2009-04-10
12:55
[99fcc7e8] part of check-in [683e4bd7] Changes to ensure that when running in shared-cache mode with a non-threadsafe build, the correct busy-handler callback is always invoked. (CVS 6481) (check-in: [683e4bd7] user: danielk1977 branch: trunk, size: 7874)
2009-04-02
20:16
[8007018c] part of check-in [85e6a474] Make sure the VACUUM statement locks down the page_size and auto_vacuum modes after it runs. Otherwise, pragmas might change these settings on a populated database, resulting in problems. (CVS 6442) (check-in: [85e6a474] user: drh branch: trunk, size: 8065)
2009-03-18
10:33
[e302c574] part of check-in [a60f4191] Fix some cases where executing SQL from within a user-function callback could cause problems related to statement-transactions. (CVS 6355) (check-in: [a60f4191] user: danielk1977 branch: trunk, size: 8069)
2009-03-17
22:33
[8ed34391] part of check-in [18978583] Move the rowid cache out of VdbeCursor and into BtCursor. When multiple BtCursors are open on the same table, set their rowid cache all at the same time. Ticket #3731. (CVS 6354) (check-in: [18978583] user: drh branch: trunk, size: 8165)
2009-02-24
10:01
[96a019c9] part of check-in [d4aa6593] Optimize queries of the form "SELECT count(*) FROM <tbl>" by adding a sqlite3BtreeCount() interface to the btree layer. (CVS 6316) (check-in: [d4aa6593] user: danielk1977 branch: trunk, size: 8061)
2009-02-03
16:51
[4eab72af] part of check-in [663479b4] Commit first version of the 'backup' feature. (CVS 6241) (check-in: [663479b4] user: danielk1977 branch: trunk, size: 7980)
2009-01-24
11:30
[07359623] part of check-in [bfc71edc] Fix some minor compiler warnings. Added sqlite3Isalpha() for use in the soundex() function. (CVS 6203) (check-in: [bfc71edc] user: drh branch: trunk, size: 7936)
2008-12-17
17:30
[4f141cf7] part of check-in [34b56600] Add the savepoint feature. This feature is largely untested at this point. (CVS 6036) (check-in: [34b56600] user: danielk1977 branch: trunk, size: 7989)
2008-10-27
13:59
[179c3ea8] part of check-in [e68e4282] Make sqlite3_count_changes() and total_changes() work with "DELETE FROM ". (CVS 5844)
(check-in: [e68e4282] user: danielk1977 branch: trunk, size: 7943)
2008-10-08
17:58
[903682f2] part of check-in [af679f61] After an OP_NullRow is executed on a cursor, cause any subsequent OP_Next or OP_Prev to behave as if there were no more rows to traverse. Ticket #3424. (CVS 5782) (check-in: [af679f61] user: danielk1977 branch: trunk, size: 7937)
2008-08-13
19:11
[6371c5e5] part of check-in [0b92cbf5] Additional changes toward fixing ticket #3292. (CVS 5562) (check-in: [0b92cbf5] user: drh branch: trunk, size: 7887)
2008-07-11
21:02
[03256ed7] part of check-in [c80a5d09] Detect and handles the case where a row is modified or deleted while it is being read during SELECT processing. (CVS 5399) (check-in: [c80a5d09] user: drh branch: trunk, size: 7886)
16:15
[0063e985] part of check-in [d7e2f0d2] Additional test coverage for the btree module. Remove the failsafe() macro and replace it with ALWAYS() and NEVER(). (CVS 5395) (check-in: [d7e2f0d2] user: drh branch: trunk, size: 7837)
2008-07-10
00:32
[9373128f] part of check-in [636cd723] Remove unused code. Test coverage enhancements. Modify the algorithm used to select column names for VIEWs of joins so that the constructed column names omits the underlying table names. (CVS 5386) (check-in: [636cd723] user: drh branch: trunk, size: 8022)
2008-05-29
03:01
[b1bd7e0b] part of check-in [5afc445a] Omit declaration for functions that are only used by asserts if asserts aren't being used (NDEBUG). (CVS 5173) (check-in: [5afc445a] user: shane branch: trunk, size: 8077)
2008-04-26
13:39
[8826591b] part of check-in [a4149ca3] Use "(void)" function arguments in declarations instead of "()". Both are legal but some pedantic compilers complain about the latter. Ticket #3086. (CVS 5050) (check-in: [a4149ca3] user: drh branch: trunk, size: 7739)
2008-03-25
17:23
[c66cb17c] part of check-in [ee381b43] Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather than a record formed using {quote: MakeRecord.} This avoids a needless packing and unpacking of the record to be deleted. (CVS 4916) (check-in: [ee381b43] user: drh branch: trunk, size: 7735)
09:47
[e02869e1] part of check-in [04715364] Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912) (check-in: [04715364] user: danielk1977 branch: trunk, size: 7616)
00:22
[ca065a59] part of check-in [0e1d84f2] Removed the direct btree tests - part of the ongoing effort to test by calling only public interfaces. Modify the sqlite3VdbeRecordCompare interface to used a pre-parsed second key - resulting in a 13% performance improvement on speed1p.test. (CVS 4911) (check-in: [0e1d84f2] user: drh branch: trunk, size: 7502)
2007-12-07
18:55
[19dcf5ad] part of check-in [c9eb6591] In shared-cache mode, make sure the busy hander invoked is the busy handler associated with the database connection that caused the lock contention in the first place. (CVS 4598) (check-in: [c9eb6591] user: drh branch: trunk, size: 7642)
2007-09-03
15:19
[d0736ebc] part of check-in [020a2b10] Honor the SQLITE_OPEN_ flags passed into sqlite3_open_v2(). Some test cases added but more are needed. Ticket #2616. (CVS 4376) (check-in: [020a2b10] user: drh branch: trunk, size: 7695)
2007-08-30
01:19
[32fad0f0] part of check-in [e40d40a5] Fix for the sqlite3AbortOtherActiveVdbes() problem. (CVS 4328) (check-in: [e40d40a5] user: drh branch: trunk, size: 7629)
2007-08-29
17:43
[a90328ee] part of check-in [2732af0e] Improvements to mutex asserts. The quick test runs to completion without assertion faults. (CVS 4324) (check-in: [2732af0e] user: drh branch: trunk, size: 7583)
04:00
[7391b9e7] part of check-in [e8060f85] Better asserts(). But now some of the tests are busted again. (CVS 4320) (check-in: [e8060f85] user: drh branch: trunk, size: 7425)
00:33
[21cea645] part of check-in [844d40b8] More locking fixes. Now makes it all the way through quick.test. There are errors but no assertion faults. Progress. (CVS 4319) (check-in: [844d40b8] user: drh branch: trunk, size: 7356)
2007-08-28
23:28
[03895d1d] part of check-in [f84550be] The shared_err test runs with no errors. But a potential deadlock has been discovered and is still unfixed. (CVS 4317) (check-in: [f84550be] user: drh branch: trunk, size: 7286)
02:27
[a8fb26c5] part of check-in [b8cc493b] Work toward correct btree locking in a multithreaded environment. (CVS 4307) (check-in: [b8cc493b] user: drh branch: trunk, size: 7262)
2007-08-22
02:56
[76c89673] part of check-in [783e07d5] A complete run of quick.test with mutex debugging enabled. (CVS 4266) (check-in: [783e07d5] user: drh branch: trunk, size: 6540)
2007-08-21
19:33
[aeb85d6a] part of check-in [92872761] The sqlite3_value object now carries an sqlite3* pointer to use for recording malloc failures. This eliminates the need to pass sqlite3* pointers into many internal interfaces. Also added more mutexing. (CVS 4263) (check-in: [92872761] user: drh branch: trunk, size: 6448)
2007-08-20
22:48
[52510556] part of check-in [1315bd8e] Work toward multithreading support. Currently crashes quickly on a test. (CVS 4253) (check-in: [1315bd8e] user: drh branch: trunk, size: 6400)
2007-08-17
01:14
[91ee529d] part of check-in [4c1e9ffe] Begin adding mutexes. Compiles without SQLITE_OMIT_SHARED_CACHE but we get an assertion fault on the shared cache testing. (CVS 4239) (check-in: [4c1e9ffe] user: drh branch: trunk, size: 6372)
2007-05-08
21:45
[1d527bf6] part of check-in [c5754530] Remove compiler warnings in the amalgamation. (CVS 3960) (check-in: [c5754530] user: drh branch: trunk, size: 5622)
14:51
[8444af0c] part of check-in [b1b74f06] Add the max_page_count pragma used to limit the maximum size of a database file. Untested. (CVS 3948) (check-in: [b1b74f06] user: drh branch: trunk, size: 5726)
2007-05-05
18:49
[845543b5] part of check-in [bece7a6b] Fix a header problem introduced in the previous check-in. (CVS 3929) (check-in: [bece7a6b] user: drh branch: trunk, size: 5684)
2007-05-04
18:36
[a9cd72b0] part of check-in [4516416b] Test interaction of incremental io and other database writes. (CVS 3922) (check-in: [4516416b] user: danielk1977 branch: trunk, size: 5772)
2007-05-02
16:48
[2c187d60] part of check-in [349f1ea7] Cache the location of overflow pages in cursors used for incremental blob IO. (CVS 3899) (check-in: [349f1ea7] user: danielk1977 branch: trunk, size: 5778)
01:34
[b2ef1ccc] part of check-in [7a01836d] Begin adding the zeroblob API to support incremental blob i/o. (CVS 3894) (check-in: [7a01836d] user: drh branch: trunk, size: 5726)
2007-05-01
17:49
[9a219f01] part of check-in [c444836e] First approximation of incremental blob IO API. (CVS 3892) (check-in: [c444836e] user: danielk1977 branch: trunk, size: 5689)
2007-04-26
14:42
[4c0b5855] part of check-in [f6a6d2b8] Add largely untested code for the incremental vacuum function. (CVS 3876) (check-in: [f6a6d2b8] user: danielk1977 branch: trunk, size: 5619)
2007-03-30
14:06
[9b2cc0d1] part of check-in [66b3ad09] Refactoring the btree and pager routines into distinct two-phase commit routines. We've always done a two-phase commit - this change is just making that more apparent in the code. (CVS 3762) (check-in: [66b3ad09] user: drh branch: trunk, size: 5376)
2007-03-29
05:51
[540dcbbf] part of check-in [ad4a6b1a] Change BtreeMoveto so that it can be biased to the right or to the center. Use a right bias when appending and a center bias when searching. This gives about a 15% reduction in calls to sqlite3VdbeRecordCompare. (CVS 3741) (check-in: [ad4a6b1a] user: drh branch: trunk, size: 5326)
2007-01-27
02:24
[066444ee] part of check-in [d564a039] Limit the number of errors returned by PRAGMA integrity_check to 100 by default. Specify an alternative limit using an argument to the pragma. Ticket #2176. (CVS 3609) (check-in: [d564a039] user: drh branch: trunk, size: 5310)
2006-06-27
16:34
[061c50e3] part of check-in [70a48b25] Prevent databases from being DETACHed while they are in use. Fix for #1873. (CVS 3312) (check-in: [70a48b25] user: danielk1977 branch: trunk, size: 5307)
2006-02-11
01:25
[40055cfc] part of check-in [f2069d0b] Add support and documentation for the fullfsync pragma. Also include some other unrelated documentation updates. (CVS 3080) (check-in: [f2069d0b] user: drh branch: trunk, size: 5260)
2006-01-07
13:21
[5663c4f4] part of check-in [23b587b0] In shared-cache mode, lock all required tables before beginning to execute the body of the statement program. (CVS 2881) (check-in: [23b587b0] user: danielk1977 branch: trunk, size: 5264)
2006-01-06
13:00
[f7ba8e2f] part of check-in [d054bed1] Add some simple tests and fixes for shared-schema locking. (CVS 2869) (check-in: [d054bed1] user: danielk1977 branch: trunk, size: 5219)
2006-01-05
11:34
[96b8c00c] part of check-in [deeda0dc] Add the shared schema/pager modifications. Very few tests so far. (CVS 2859) (check-in: [deeda0dc] user: danielk1977 branch: trunk, size: 5180)
2005-12-30
16:28
[d6481f92] part of check-in [2afcad99] Add part of the btree layer of the shared-cache feature. (CVS 2848) (check-in: [2afcad99] user: danielk1977 branch: trunk, size: 5123)
2005-12-16
15:24
[8ff86378] part of check-in [83c8ae5b] Verify that the rollback-hook is invoked correctly when a malloc() failure occurs. (CVS 2824) (check-in: [83c8ae5b] user: danielk1977 branch: trunk, size: 5025)
2005-08-27
16:36
[1ed56126] part of check-in [644b96aa] Disable synchronous writes to the master journal when PRAGMA synchronous=OFF for all database files. Ticket #1375. (CVS 2630) (check-in: [644b96aa] user: drh branch: trunk, size: 5049)
2005-03-21
04:04
[41a71ce0] part of check-in [1f9d10d7] Add function to recover from a malloc() failure. (CVS 2414) (check-in: [1f9d10d7] user: danielk1977 branch: trunk, size: 5019)
2005-02-06
02:45
[2e2cc923] part of check-in [2155448d] Add the (highly experimental) omit_readlock pragma that disables the use of readlocks on read-only databases that are connected using ATTACH. (CVS 2317) (check-in: [2155448d] user: drh branch: trunk, size: 4979)
2005-01-12
07:15
[74d19cf4] part of check-in [319bb4a9] Tests to improve coverage of vdbemem.c. (CVS 2200) (check-in: [319bb4a9] user: danielk1977 branch: trunk, size: 4833)
2004-11-05
15:45
[861e40b7] part of check-in [b9d5f007] Make auto-vacuum a run-time option (default determined by SQLITE_DEFAULT_AUTOVACUUM macro). (CVS 2067) (check-in: [b9d5f007] user: danielk1977 branch: trunk, size: 4754)
2004-11-04
14:30
[3166388f] part of check-in [1da361fa] Support root-page allocation/deallocation in auto-vacuum databases. Still a few problems. (CVS 2054) (check-in: [1da361fa] user: danielk1977 branch: trunk, size: 4437)
2004-07-23
00:01
[94dfec0a] part of check-in [7c7f698b] First cut at a analysis tool for version 3.0 databases. (CVS 1862) (check-in: [7c7f698b] user: drh branch: trunk, size: 4423)
2004-07-22
02:40
[fab5e800] part of check-in [b77bec35] Changes in support of using a codec. (CVS 1844) (check-in: [b77bec35] user: drh branch: trunk, size: 4418)
01:19
[02fd2c26] part of check-in [4cf6e9db] Initial implementation of variable page sizes and the temp_store pragma. (CVS 1843) (check-in: [4cf6e9db] user: drh branch: trunk, size: 4382)
2004-06-26
08:38
[934d0ad3] part of check-in [4e207209] Remove the 'nMaster' argument from various pager and btree functions. (CVS 1737) (check-in: [4e207209] user: danielk1977 branch: trunk, size: 4184)
2004-06-14
06:03
[32f96abe] part of check-in [73cd0aab] Ensure the master journal directory is synced. Also, change the master journal format to store journal file names. (CVS 1583) (check-in: [73cd0aab] user: danielk1977 branch: trunk, size: 4188)
2004-06-04
06:22
[589427ac] part of check-in [ff70b6d2] Move the 'busy-callback' logic to the pager layer. (CVS 1527) (check-in: [ff70b6d2] user: danielk1977 branch: trunk, size: 4094)
2004-06-03
16:08
[7b682341] part of check-in [d57e5252] Untested updates to support atomic multi-file transactions (CVS 1526) (check-in: [d57e5252] user: danielk1977 branch: trunk, size: 4059)
2004-05-31
10:01
[1e2beb41] part of check-in [6b43633a] Add read-transactions to the btree and vdbe. The compiler doesn't invoke them yet. (CVS 1502) (check-in: [6b43633a] user: danielk1977 branch: trunk, size: 4004)
08:26
[61d670f4] part of check-in [b8ed812c] Replace OP_Begin, OP_Commit and OP_Rollback with OP_AutoCommit. (CVS 1500) (check-in: [b8ed812c] user: danielk1977 branch: trunk, size: 4000)
2004-05-30
20:46
[51270689] part of check-in [a0db15bb] Various speed enhancements. (CVS 1498) (check-in: [a0db15bb] user: drh branch: trunk, size: 3923)
2004-05-18
10:06
[b65140b5] part of check-in [ad4a9641] Fix many problems with manifest types and column affinity. Most things are working now. (CVS 1393) (check-in: [ad4a9641] user: danielk1977 branch: trunk, size: 3927)
2004-05-12
19:18
[6f51ad0f] part of check-in [b8f70d17] Implement a B+tree option (all data stored on leaves). (CVS 1365) (check-in: [b8f70d17] user: drh branch: trunk, size: 3815)
15:15
[55495692] part of check-in [fb3c8030] Btree uses signed integers for the rowid. The intToKey() and keyToInt() macros are now no-ops. (CVS 1364) (check-in: [fb3c8030] user: drh branch: trunk, size: 3732)
2004-05-11
00:58
[578dc465] part of check-in [a675ac49] Updates to sqlite3BtreeKeyFetch() and sqlite3BtreeDataFetch(). (CVS 1347) (check-in: [a675ac49] user: drh branch: trunk, size: 3732)
2004-05-10
23:29
[91343fe6] part of check-in [bc5a2daf] Work toward getting the new btree.c integrated with vdbe.c. (CVS 1345) (check-in: [bc5a2daf] user: drh branch: trunk, size: 3662)
2004-05-09
23:23
[7c3939a2] part of check-in [d8d1c91e] Add a temporary sqlite2BtreeKeyCompare() function to help get regression tests passing again. (CVS 1332) (check-in: [d8d1c91e] user: danielk1977 branch: trunk, size: 3669)
00:40
[825034a6] part of check-in [ee706e9c] All tests in btree.test now pass (but only because I commented out the btree_integrity_check test.) (CVS 1328) (check-in: [ee706e9c] user: drh branch: trunk, size: 3732)
2004-05-08
20:07
[e111dde0] part of check-in [e9f84ff3] More btree.c bug fixes. (CVS 1327) (check-in: [e9f84ff3] user: drh branch: trunk, size: 3732)
08:23
[07a16dbb] part of check-in [8af6474c] Change lots of internal symbols from sqliteXXX to sqlite3XXX so that the library links again. It doesn't work yet, due to changes in the btree layer calling convention. (CVS 1324) (check-in: [8af6474c] user: danielk1977 branch: trunk, size: 3706)
2004-05-07
23:50
[ba5d3bfa] part of check-in [a80939ef] More bug fixes in btree.c. (CVS 1322) (check-in: [a80939ef] user: drh branch: trunk, size: 3401)
13:30
[49b255b2] part of check-in [dcd6b55f] New btree.c module compiles and links. (CVS 1320) (check-in: [dcd6b55f] user: drh branch: trunk, size: 3369)
2004-04-26
14:10
[858659c6] part of check-in [910067a2] Pager tests working. (CVS 1308) (check-in: [910067a2] user: drh branch: trunk, size: 3102)
2004-02-10
02:57
[41cb3ff6] part of check-in [9c6b4758] Make the pager accessible from the btree structure always, not just during debugging. (CVS 1219) (check-in: [9c6b4758] user: drh branch: trunk, size: 6639)
2003-06-01
01:10
[9b7c09f1] part of check-in [903adbe8] Add the ability to INSERT or UPDATE using the "rowid" column even on tables that lack an integer primary key. (CVS 991) (check-in: [903adbe8] user: drh branch: trunk, size: 6639)
2003-04-25
13:28
[23c50e00] part of check-in [c3b1f84d] Work around a name collision problem on windows. (CVS 934) (check-in: [c3b1f84d] user: drh branch: trunk, size: 6639)
13:22
[6488448d] part of check-in [caa96028] Make VACUUM work even if multiple processes have the database open at once. (CVS 933) (check-in: [caa96028] user: drh branch: trunk, size: 6639)
02:43
[dc899dd3] part of check-in [5afb8800] Get VACUUM working again - with test cases. Some other minor cleanups. (CVS 931) (check-in: [5afb8800] user: drh branch: trunk, size: 6680)
2003-04-16
01:28
[529c98cb] part of check-in [35cc7c7d] Remove some unnecessary code and complication from the btree interface. (CVS 909) (check-in: [35cc7c7d] user: drh branch: trunk, size: 6599)
2003-04-06
20:44
[5cb87154] part of check-in [185d8dc8] Simplify the BTree interface by shortening names. Added two new methods for accessing the current filename and for changing the name of the database file. (CVS 900) (check-in: [185d8dc8] user: drh branch: trunk, size: 6665)
2003-04-01
21:16
[024d2dd2] part of check-in [79b3aed2] Add infrastructure to suport multiple btree implementations (CVS 894) (check-in: [79b3aed2] user: paul branch: trunk, size: 6643)
2003-03-19
03:14
[8209bfad] part of check-in [875da9ee] Modifications to the VDBE to support more than one database file. (CVS 878) (check-in: [875da9ee] user: drh branch: trunk, size: 2594)
2003-02-12
14:09
[36a7a26a] part of check-in [792a9e15] Added the new FULL option to the SYNCHRONOUS pragma. Still need to test it. (CVS 863) (check-in: [792a9e15] user: drh branch: trunk, size: 2522)
2002-12-04
13:40
[17710339] part of check-in [0ad1d938] Add the sqliteBtreePrevious() routine to the BTree module API. This is in anticipation of implementing reverse order searching of a table. (CVS 794) (check-in: [0ad1d938] user: drh branch: trunk, size: 2477)
2002-08-11
20:10
[0ca6c263] part of check-in [ce4b943b] Fix for ticket #9: Add the ability to read little-endian database files from a big-endian machine and vice versa. (CVS 704) (check-in: [ce4b943b] user: drh branch: trunk, size: 2430)
2002-02-19
15:00
[8abeabfe] part of check-in [cc5abfe3] Optimize simple min() and max() queries. (CVS 382) (check-in: [cc5abfe3] user: drh branch: trunk, size: 2401)
13:39
[9fd16f33] part of check-in [c6e9048e] Change the name of the sanity_check PRAGMA to "integrity_check" and make it available on all compiles. (CVS 381) (check-in: [c6e9048e] user: drh branch: trunk, size: 2358)
2002-02-03
19:15
[b131caa4] part of check-in [0090c279] Reenable testing code even if NDEBUG is defined. (CVS 367) (check-in: [0090c279] user: drh branch: trunk, size: 2352)
17:37
[53476ad4] part of check-in [7c65029e] Put in PRAGMA SANITY_CHECK in place of VACUUM. (CVS 365) (check-in: [7c65029e] user: drh branch: trunk, size: 2351)
2002-02-02
18:49
[a94bef69] part of check-in [9be4d4c6] Get the ABORT conflict resolution algorithm working. (CVS 362) (check-in: [9be4d4c6] user: drh branch: trunk, size: 2355)
2002-01-04
03:09
[9ead7f54] part of check-in [011be9a9] An attempt to delete a single row using a WHERE clause that specifies the rowid would result in an error if the rowid did not exist. This problem has been resolved. (CVS 338) (check-in: [011be9a9] user: drh branch: trunk, size: 2249)
2001-12-15
14:22
[8767bd4e] part of check-in [e8595579] Comment and documentation changes. (CVS 331) (check-in: [e8595579] user: drh branch: trunk, size: 2207)
2001-11-07
14:22
[0250a0a5] part of check-in [e6ca23fa] Incremental update. We are in the middle of modifying the index system to support range queries without doing a complete table scan. (CVS 303) (check-in: [e6ca23fa] user: drh branch: trunk, size: 2107)
2001-09-27
03:22
[57d653ef] part of check-in [34c42967] Added basic support for enforcement of UNIQUE on indices and primary keys. Support for addition constraints is to follow. (CVS 267) (check-in: [34c42967] user: drh branch: trunk, size: 2068)
2001-09-23
02:35
[5e553186] part of check-in [337b3d3b] Fixes to the locking and rollback behavior. (CVS 261) (check-in: [337b3d3b] user: drh branch: trunk, size: 1991)
2001-09-16
00:13
[fcb08daa] part of check-in [4e926efe] Disclaimed copyright. Preparing for release 2.0. (CVS 250) (check-in: [4e926efe] user: drh branch: trunk, size: 1979)
2001-09-14
18:54
[a3d9c20f] part of check-in [5e372460] Added a PRAGMA statement. Took out the special comment parsing. (CVS 245) (check-in: [5e372460] user: drh branch: trunk, size: 2528)
2001-09-13
14:46
[2427961c] part of check-in [a0a1e701] The BTree changes are now integrated and the whole thing compiles and links. I have not yet tried to run it, though. (CVS 239) (check-in: [a0a1e701] user: drh branch: trunk, size: 2486)
13:46
[1fe9710a] part of check-in [6ecc8b20] The code is in place to replace GDBM with BTree. But I have not yet attempted to compile it. I am sure the code contains bugs. (CVS 238) (check-in: [6ecc8b20] user: drh branch: trunk, size: 2419)
2001-08-20
00:33
[66172842] part of check-in [2e6aff98] Restore btree to the main line. (CVS 237) (check-in: [2e6aff98] user: drh branch: trunk, size: 2375)
2001-07-02
17:51
[5fb5799b] part of check-in [a84fb078] BTree and pager are working pretty well now. (CVS 234) (check-in: [a84fb078] user: drh branch: trunk, size: 2323)
2001-06-30
21:53
[987d8065] part of check-in [42486880] Implemented the sqliteBtreeSanityCheck() test function. (CVS 232) (check-in: [42486880] user: drh branch: trunk, size: 2309)
2001-06-28
01:54
[d327e9ad] part of check-in [9cfeeb58] Got a lot of BTree tests working. Still lots more needed. (CVS 230) (check-in: [9cfeeb58] user: drh branch: trunk, size: 2260)
2001-06-25
02:11
[2ce445f0] part of check-in [6b9b298b] More tests and bug fixes in btree.c (CVS 229) (check-in: [6b9b298b] user: drh branch: trunk, size: 2227)
2001-06-22
19:15
[40ae2c9b] part of check-in [b31c4902] The BTree code compiles and links now, but it does not work yet. (CVS 226) (check-in: [b31c4902] user: drh branch: trunk, size: 2227)
2001-06-08
00:21
[f9adc22e] part of check-in [7108b699] incremental update (CVS 223) (check-in: [7108b699] user: drh branch: trunk, size: 2113)
2001-06-02
02:40
[4a50996c] part of check-in [d07e0e80] continued work on btree (CVS 222) (check-in: [d07e0e80] user: drh branch: trunk, size: 1963)
2001-05-24
21:06
[a0ef9051] part of check-in [18500cdc] Continued work on btree (CVS 219) (check-in: [18500cdc] user: drh branch: trunk, size: 1870)
2001-04-17
20:09
[f21c240d] part of check-in [bdb1c425] Begin adding BTree code (CVS 213) (check-in: [bdb1c425] user: drh branch: trunk, size: 2097) Added