SQLite
File History
Not logged in

History of src/vdbe.c

2017-11-06
20:02
Merge latest trunk changes into this branch. file: [1834769e] check-in: [7f217eda] user: dan branch: begin-concurrent, size: 244780)
10:04
Allow "BEGIN CONCURRENT" transactions to modify the temp schema. file: [8b7313c7] check-in: [0fb6d91c] user: dan branch: begin-concurrent, size: 244866)
2017-10-24
19:12
Merge all enhancements and fixes from the 3.21.0 release. file: [bdf4118f] check-in: [13be3a44] user: drh branch: apple-osx, size: 243362)
2017-10-23
16:03
Avoid passing a NULL value as the second argument to memcpy(). file: [3393b508] check-in: [58e5bb49] user: dan branch: branch-3.21, size: 243319)
2017-10-04
20:57
Add experimental mode that uses two wal files. Activated using "PRAGMA journal_mode = wal2". file: [c3c3fe95] check-in: [e2fc5c81] user: dan branch: wal2, size: 243804)
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: [1c0a8c8e] check-in: [8d2a1cca] user: drh branch: est_count_pragma, size: 244118)
10:49
Merge latest trunk changes into this branch. file: [96467c73] check-in: [307b802e] user: dan branch: begin-concurrent, size: 244838)
2017-09-21
00:49
Fix the rendering of the P4_INTARRAY argument to the OP_IntegrityCk opcode in the output of EXPLAIN. file: [176c0897] check-in: [adc12c83] user: drh branch: trunk, size: 243405)
2017-09-20
10:47
Improved resolution of large integer values in "CAST(x AS NUMERIC)". file: [2664b89e] check-in: [7f2bd4ff] user: drh branch: trunk, size: 243401)
2017-09-13
00:13
PRAGMA integrity_check returns SQLITE_OK even if it encounters corruption while scanning indexes. file: [0a0ef7f0] check-in: [81f62e99] user: drh branch: improved-integrity-check, size: 243409)
2017-09-09
06:10
Merge trunk enhancements file: [c0ec6e73] check-in: [6a0b9d9d] user: drh branch: apple-osx, size: 243266)
2017-08-28
17:19
Merge recent enhancements from trunk. file: [5d1f7944] check-in: [d53108e7] user: drh branch: begin-concurrent, size: 244656)
2017-08-18
14:34
Combine the OP_CreateTable and OP_CreateIndex opcodes of the bytecode engine into a single OP_CreateBtree opcode. This simplifies the implementation and makes the bytecode programs clearer. file: [82fc4553] check-in: [eb1202b5] user: drh branch: trunk, size: 243223)
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: [711a1b2c] check-in: [f078deb2] user: drh branch: trunk, size: 243772)
17:06
Update this branch with the latest changes from trunk. file: [0db0d75f] check-in: [380a7b7a] user: dan branch: server-process-edition, size: 244178)
14:16
Remove an unnecessary local variable from OP_Column, for a small size reduction and performance increase. file: [c8e7bec8] check-in: [39543903] user: drh branch: trunk, size: 243349)
11:04
Performance improvement in the OP_Column opcode. file: [8530c38f] check-in: [dc98a92f] user: drh branch: trunk, size: 243394)
2017-08-15
14:14
Small size and performance improvement in the OP_Column opcode. file: [ebfc41ca] check-in: [2cf3f3de] user: drh branch: trunk, size: 242746)
2017-08-11
19:16
Merge the latest enhancements from trunk. file: [1fdd90ce] check-in: [47e71695] user: drh branch: begin-concurrent, size: 244318)
2017-08-07
14:15
Update this branch with latest trunk changes. file: [d410ca56] check-in: [17bc7ded] user: dan branch: server-process-edition, size: 243714)
2017-08-03
00:29
Optimization to the comparison opcodes in the byte-code engine. file: [821b3edd] check-in: [654935c7] user: drh branch: trunk, size: 242885)
2017-08-02
22:43
In the KeyInfo object, refactor the nField and nXField elements into nKeyField and nAllField, which are more useful and run a little faster. file: [54dfa970] check-in: [aea5990e] user: drh branch: trunk, size: 242304)
2017-08-01
19:53
Split the OP_Last opcode into OP_Last and OP_SeekEnd. Use OP_SeekEnd to position a cursor prior to appending. Ticket [cb91bf4290c211d]. file: [5752a157] check-in: [3e02474c] user: drh branch: trunk, size: 242316)
13:54
Merge recent enhancements from trunk. file: [6dd23d2c] check-in: [aafe1fec] user: drh branch: begin-concurrent, size: 243737)
2017-07-29
17:10
Merge latest trunk changes with this branch. file: [708d45a5] check-in: [b42c8779] user: dan branch: server-process-edition, size: 243133)
2017-07-27
03:48
Add a destructor argument to sqlite3_bind_pointer() and sqlite3_result_pointer(). file: [d8437d81] check-in: [3d9e841f] user: drh branch: pointer-with-destructor, size: 242418)
2017-07-26
19:59
Add the new sqlite3.mDbFlags field. Factor out bits of sqlite3.flags that do not interact with PRAGMA statements into sqlite3.mDbFlags. file: [ac9cc205] check-in: [3808a00f] user: drh branch: trunk, size: 242304)
2017-07-24
19:43
Update this branch with latest changes from trunk. file: [69eafa03] check-in: [d0719ad7] user: dan branch: server-process-edition, size: 243140)
2017-07-20
17:47
Merge all the latest trunk enhancements. file: [1fd60b07] check-in: [213c61cb] user: drh branch: begin-concurrent, size: 243744)
16:55
Experimental API sqlite3_stmt_refresh() to force a prepared statement to recompile if it needs to due to a schema change or other factor. file: [53f3f4d1] check-in: [10556ee4] user: drh branch: sqlite3_stmt_refresh, size: 242396)
2017-07-19
19:48
Allow indexes to be created on date/time functions as long as the 'now' date and the 'localtime' and 'utc' modifiers are not used. file: [1e541ec7] check-in: [0a5e1c04] user: drh branch: index-on-date-func, size: 242311)
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: [51a564dd] check-in: [dcc40797] user: dan branch: server-process-edition, size: 243026)
2017-07-08
20:46
Support read-only MVCC transactions in server-mode. Started using "BEGIN READONLY". file: [e4493b09] check-in: [5a043aa8] user: dan branch: server-process-edition, size: 242296)
2017-07-07
22:58
Merge in all the latest trunk enhancements. file: [2a79b738] check-in: [7f48f6ab] user: drh branch: apple-osx, size: 242240)
2017-07-05
16:20
Make use of covering indexes in the OR optimization. file: [1e2abdae] check-in: [fcbd6abd] user: drh branch: branch-3.8.9, size: 216346)
2017-06-29
12:49
Add the SQLITE_STMTSTATUS_REPREPARE and SQLITE_STMTSTATUS_RUN options to sqlite3_stmt_status(). Use this for two new columns in the stmts virtual table. file: [adc8a378] check-in: [b0b0c8f8] user: drh branch: stmts-vtab, size: 242197)
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: [50f4f47b] check-in: [7076e828] user: drh branch: enable-QPSG, size: 242157)
2017-06-23
21:05
Merge all recent trunk enhancements into the apple-osx branch. file: [992ca8b1] check-in: [53b14a38] user: drh branch: apple-osx, size: 242203)
2017-06-08
16:10
Merge 3.19.3 changes with this branch. file: [aa018a14] check-in: [e2d38d51] user: dan branch: begin-concurrent, size: 243261)
15:54
Merge changes for version 3.19.0 with this branch. file: [3cffe073] check-in: [0f59bb94] user: dan branch: begin-concurrent, size: 243227)
2017-06-02
15:44
Change the name of the OP_Seek opcode into OP_DeferredSeek for better clarity of function. No functional code changes. file: [6783778d] check-in: [ab33d299] user: drh branch: trunk, size: 242160)
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: [cce462ad] check-in: [e972a386] user: drh branch: trunk, size: 242024)
2017-05-25
17:36
Merge all fixes from the 3.19.2 release. file: [b10b07d8] check-in: [12964240] user: drh branch: apple-osx, size: 241871)
2017-05-23
01:21
When flattening a query, make sure iTable attribute of TK_IF_NULL_ROW operators (that result from a prior flattening of a LEFT JOIN) are updated correctly. Fix for ticket [cad1ab4cb7b0fc344]. file: [70f1c27d] check-in: [92c17850] user: drh branch: trunk, size: 241828)
2017-05-22
19:24
Pull in all changes from the 3.19.0 release. file: [60cf5013] check-in: [bbd2d0e1] user: drh branch: apple-osx, size: 241837)
2017-05-19
22:51
Prevent a possible NULL pointer dereference in the OP_Found opcode that can follow an OOM error. Problem found by OSS-Fuzz. file: [b24b9806] check-in: [c2de178f] user: drh branch: trunk, size: 241794)
2017-05-15
17:34
Merge the latest changes from trunk. file: [bf4d2b29] check-in: [14ea8400] user: drh branch: begin-concurrent, size: 243153)
2017-05-11
18:49
Merge recent enhancements from trunk. file: [68581144] check-in: [b55c0f14] user: drh branch: apple-osx, size: 241763)
2017-05-02
19:45
Merge the latest enhancements from trunk. file: [356042d1] check-in: [a7dcf6a7] user: drh branch: schemalint, size: 241666)
17:54
Reuse the same materialization of a view when that view appears in a query more than once, such as in a self-join. file: [9bac2bc2] check-in: [9e35c89d] user: drh branch: trunk, size: 241720)
2017-05-01
15:15
Initial implementation of an optimization that attempts to reuse the same materialization of a view on a self-join of the view. file: [7c37c36f] check-in: [478c34b9] user: drh branch: materialized-view-reuse, size: 241519)
14:25
Update this branch with latest trunk changes. file: [a4e1810c] check-in: [11f4761c] user: dan branch: schemalint, size: 240526)
2017-04-29
18:02
Improvements to opcode documentation in the bytecode engine. No changes to code. file: [349eb678] check-in: [e54c9f8d] user: drh branch: trunk, size: 240580)
2017-04-24
16:14
Bring in all the latest enhancements from trunk. file: [b96842a8] check-in: [031feebc] user: drh branch: apple-osx, size: 240658)
2017-04-20
17:35
Merge latest trunk changes into this branch. file: [857fd5fe] check-in: [b1533bc4] user: dan branch: schemalint, size: 240561)
2017-04-18
11:20
Improved optimizations of views as the right operand of a LEFT JOIN. file: [1eba07ff] check-in: [41c27bc0] user: drh branch: trunk, size: 240615)
2017-04-17
23:23
Defer checking for null in the comparison operators, since that is an uncommon case. file: [11604e6c] check-in: [56845256] user: drh branch: trunk, size: 240098)
20:50
Do not allow a Mem object to be both NULL and some other type at the same time. file: [51c6e166] check-in: [e698db19] user: drh branch: trunk, size: 240087)
17:03
Add support for analyzing trigger programs to the sqlite3_expert code. file: [314f0a70] check-in: [159e8022] user: dan branch: schemalint, size: 239983)
2017-04-14
19:03
Add the TK_IF_NULL_ROW opcode to deal with non-NULL result columns in the result set of a view or subquery on the RHS of a LEFT JOIN that gets flattened. file: [ef0fd44a] check-in: [3a5860d8] user: drh branch: left-join-view, size: 240554)
2017-04-08
18:24
Merge all recent changes from trunk. file: [94a909c5] check-in: [c23ef5e2] user: drh branch: apple-osx, size: 240080)
14:11
Expand on the comment above OP_Destroy to explain why it throws an error if there are any active reader VMs. file: [808fda3d] check-in: [b9a8c2b9] user: dan branch: trunk, size: 240037)
00:25
Merge the latest trunk changes. file: [ca1e58fc] check-in: [dd16439e] user: drh branch: apple-osx, size: 239680)
2017-04-05
12:39
Split off sqlite3DbFreeNN() from sqlite3DbFree() and use it in cases where we know that the argument to be freed is never NULL. file: [b070c9c8] check-in: [ad90e8bb] user: drh branch: trunk, size: 239637)
2017-04-03
13:17
Fix typos in the documentation for OP_Column. file: [1be564c6] check-in: [777b43e6] user: drh branch: trunk, size: 239633)
2017-04-01
20:44
Remove an unnecessary setting of the Mem.enc field for the output of the OP_Record opcode, for a performance improvement and size reduction. file: [d275c79e] check-in: [e6e36b28] user: drh branch: trunk, size: 239633)
20:14
Minor performance enhancements to the OP_Affinity opcode. file: [73ddbad8] check-in: [c45cd3b9] user: drh branch: trunk, size: 239710)
2017-03-30
20:35
Merge changes from the 3.18.0 release. file: [839999e0] check-in: [785c37d9] user: drh branch: begin-concurrent, size: 241185)
20:26
Merge all changes from the 3.18.0 release. file: [316eae26] check-in: [ed28f15e] user: drh branch: apple-osx, size: 239795)
2017-03-24
18:38
Previous check-in was not correct. This is a better fix for the OP_Once problem of ticket [06796225f59c057cd120f1]. file: [f1acf574] check-in: [8194dd28] user: drh branch: trunk, size: 239752)
17:59
Fix the OP_Once opcode so that it works correctly for recursive triggers. Ticket [06796225f59c057cd120f1]. file: [e59bd341] check-in: [25560145] user: drh branch: trunk, size: 239703)
15:09
Merge all recent enhancements from trunk. file: [9a6b75f8] check-in: [fd5676fe] user: drh branch: begin-concurrent, size: 240217)
2017-03-20
15:29
Ensure that a "--" prefix is added to sqlite3_trace_v2() output for nested SQL statements. file: [89a12451] check-in: [673a7b67] user: drh branch: trunk, size: 238784)
2017-03-17
13:59
Fix a buffer overread in debugging routine sqlite3VdbeMemPrettyPrint(). Problem discovered by OSS-Fuzz. file: [3b422147] check-in: [f336fba7] user: dan branch: trunk, size: 238607)
2017-03-16
13:30
Fix an uninitialized variable reference in the text generator for "PRAGMA vdbe_trace=ON" output. Problem discovered by OSS-Fuzz. file: [0e6e5e01] check-in: [e3d48716] user: drh branch: trunk, size: 238375)
2017-03-06
20:00
Merge all pending 3.18 enhancements from trunk. file: [b6dfec95] check-in: [1650c3f4] user: drh branch: apple-osx, size: 238553)
2017-02-23
00:58
Do a single OP_Expire at the very end of "PRAGMA optimize", and omit the OP_Expire on ANALYZE commands invoked by the pragma. file: [f520378e] check-in: [188300a3] user: drh branch: auto-analyze, size: 238510)
2017-02-22
19:49
Merge integrity_check and other improvements from trunk. file: [37e95d52] check-in: [fe073905] user: drh branch: auto-analyze, size: 238474)
18:04
Cleanup and simplification of the output row count limit control of PRAGMA integrity_check. file: [83f387d9] check-in: [5af7d72e] user: drh branch: integrity-check-improvements, size: 237592)
2017-02-21
15:27
Very small enhancement to dispatch speed for SQL functions. file: [16542e32] check-in: [3c3228ed] user: drh branch: trunk, size: 237572)
14:04
The VDBE cycle counts for the sqlite3_progress_handler() callback are now cumulative. Leftovers from the previous statement are applied to the next statement. file: [aab9f3ca] check-in: [7a62fc6a] user: drh branch: cumulative-progress-count, size: 237748)
2017-02-18
20:05
Add an optimization to OP_Column to speed up sequential OP_Column instructions that read earlier fields from the same cursor. Attempt to reorder OP_Column opcodes so as to take advantage of this. file: [33742908] check-in: [c1adf959] user: dan branch: sort-column-opcodes, size: 238016)
15:58
Add the OP_SqlExec opcode and use it to implement "PRAGMA analyze_as_needed", invoking ANALYZE subcommands as necessary. This simplifies the implementation. file: [02f9db52] check-in: [d386015f] user: drh branch: auto-analyze, size: 238496)
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: [ac8538b9] check-in: [bfbdd074] user: drh branch: auto-analyze, size: 238281)
2017-02-16
14:02
Merge recent enhancements from trunk. file: [35a632d4] check-in: [325ccfa9] user: drh branch: est_count_pragma, size: 238327)
2017-02-13
13:35
Change all legacy instances of "#if SQLITE_DEBUG" to "#ifdef SQLITE_DEBUG" for consistency. file: [16f37864] check-in: [670f10b2] user: drh branch: trunk, size: 237614)
2017-02-04
15:29
Merge recent trunk enhancements. file: [2830f9c2] check-in: [6c3f0902] user: drh branch: apple-osx, size: 237654)
2017-02-01
23:03
Backout the change in [02f6293f27] as it causes MSVC to complain. file: [e7b1e860] check-in: [aaae74d0] user: mistachkin branch: trunk, size: 237611)
14:10
Changes so that the pre-update hook and the sessions module work with WITHOUT ROWID tables. file: [ec059d33] check-in: [964bdc27] user: dan branch: trunk, size: 237611)
2017-01-31
16:49
Remove a C99-style comment. Fixes to the kvtest-speed.sh script. file: [d3765f4d] check-in: [91eb6b62] user: drh branch: micro-optimizations, size: 237513)
16:43
Remove another unnecessary local variable initialization from sqlite3VdbeExec() file: [c0e9bd3f] check-in: [2361b03b] user: drh branch: micro-optimizations, size: 237536)
16:34
Remove an unnecessary initialization of the pOp variable in sqlite3VdbeExec(). file: [7c53c4b6] check-in: [02f6293f] user: drh branch: micro-optimizations, size: 237534)
15:27
Fix a typo in a comment. file: [a5bcdb61] check-in: [bd22bf9c] user: drh branch: trunk, size: 237534)
2017-01-30
19:44
Experimental change to invoke the preupdate hook when WITHOUT ROWID tables are written. file: [57f41c8c] check-in: [856f8604] user: dan branch: preupdate-without-rowid, size: 237631)
2017-01-27
16:39
Merge all recent trunk enhancements into the apple-osx branch. file: [761edd8f] check-in: [0e14fe1b] user: drh branch: apple-osx, size: 237576)
16:24
Merge all recent enhancements from trunk. file: [bf7274a1] check-in: [fe86ff54] user: drh branch: est_count_pragma, size: 238246)
2017-01-26
18:00
Improvement to the OP_Permutation opcode to prevent it from using CPU cycles for initialization in prepared statements that do not use that opcode. file: [c27cc34b] check-in: [b4a98f65] user: drh branch: trunk, size: 237533)
17:26
Remove the obsolete lastRowid cache from the sqlite3VdbeExec() for a size reduction and performance improvement. file: [96f16393] check-in: [b4803184] user: drh branch: trunk, size: 237302)
2017-01-25
20:55
Trim NULL values off the end of records when the SQLITE_ENABLE_NULL_TRIM compile-time option is used. Increase the size of the P5 operand to 16 bits. Fix a problem with short records in the sessions extension. file: [1fa3e8f3] check-in: [4801bd59] user: drh branch: trunk, size: 237562)
14:58
Experimental enhancement to automatically trim NULL values from the end of records, for a reduced disk footprint. This change also involves increasing the P5 operand from 8 to 16 bits. file: [b1f24481] check-in: [118ded40] user: drh branch: trim-nulls, size: 237524)
2017-01-21
16:21
Fix problems in the previous commit. file: [132f5520] check-in: [74ad80eb] user: dan branch: trigger-trace, size: 238131)
15:58
Add extra (somewhat inefficient) trace callbacks for triggers if SQLITE_TRACE_TRIGGER is defined. file: [a2e8ea84] check-in: [ffda1d1e] user: dan branch: trigger-trace, size: 238308)
2017-01-10
20:04
Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. file: [c7add597] check-in: [46db23cc] user: dan branch: onepass-update, size: 237052)
2017-01-09
20:57
Merge latest changes from trunk, and also move the perf-counter into the inner loop of sqlite3BtreeMovetoUnpacked(). file: [efd0792e] check-in: [ff9eab95] user: drh branch: vdbe-aux-perf, size: 237078)
19:55
Remove a redundant assignment statement. file: [4c239b73] check-in: [a5fa0965] user: drh branch: trunk, size: 237034)
19:27
Performance optimization and size reduction in the OP_Variable opcode. file: [51f0fb39] check-in: [237aa974] user: drh branch: trunk, size: 237063)
18:22
Fix typo in a comment. No changes to code. file: [5c7338cc] check-in: [d38fd229] user: mistachkin branch: trunk, size: 237071)
15:44
Modify the OP_RowData opcode so that when P3!=0 it is allowed to hold an ephemeral copy of the content. This avoids unnecessary memcpy() operations in the xfer-optimization and VACUUM. file: [b7f39cec] check-in: [6e106acd] user: drh branch: trunk, size: 237069)
06:33
Upgrade this branch to 3.16 plus the various fixes that appeared after its release. file: [0254dc5b] check-in: [d0e212d0] user: dan branch: begin-concurrent, size: 237957)
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: [2d97b195] check-in: [746b1836] user: drh branch: vdbe-aux-perf, size: 236568)
2017-01-03
20:20
Merge changes from the 3.16.1 release file: [5870d9f6] check-in: [dcbec226] user: drh branch: apple-osx, size: 236567)
2016-12-30
00:09
Encode a 64-bit integer literal in date.c as a constant expression so that it works on older compilers. Also fix a harmless compiler warning in vdbe.c. file: [88bd6c32] check-in: [f57952ba] user: drh branch: trunk, size: 236524)
2016-12-27
12:35
Disable new test modules nockpt.test and interrupt2.test for incompatible permutations. Add a CORRUPT_DB term to an assert() in vdbe.c. file: [a35ad517] check-in: [a54e619e] user: drh branch: trunk, size: 236538)
2016-12-23
16:05
Fill in missing opcode documentation entries for OP_SorterNext and OP_SorterSort. file: [73ded9a6] check-in: [2940661b] user: drh branch: trunk, size: 236510)
03:59
Use the VList object to replace Parse.azVar for tracking the mapping between SQL parameter names and parameter numbers. There is a performance improvement, though there are still a few hiccups in the current code. file: [54b12d95] check-in: [68ecafa1] user: drh branch: VList, size: 235902)
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: [0106e0d4] check-in: [f7ab01f2] user: drh branch: trunk, size: 235881)
2016-12-18
17:42
Change the OP_IfNotZero opcode so that it decrements register P1 by 1 rather than the value in P3, and so that it only decrements if originally positive. This avoids decrementing the smallest 64-bit signed integer. file: [4537452b] check-in: [165c0446] user: drh branch: trunk, size: 235968)
2016-12-16
21:29
Merge recent enhancements from trunk, and especially the pragma-as-vtab change. file: [6521a150] check-in: [4b1e7804] user: drh branch: apple-osx, size: 235949)
15:57
Merge recent trunk enhancements. file: [accfa787] check-in: [74a0ca1f] user: drh branch: est_count_pragma, size: 236619)
01:00
All temp.sqlite_master to be used as an alias for sqlite_temp_master. file: [64c34268] check-in: [8d646905] user: drh branch: trunk, size: 235906)
2016-12-12
16:15
Merge all the latest performance enhancements from trunk. file: [3e4ca5a3] check-in: [a24f805b] user: drh branch: apple-osx, size: 235955)
12:58
Merge recent enhancements from trunk. file: [d631e04a] check-in: [dc006e08] user: drh branch: est_count_pragma, size: 236625)
2016-12-10
12:58
Reorder the fields in the VdbeCursor object so that those that need to be bulk zeroed on allocation are grouped at the beginning, and the memset() only runs over those fields that really need it. file: [2d90c42f] check-in: [8165f88b] user: drh branch: trunk, size: 235912)
04:06
Avoid signed integer overflow when dealing with a LIMIT and OFFSET whose sum exceeds the maximum integer value. file: [74a0b006] check-in: [c9bdf7ad] user: drh branch: trunk, size: 235912)
2016-12-07
15:49
Rename the SQLITE_OMIT_BUILTIN_TEST compile-time option to SQLITE_UNTESTABLE. file: [3986f226] check-in: [f3608187] user: drh branch: trunk, size: 235349)
2016-11-30
16:39
Merge all the latest changes from trunk. file: [ae5d86ad] check-in: [7ca58a07] user: drh branch: est_count_pragma, size: 236069)
05:08
Change the OP_DecrJumpZero opcode back to its old behavior of always decrementing, except top the decrementing when it reaches the largest negative number. file: [336a3e56] check-in: [9d0d8c2e] user: drh branch: trunk, size: 235356)
01:05
Prevent a warning about integer overflow when using a very large negative LIMIT. file: [1802a109] check-in: [96106d56] user: drh branch: trunk, size: 235382)
2016-11-26
20:44
Merge all recent trunk changes, and especially the new sqlite3_snapshot_recover() interface. file: [87cfd557] check-in: [41a3af54] user: drh branch: apple-osx, size: 235378)
2016-11-25
19:32
Remove the OP_RowKey opcode. Use OP_RowData in its place. file: [4a3ff567] check-in: [6ac7b07a] user: drh branch: trunk, size: 235335)
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: [e8802d83] check-in: [49ebc219] user: drh branch: trunk, size: 235732)
17:03
Small performance increase and size reduction in the OP_Column opcode. file: [54a1d3e1] check-in: [a9498407] user: drh branch: trunk, size: 235916)
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: [e76ee960] check-in: [66347385] user: drh branch: trunk, size: 235857)
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: [d9e17f98] check-in: [9a64a4f2] user: drh branch: split-moveto, size: 235348)
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: [f1a8e5bf] check-in: [345b46be] user: drh branch: unpacked-IdxInsert, size: 235372)
01:19
Fix a typo on the OP_IdxInsert documentation. No code changes. file: [e6bf36b1] check-in: [e4acd982] user: drh branch: unpacked-IdxInsert, size: 235466)
00:10
Enhance the OP_IdxInsert opcode to optionally accept unpacked key material. file: [8044db96] check-in: [89d958ab] user: drh branch: unpacked-IdxInsert, size: 235465)
2016-11-08
19:22
Avoid superfluous cursor seeks in "INSERT OR REPLACE" statements. file: [20307c93] check-in: [bec5b6d4] user: dan branch: trunk, size: 235114)
2016-11-04
19:09
Merge recent trunk changes, including all the fixes that appeared in version 3.15.1. file: [682df010] check-in: [0e5ffd91] user: drh branch: apple-osx, size: 235113)
2016-11-02
13:18
Fix a requirement mark. No changes to code. file: [2edc4fa8] check-in: [d18f61b7] user: drh branch: trunk, size: 235070)
2016-10-21
17:25
Add the btree_sample(INDEX,LOCATION,LIMIT) pragma. file: [55ea5eb9] check-in: [affc2ef5] user: drh branch: est_count_pragma, size: 235783)
2016-10-20
22:02
Experimental est_count pragma. file: [c07f9a77] check-in: [340822af] user: drh branch: est_count_pragma, size: 235705)
2016-10-18
16:36
Minor simplification of the comparison opcodes. file: [c93ae647] check-in: [56474ebc] user: drh branch: trunk, size: 235070)
2016-10-17
23:44
Fix SQLITE_DBCONFIG_REQUIRE_TXN so that it allows BEGIN IMMEDAITE and BEGIN EXCLUSIVE to run outside of a transaction. file: [4cddfd42] check-in: [29997f79] user: drh branch: require-write-txn, size: 231542)
15:28
Changes to support interrupting a checkpoint using sqlite3_interrupt(). file: [6aa65e22] check-in: [c88d36e2] user: dan branch: trunk, size: 235094)
2016-10-15
18:37
Add documentation for the OP_SorterInsert opcode, formerly omitted by mistake. No changes to code. file: [ad4b4df4] check-in: [16d88a90] user: drh branch: trunk, size: 235090)
2016-10-04
00:47
Do not bother to initialize unused fields in the BtreePayload object. file: [f43aa96f] check-in: [b10d0f93] user: drh branch: trunk, size: 234864)
2016-09-30
17:46
Avoid unnecessary Mem initializations when generating a new sqlite3_stmt object. file: [51e754ee] check-in: [47ae1cda] user: drh branch: trunk, size: 234915)
2016-09-28
16:15
Merge recent enhancements from trunk. file: [5860e52c] check-in: [06014163] user: drh branch: apple-osx, size: 234926)
16:05
Two more typo fixes in comments. file: [67813297] check-in: [40c0fb0a] user: drh branch: trunk, size: 234883)
16:04
Fix typos in comments. No code changes. file: [8b2e9f88] check-in: [5bbd071d] user: drh branch: trunk, size: 234886)
2016-09-27
00:09
Update requirements marks due to improvements in the wording of documentation. No changes to code. file: [8ceb2069] check-in: [bf903b2e] user: drh branch: trunk, size: 234885)
2016-09-20
17:49
Fix harmless compiler warning. file: [0f879945] check-in: [72429063] user: mistachkin branch: trunk, size: 234993)
01:19
Avoid unnecessary calls to ExpandBlob() for smaller and faster code. file: [373b186a] check-in: [5e196fd1] user: drh branch: trunk, size: 234993)
2016-09-19
23:39
Very small optimization in the bytecode engine. file: [c21ff59f] check-in: [46002511] user: drh branch: trunk, size: 234991)
2016-09-18
16:08
Revise the implementation of OP_Once so that it is smaller, faster, and uses less memory. This also fixes an obscure bug introduced 3 days ago by check-in [5990a1bdb4a073]. file: [cdac9f8c] check-in: [6bf5ba10] user: drh branch: trunk, size: 234981)
2016-09-17
17:39
Improved description of the ElseNotEq opcode in comments. No changes to code. file: [bd7e890b] check-in: [e011435e] user: drh branch: trunk, size: 235048)
2016-09-16
17:50
Merge recent changes from trunk. file: [108964db] check-in: [e3d9efa2] user: drh branch: apple-osx, size: 235125)
2016-09-15
14:54
Remove no-op code (adding an assert() to prove that the code was no-op) in the text affinity logic of the bytecode engine comparison operators. file: [31a17090] check-in: [b9f5bdbf] user: drh branch: trunk, size: 235082)
2016-09-10
19:51
Changes to give a warning-free build with SQLITE_OMIT_INCRBLOB and SQLITE_OMIT_SHARED_CACHE. file: [bac0b2ed] check-in: [711c5917] user: drh branch: trunk, size: 235152)
2016-09-09
19:33
Performance improvements to the comparison operators in the bytecode engine. file: [2087dfd6] check-in: [37803b19] user: drh branch: trunk, size: 235134)
2016-09-07
19:47
Fix the extra comments (added with -DSQLITE_ENABLE_EXPLAIN_COMMENTS) so that the sense of <, <=, >, and >= tests is correct and so that the SQLITE_STOREP2 version is shown correctly. Cherrypick of [4d43c4698eef4e3d]. file: [326034bf] check-in: [c844f3da] user: mistachkin branch: branch-3.14, size: 232295)
18:20
Merge recent enhancements from trunk. file: [4581775c] check-in: [00759af0] user: drh branch: apple-osx, size: 232344)
2016-09-05
15:02
Simplifications to the SQLITE_KEEPNULL flag on VDBE comparison operators. file: [3148d5d4] check-in: [96269f01] user: drh branch: rowvalue, size: 234813)
2016-09-03
01:46
Performance optimizations. file: [d8fb59a3] check-in: [f1d06c49] user: drh branch: rowvalue, size: 234242)
2016-08-27
14:05
Fix the extra comments (added with -DSQLITE_ENABLE_EXPLAIN_COMMENTS) so that the sense of <, <=, >, and >= tests is correct and so that the SQLITE_STOREP2 version is shown correctly. These changes are already in the rowvalue branch but are added here since they are technically unrelated to rowvalue. file: [751dd0a1] check-in: [4d43c469] user: drh branch: trunk, size: 232301)
01:41
Fix the "Synopsis" on the OP_Lt, OP_Le, OP_Gt, and OP_Ge opcodes, which has been backwards for time out of mind. file: [4be39068] check-in: [f51248dc] user: drh branch: rowvalue, size: 234144)
2016-08-24
21:24
Improved extended comments of comparison operators when the SQLITE_STOREP2 flags is set on P5. No changes to non-debug code. file: [68d56c11] check-in: [bbc1b016] user: drh branch: rowvalue, size: 234144)
2016-08-19
15:41
Merge recent enhancements from trunk. file: [766d363e] check-in: [b1787236] user: drh branch: rowvalue, size: 234215)
14:20
Add the capability to VACUUM an attached database by specifying the schema name as an argument to the VACUUM command. Since version 2.0, VACUUM has accepted an argument which was silently ignored. Now it has meaning. file: [15376952] check-in: [29d63059] user: drh branch: vacuum-attached-db, size: 232349)
2016-08-18
15:21
Merge recent enhancements from trunk. file: [9a1c5a2d] check-in: [4768a106] user: drh branch: rowvalue, size: 234221)
14:33
Rename the Db.zName field to Db.zDbSName to make it more descriptive and to distinguish it from all of the other "zName" variables scattered throughout the code. file: [6242a21f] check-in: [92a22f01] user: drh branch: zDbSName, size: 232355)
2016-08-13
14:17
Remove an unnecessary stack variable from sqlite3VdbeExec(). file: [1b66646c] check-in: [c54bd9c8] user: drh branch: vector-compare, size: 234209)
13:03
Improvements to commits. No code changes. file: [3961408d] check-in: [18f5a3be] user: drh branch: vector-compare, size: 234266)
10:02
Attempt to simplify the logic and generated code for vector comparisons. Basic comparison operators are working, but there are many indexing test failures still to be worked through. file: [9816bc4f] check-in: [dfc028cf] user: drh branch: vector-compare, size: 234153)
2016-08-12
16:21
Have wal file checkpoints exit early if the sqlite3_interrupt() API function is called. file: [94c114b3] check-in: [8a5f41c7] user: dan branch: interruptible-checkpoint, size: 232347)
2016-08-11
19:12
Merge version 3.14 plus some subsequent patches (including the page-cache performance patch) from trunk. file: [75556e9c] check-in: [d9f8918c] user: drh branch: begin-concurrent, size: 233776)
2016-07-30
21:02
Fix problems with vector == comparisons and NULL values. file: [9f151292] check-in: [059d0d05] user: dan branch: rowvalue, size: 234683)
2016-07-26
18:15
Merge latest trunk changes into this branch. file: [44d75e35] check-in: [d4f3d52c] user: dan branch: rowvalue, size: 233520)
2016-07-25
17:31
Merge 3.14 alpha changes from trunk. file: [52600257] check-in: [e98cefb1] user: drh branch: apple-osx, size: 232386)
02:42
Evidence marks and code reformatting for SQLITE_TRACE_STMT operation. file: [ea260b61] check-in: [e1e02238] user: drh branch: trunk, size: 232343)
02:31
Change SQLITE_TRACE_STMT to return unexpanded SQL text in the X argument. Add documentation on how and when to use sqlite3_expanded_sql(P) to compute the expanded text for legacy sqlite3_trace() compatibility. file: [7718d724] check-in: [163e1522] user: drh branch: trunk, size: 232045)
2016-07-14
01:09
Add the sqlite3_expanded_sql() interface. Refinements to the sqlite3_trace_v2() interface to make it more useful. file: [7b5570f7] check-in: [99ee7ee5] user: drh branch: sqlite3_trace_v2, size: 231815)
2016-07-13
22:55
First cut at implementing the new sqlite3_trace_v2() interface. file: [c6bb62aa] check-in: [cb0062fe] user: drh branch: sqlite3_trace_v2, size: 232024)
2016-07-09
20:23
Add some support for using row value constructors in certain parts of SQL expressions. There are many bugs on this branch. file: [680c118a] check-in: [b2204215] user: dan branch: rowvalue, size: 232616)
2016-06-25
11:43
Fix the handling of OP_Eq opcodes that compare a register against itself and that require an affinity change. file: [22b46c3b] check-in: [507014e4] user: drh branch: trunk, size: 231439)
2016-06-15
10:21
Merge changes from trunk. file: [ed526904] check-in: [0f707d15] user: drh branch: apple-osx, size: 231420)
2016-06-04
20:58
Fix a C99-ism and a compiler warning for MSVC. file: [e23a15d3] check-in: [aa53a36e] user: drh branch: btree-refactor, size: 231377)
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: [f6d37b36] check-in: [bef35e18] user: drh branch: btree-refactor, size: 231372)
2016-05-26
20:56
Add a new OP_SeekRowid opcode, that combines the functions of OP_MustBeInt and OP_NotExists. This makes the code slightly smaller and faster. file: [45e4da73] check-in: [ffe80a1b] user: drh branch: trunk, size: 232659)
2016-05-23
02:57
Merge changes from trunk. file: [b7ab0953] check-in: [815cc2bb] user: drh branch: apple-osx, size: 231126)
2016-05-21
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: [f2706d55] check-in: [55f348cd] user: drh branch: trunk, size: 231083)
2016-05-20
21:40
Another optimization on the OP_Column opcode. file: [975ac1d3] check-in: [1765672c] user: drh branch: trunk, size: 231133)
19:51
Slight performance improvement in the OP_Column opcode. file: [9d0872c7] check-in: [5c157474] user: drh branch: trunk, size: 231135)
2016-05-19
17:51
Optimization marks in vdbe.c. No logic changes. file: [d71b935d] check-in: [cf273741] user: drh branch: trunk, size: 231095)
16:58
Performance improvement in the OP_Column opcode. file: [ee42e2b8] check-in: [4737cadc] user: drh branch: trunk, size: 231023)
11:12
Small size reduction and performance improvement in the OP_Column opcode. file: [d9701a72] check-in: [0d773061] user: drh branch: trunk, size: 230976)
2016-05-02
15:00
Merge enhancements and bug fixes from trunk. file: [c375dd8c] check-in: [f52765ee] user: drh branch: apple-osx, size: 231019)
10:25
Improvements to the way the LIKE optimization is implemented, resulting in slightly smaller and faster code that is easier to test. file: [4bad0421] check-in: [54c63b32] user: drh branch: trunk, size: 230976)
2016-04-30
18:10
Remove an unnecessary branch from the OP_String8 opcode. file: [465bb820] check-in: [459a0b45] user: drh branch: trunk, size: 231352)
02:59
Simplifications to the OP_Halt opcode implementation. file: [b2067cd0] check-in: [daf4630f] user: drh branch: trunk, size: 231360)
2016-04-29
16:01
Merge the latest enhancements from trunk. file: [4f0378eb] check-in: [91e5c07e] user: drh branch: begin-concurrent, size: 232989)
15:52
Merge enhancements from trunk, and in particular the TEMP file deferred I/O enhancements. file: [ccc79856] check-in: [81b76901] user: drh branch: apple-osx, size: 231599)
02:55
Some optimization comments added to vdbe.c. No functional changes to code. file: [08fbea00] check-in: [e7c22e3b] user: drh branch: trunk, size: 231556)
2016-04-21
15:35
Merge all recent enhancements from trunk. file: [4c31c327] check-in: [a15c49ae] user: drh branch: apple-osx, size: 231336)
2016-04-20
12:16
Merge all recent enhancements from trunk. file: [226c51cc] check-in: [1f709fbf] user: drh branch: begin-concurrent, size: 232726)
2016-04-11
13:36
Remove the VdbeOp.opflags field and its associated initialization overhead. Update mkopcodeh.tcl to reorder opcode numbers to help the resolveP2Values() routine run faster. file: [d3843a66] check-in: [099478fa] user: drh branch: trunk, size: 231293)
2016-04-07
14:16
Avoid decrementing a pointer off the front end of the buffer in OP_MakeRecord. file: [e16e8625] check-in: [153135bf] user: drh branch: trunk, size: 231185)
2016-04-05
17:50
Add the SQLITE_DBCONFIG_REQUIRE_TXN argument for sqlite3_dbconfig() which when set requires an explicit transaction before updating the database. file: [260c47de] check-in: [b7570ac1] user: drh branch: require-write-txn, size: 231334)
2016-04-04
13:46
Minor performance optimization in the comparison opcodes of the VDBE. file: [936166d3] check-in: [e375fe52] user: drh branch: trunk, size: 231160)
2016-03-30
15:30
Simplifications and clarification to update callback handling in the OP_Delete and OP_Insert opcodes. file: [0f0e4a62] check-in: [47887ef8] user: drh branch: trunk, size: 231101)
12:56
Avoid compiler warnings and excess opcodes when SQLITE_ENABLE_PREUPDATE_HOOK is not used. Fix the EXPLAIN output for P4_TABLE opcodes. file: [04e0606b] check-in: [5ab46d76] user: drh branch: sessions, size: 231061)
2016-03-29
10:36
Merge 3.12.0 changes. file: [ada5fe38] check-in: [d7381eff] user: drh branch: begin-concurrent, size: 230142)
10:30
Merge 3.12.0 changes. file: [53884a06] check-in: [eef55744] user: drh branch: apple-osx, size: 228752)
10:19
Merge changes for 3.12.0. file: [da8f4d04] check-in: [ed22eb65] user: drh branch: sessions, size: 230791)
2016-03-25
12:10
Fix two instances of undefined behavior in the C code - both harmless for all current compilers. file: [cd990451] check-in: [99fd194c] user: drh branch: trunk, size: 228709)
2016-03-21
15:54
Merge all recent changes from trunk. file: [c96ca245] check-in: [8ee7d346] user: drh branch: begin-concurrent, size: 230085)
15:32
Merge 3.12.0 beta changes from trunk. file: [399bb1d3] check-in: [3296a0ce] user: drh branch: sessions, size: 230734)
14:52
Merge the sqlite3_system_errno() change from trunk. file: [1cdbff44] check-in: [063f1b37] user: drh branch: apple-osx, size: 228695)
12:28
Make sure system errors that occur durign sqlite3_step() are captured for use by sqlite3_system_errno(). file: [f19741f2] check-in: [b4a1114f] user: drh branch: sqlite_system_errno, size: 228652)
00:30
Remove an unreachable branch. Improvements to comments. file: [3b542ffd] check-in: [c5677ecd] user: drh branch: zero-base-aMem, size: 228622)
2016-03-19
23:32
Change the Vdbe.aMem array so that it is zero-based instead of one-based. file: [90d18d0a] check-in: [e07b0c47] user: drh branch: zero-base-aMem, size: 228605)
2016-03-16
19:34
Merge the latest enhancements from trunk. file: [1ea96d12] check-in: [a7978ab6] user: drh branch: begin-concurrent, size: 229780)
01:16
Merge all recent enhancements from trunk. file: [8e9452b8] check-in: [6a7ee04b] user: drh branch: sessions, size: 230429)
01:09
Merge the SQLITE_OMIT_CODEC_FROM_TCL compile-time option from trunk. file: [3c7f4d44] check-in: [161d91e4] user: drh branch: apple-osx, size: 228390)
2016-03-15
22:00
Change the OP_IntegrityCk opcode to accept the list of root pages as an intarray argument in P4. Slightly smaller and faster. file: [8cf45bb8] check-in: [15e4a272] user: drh branch: trunk, size: 228347)
2016-02-25
18:54
Merge all the latest changes from trunk. file: [9ccb138c] check-in: [b8659004] user: drh branch: sessions, size: 230673)
2016-02-22
16:32
Merge the master-journal optimization and other recent changes from trunk. file: [5c09ebeb] check-in: [18c3ab47] user: drh branch: apple-osx, size: 228634)
16:04
Always use the sqlite3VdbeDeleteAuxdata() routine for clearing auxdata on function parameter, rather than having a separate deleteAuxdataFromFrame() for doing the job for trigger frames. file: [87ae3a56] check-in: [64386fa3] user: drh branch: trunk, size: 228591)
2016-02-19
18:54
Use a separate list of aux-data structures for each trigger program at the VDBE level. Fix for [dc9b1c91]. file: [822e44c1] check-in: [c4295725] user: dan branch: trunk, size: 228576)
2016-02-18
01:36
Merge recent performance enhancements and the enhanced API_ARMOR from trunk. file: [af223358] check-in: [b7fa0fb3] user: drh branch: apple-osx, size: 228533)
2016-02-17
18:44
Fix up all VDBE opcodes so that they cause an immediate exit on any kind of error, and thereby eliminate the need to test "rc" at the top of the loop. Resulting code is a little smaller and faster. file: [4eef77da] check-in: [a444633a] user: drh branch: vdbe-performance, size: 228490)
2016-02-13
23:43
Enhance ability to debug out-of-memory errors. file: [ad4d5b7a] check-in: [6a9c4a3e] user: mistachkin branch: noMemBkpt, size: 226833)
2016-02-05
14:34
Merge PRAGMA synchronous=EXTRA and OOM performance enhancements from trunk. file: [642df098] check-in: [332c8036] user: drh branch: begin-concurrent, size: 228211)
14:29
Merge OOM handling optimizations and PRAGMA synchronous=EXTRA as well as other enhancements from trunk. file: [d76cf7d7] check-in: [201fcbee] user: drh branch: apple-osx, size: 226856)
14:15
Merge enhancements from trunk. file: [830c927c] check-in: [a533608c] user: drh branch: sessions, size: 228878)
13:38
Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority cases where db is guaranteed to be not NULL. file: [c193299e] check-in: [0a802e96] user: drh branch: oom-handling, size: 226813)
01:55
Improvements to the way that OOM errors are processed. file: [2e49c5d1] check-in: [c3ef0347] user: drh branch: oom-handling, size: 226805)
2016-02-03
22:14
In the VDBE loop, only check for OOM errors at jumps rather than after every opcode, for about a 0.5% performance increase. file: [f0c2e2fb] check-in: [632071ba] user: drh branch: trunk, size: 226863)
19:52
Fix markup errors in comments used to generate the documentation - specifically in the documentation on the OP_Seek opcode. file: [16ca0c1e] check-in: [ef252bc4] user: drh branch: trunk, size: 226813)
2016-02-02
02:53
Merge recent enhancements from trunk. file: [f4a056b9] check-in: [347f6a80] user: drh branch: begin-concurrent, size: 228213)
02:30
Merge recent enhancements from trunk. file: [464142f9] check-in: [e6a4a163] user: drh branch: apple-osx, size: 226858)
02:22
Merge all recent enhancements from trunk. file: [c5244f97] check-in: [f3f92001] user: drh branch: sessions, size: 228880)
00:59
Add the SQLITE_DBCONFIG_REQUIRE_WRITE_TXN connection setting, which if enabled requires all write operations to be enclosed within BEGIN ... COMMIT. file: [0b5df64b] check-in: [7453790c] user: drh branch: require-write-txn, size: 227304)
2016-02-01
21:48
Change the OP_SetCookie instruction to write the literal P3 value, not the value in register P3. file: [a0a0ada4] check-in: [6d7d4703] user: drh branch: trunk, size: 226815)
13:21
Minor simplification to the OP_AutoCommit opcode. Fix some code comments related to transaction control. file: [755b1e21] check-in: [a9b6a067] user: drh branch: trunk, size: 226946)
2016-01-30
16:59
Merge the implementation of OP_IdxRowid and OP_Seek so that OP_Seek no longer requires the rowid register and a separate OP_IdxRowid call. Shorter and faster prepared statements result. file: [73f0f61e] check-in: [9bec50a1] user: drh branch: trunk, size: 226991)
15:46
A different way to clear the subtype on VDBE registers when the value of the register is overwritten with new content. To fix [[f45ac567eaa9f93]. file: [49e0a224] check-in: [2e9fb129] user: dan branch: clear-subtype-flag, size: 226455)
14:53
Take care to clear the subtype on VDBE registers when the value of the register is overwritten with new content. file: [dadd5775] check-in: [ec653cbc] user: drh branch: clear-subtype-fail, size: 226462)
14:17
Output subtype information on register traces for PRAGMA vdbe_trace. file: [bd4d2cab] check-in: [96b78020] user: drh branch: trunk, size: 226444)
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: [d9d2406d] check-in: [85c46704] user: drh branch: trunk, size: 226384)
00:45
Change the P4_INTARRAY so that always begins with a length integer. Print the content of the INTARRAY on EXPLAIN output. file: [0686ef5e] check-in: [6c520d57] user: drh branch: covering-or, size: 225297)
2016-01-29
19:29
Experimental attempt to make better use of covering indexes within OR queries. file: [2e0c42bb] check-in: [a323ac3a] user: dan branch: covering-or, size: 225170)
18:04
Prepend "rc!=SQLITE_OK || " to the nExtraDelete assert() condition. file: [e86e100a] check-in: [2a055ed0] user: dan branch: fordelete-assert, size: 225762)
2016-01-28
17:06
Modifications to ensure the nExtraDelete-related assert() statement does not fail. file: [66c42989] check-in: [f43ff8f8] user: dan branch: fordelete-assert, size: 225734)
2016-01-27
16:26
Change the name of the BTREE_IDXDELETE flag to BTREE_AUXDELETE, to better reflect its purpose. file: [c367615f] check-in: [1d3bf6be] user: drh branch: fordelete-assert, size: 225923)
15:49
Add assert() statements on the nExtraDelete variable in vdbe.c to try to verify that the FORDELETE and IDXDELETE flags are being generated correctly. Those flags are not currently generated correctly, and so the assert()s trip on this check-in. file: [a27a3fdc] check-in: [dde1db0d] user: drh branch: fordelete-assert, size: 225762)
2016-01-26
23:32
Merge all recent trunk enhancements. file: [6039096e] check-in: [9a71d56d] user: drh branch: btree-fordelete-flag, size: 225096)
2016-01-25
15:57
Replace the OP_SetIfNotPos operator with OP_OffsetLimit in the VDBE, for simpler and smaller code. file: [3ffbcc41] check-in: [7ac017a4] user: drh branch: trunk, size: 224675)
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: [e21a506d] check-in: [ac2cbadd] user: drh branch: btree-fordelete-flag, size: 224490)
2016-01-20
12:18
Merge recent enhancements from trunk. file: [7013f866] check-in: [5520f600] user: drh branch: begin-concurrent, size: 225451)
11:40
Merge all recent enhancements from trunk. file: [2a3f8fd4] check-in: [3ed49691] user: drh branch: apple-osx, size: 224112)
11:33
Merge recent enhancements from trunk. file: [1443ca69] check-in: [327af5f6] user: drh branch: sessions, size: 226133)
2016-01-15
15:06
Work toward making the schema parsing logic simplier and more compact. file: [b90d9d38] check-in: [c52ca2c0] user: drh branch: trunk, size: 224069)
2016-01-14
22:19
Combine the xFunc and xStep pointers of the FuncDef object into a single pointer xSFunc. file: [4f358548] check-in: [0d1b3d7d] user: drh branch: trunk, size: 224046)
15:46
Merge the latest enhancements and fixes from trunk. file: [fd831237] check-in: [fccc5f20] user: dan branch: begin-concurrent, size: 225426)
15:03
Merge the latest enhancements and fixes from trunk. file: [fac06dbf] check-in: [d85774e0] user: drh branch: apple-osx, size: 224087)
14:48
Merge the latest fixes and enhancements from trunk. file: [9b4da74d] check-in: [007e5c6d] user: drh branch: sessions, size: 226108)
2016-01-11
18:05
Performance optimization on the Column opcode. file: [6572d00e] check-in: [ecc98bef] user: drh branch: trunk, size: 224044)
2016-01-06
15:49
Merge changes for version 3.10.0. file: [83c09bc7] check-in: [e1d2ffc0] user: drh branch: begin-concurrent, size: 225500)
14:35
Merge all version 3.10.0 updates. file: [5678e937] check-in: [77c28c2b] user: drh branch: apple-osx, size: 224161)
2016-01-04
19:02
Merge in last-minute patches for the 3.10.0 beta. file: [a479a4bd] check-in: [c785cd78] user: drh branch: sessions, size: 226182)
03:48
Fix a harmless compiler warning. file: [6ac8e5d8] check-in: [4b404a99] user: drh branch: trunk, size: 224118)
2016-01-02
05:00
Fix a (harmless) typo in an #ifdef for SQLITE_ENABLE_CURSOR_HINTS file: [638c20ba] check-in: [2047d2de] user: drh branch: trunk, size: 224171)
2016-01-01
14:14
Merge recent trunk enhancements. file: [7a9e7011] check-in: [6bea792c] user: drh branch: begin-concurrent, size: 225552)
13:31
Merge all recent trunk enhancements. file: [a01c8ccd] check-in: [5b700f31] user: drh branch: apple-osx, size: 224213)
13:25
Merge the latest enhancements from trunk. file: [a415f784] check-in: [c0be246a] user: drh branch: sessions, size: 226234)
2015-12-31
04:34
Small size and performance optimization to the VDBE comparison opcodes. file: [39d7628b] check-in: [7a0b9413] user: drh branch: trunk, size: 224170)
2015-12-17
19:17
Make the VdbeCursor object even smaller. But the resulting library is bigger and slower than trunk. This branch is a failed experiment. file: [3bedca4a] check-in: [896a06cc] user: drh branch: optimize-vdbecursor, size: 224647)
17:30
Reduce the size of the VdbeCursor object by a pointer (the pBt pointer used for ephemeral tables). file: [18792363] check-in: [98b710c3] user: drh branch: optimize-vdbecursor, size: 224365)
2015-12-16
21:09
Fix compiler warning seen with MSVC. file: [984c2be6] check-in: [18a4c054] user: mistachkin branch: msvcWarn, size: 224250)
19:55
Merge recent enhancements from trunk. file: [75beda48] check-in: [cb22efaf] user: drh branch: begin-concurrent, size: 225555)
19:47
Merge recent enhancements from trunk. file: [c47b3bfc] check-in: [f6c9273c] user: drh branch: sessions, size: 226237)
2015-12-14
19:42
Add a missing memAboutToChange() macro to vdbe.c, the lack of which was causing an assert() to fail incorrectly. Problem found by libfuzzer. file: [0bc683e6] check-in: [1a247911] user: dan branch: trunk, size: 224173)
2015-12-02
20:53
Merge recent enhancements from trunk. file: [ff460358] check-in: [9130661a] user: drh branch: begin-concurrent, size: 225520)
20:40
Merge recent enhancements from trunk. file: [5c3dd0f4] check-in: [d1a1278d] user: drh branch: sessions, size: 226202)
20:22
Merge all recent trunk enhancements, especially the unix VFS changes. file: [5cd1221f] check-in: [e1fb33c7] user: drh branch: apple-osx, size: 224181)
2015-12-01
21:23
Add the SQLITE_LIKE_DOESNT_MATCH_BLOBS compile-time option. file: [4d75375f] check-in: [9e1d6d4c] user: drh branch: trunk, size: 224138)
2015-11-21
17:53
Add a new OP_BColumn opcode where the cursor is guaranteed to be of type CURTYPE_BTREE and is thus able to skip some checks and run slightly faster. file: [8694c0e6] check-in: [093e0d10] user: drh branch: btree-column-opcode, size: 224232)
17:27
Fix over-length source code lines. No logic changes. file: [b56b2fc9] check-in: [198d191b] user: drh branch: trunk, size: 224092)
2015-11-20
19:22
Refactor the VdbeCursor object. It is now slightly smaller and faster and is easier to understand. file: [9ef1b170] check-in: [9b1d174d] user: drh branch: trunk, size: 224049)
13:49
Merge all the latest enhancements and fixes from trunk. file: [6b125884] check-in: [41c8b8e3] user: drh branch: begin-concurrent, size: 224511)
13:33
In the OP_Column opcode, only test the btree payload size for exceeding the string length limit if the payload does not fit on a single page. file: [7a4efb96] check-in: [35c7f6cb] user: drh branch: trunk, size: 223129)
2015-11-07
01:57
Merge recent enhancements and fixes from trunk. file: [c9869b29] check-in: [5429f99b] user: drh branch: apple-osx, size: 223174)
01:33
Merge recent enhancements and bug fixes from trunk. file: [9539aa0c] check-in: [78bc42e6] user: drh branch: sessions, size: 225196)
01:19
The OPFLAG_SEEKEQ optimization is only applicable to equality comparisons against an index, not against a rowid table. file: [7a9b1802] check-in: [0f5b147d] user: drh branch: trunk, size: 223131)
2015-11-05
22:30
Improvements and simplifications to the equality seek logic. Tests are adjusted so that they all pass now. file: [a9b0ec9f] check-in: [997ce6c9] user: drh branch: seekeq-experiment, size: 223002)
20:25
The top of an index equality loop normally starts with OP_SeekGE and OP_IdxGT. This check-in adds a flag to OP_SeekGE such that it fails immediately if the key is not equal, then jumps over the OP_IdxGT, saving a call to the key comparison functions. Consider this check-in a proof-of-concept. It needs improvement before going on trunk. Some tests fail, but only because they new use fewer key comparisons than expected (which is a good thing!). file: [1f9ef1ef] check-in: [32e31b9b] user: drh branch: seekeq-experiment, size: 221769)
2015-10-30
17:17
Merge the sqlite3_db_cacheflush() enhancements and other changes from trunk. file: [4ab87640] check-in: [f2cde4cf] user: drh branch: begin-concurrent, size: 223018)
16:50
Merge all the latest enhancements from trunk. file: [755ebcef] check-in: [395a153f] user: drh branch: sessions, size: 223701)
16:23
Merge latest trunk changes, including sqlite3_db_cacheflush(), with this branch. file: [b8606b0a] check-in: [6e4306ef] user: dan branch: apple-osx, size: 221679)
2015-10-27
13:24
Split out sqlite3BtreeCursorHintFlags() from sqlite3BtreeCursorHint() the interface for improved performance. file: [dfbaae25] check-in: [b3ec9a0d] user: drh branch: cursor-hints, size: 221636)
2015-10-26
20:50
Merge latest trunk changes, including the SQLITE_IOERR_AUTH error code, with this branch. file: [cb8eee39] check-in: [bc195e1c] user: dan branch: apple-osx, size: 220894)
20:11
Merge the BTREE_FORDELETE enhancement with this branch. file: [1cdfa13e] check-in: [20da0849] user: dan branch: cursor-hints, size: 221643)
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: [3f22833a] check-in: [cdc92919] user: dan branch: btree-fordelete-flag, size: 220851)
2015-10-20
23:40
Fix compiler warnings. file: [ca0bbae5] check-in: [12e869bb] user: mistachkin branch: noWarn, size: 220819)
2015-10-16
20:55
Merge the 3.9.1 updates from trunk. file: [80c332d7] check-in: [bf866e6c] user: drh branch: begin-concurrent, size: 222201)
20:53
Merge recent enhancements from trunk. Version now 3.9.1. file: [10d66354] check-in: [26fa091d] user: drh branch: cursor-hints, size: 221611)
14:54
Have the sqlite3VdbeSerialType() function go ahead and compute the serial length as well, since it is always needed. This avoids unnecessary calls to sqlite3VdbeSerialTypeLen(). file: [e9315575] check-in: [2ad72be1] user: drh branch: trunk, size: 220819)
14:23
Use a lookup table to compute the content length for serial types less than 128, for a 1.2% performance improvement. file: [f84d2241] check-in: [33957248] user: drh branch: trunk, size: 220862)
13:50
Simplify the OP_Column logic slightly. One very small performance improvement added. file: [612bf3ee] check-in: [0114b45d] user: drh branch: trunk, size: 220909)
12:53
OP_Column optimization: Do not check for an oversize row header unless the row header size is larger than the content available on the local page. file: [ece04358] check-in: [8125b74c] user: drh branch: trunk, size: 221135)
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: [32865d7e] check-in: [08e8f04d] user: drh branch: reorder-column-opcodes, size: 221125)
2015-10-15
21:30
Performance optimization for the OP_Column opcode. file: [c33faa48] check-in: [076be547] user: drh branch: trunk, size: 221108)
20:17
Experiments with an OP_Unpack opcode that extracts multiple columns from a record without caching. file: [a0a2aea6] check-in: [39ae92f5] user: drh branch: unpack-opcode, size: 222431)
18:04
Add the OP_IntCopy opcode - an optimized version of OP_SCopy that only works for integer values. file: [61bd96c7] check-in: [3a2f73a4] user: drh branch: trunk, size: 221194)
17:31
Optimization to the out2Prerelease() helper routine in the VDBE engine. file: [eac08984] check-in: [79298fe8] user: drh branch: trunk, size: 220795)
07:44
Merge in the 3.9.0 changes from trunk. file: [9e42ca33] check-in: [5c3a2a6e] user: drh branch: begin-concurrent, size: 222010)
2015-10-14
20:09
Merge in all the 3.9.0 updates from trunk. file: [4d4d88a6] check-in: [29444149] user: drh branch: cursor-hints, size: 221420)
2015-10-09
17:28
Merge all changes through the first 3.9.0 beta from trunk. file: [1f3280cf] check-in: [1ccae39b] user: drh branch: apple-osx, size: 220671)
2015-10-08
14:55
Merge the 3.8.12 beta changes from trunk. file: [fd0fba1b] check-in: [35b1b8d4] user: drh branch: sessions, size: 222693)
2015-10-06
21:49
Fix typo in comments. No changes to code. file: [1e0bf8d6] check-in: [a05f903c] user: mistachkin branch: trunk, size: 220628)
21:07
Simplifications to the VDBE bytecode that handles LIMIT and OFFSET. file: [d263ec6b] check-in: [041df7c2] user: drh branch: trunk, size: 220628)
2015-09-15
19:16
Merge enhancements from trunk. file: [34fb6d59] check-in: [fc4d1de8] user: drh branch: begin-concurrent, size: 221919)
17:31
Merge enhancements from trunk. file: [1704a79d] check-in: [66fe0683] user: drh branch: cursor-hints, size: 221329)
17:20
Merge trunk enhancements into the apple-osx branch. file: [cc4a5aeb] check-in: [f12b8a0f] user: drh branch: apple-osx, size: 220580)
15:55
Merge the latest trunk enhancements with this branch. file: [b61897b3] check-in: [b7469c44] user: dan branch: sessions, size: 222602)
2015-09-14
19:26
Testability improvements for the ONEPASS_MULTI enhancement. file: [5048103a] check-in: [d2df93f2] user: drh branch: trunk, size: 220537)
09:23
Avoid calling sqlite3VdbeCursorMoveto() from more than one point in vdbe.c. Doing so prevents it from being inlined as part of OP_Column. file: [a8a5cb11] check-in: [166d5af8] user: dan branch: onepass-delete, size: 220427)
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: [5587d76b] check-in: [eaeb2b80] user: dan branch: onepass-delete, size: 220389)
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: [8e1d1597] check-in: [f8ae9bfd] user: drh branch: begin-concurrent, size: 221408)
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: [30e368a0] check-in: [da864658] user: drh branch: apple-osx, size: 220069)
2015-08-24
22:06
Remove duplicated line of code. file: [791a2876] check-in: [47280f2a] user: mistachkin branch: begin-concurrent, size: 221410)
19:56
Change "BEGIN UNLOCKED" to "BEGIN CONCURRENT". file: [84ac0688] check-in: [ba1ab858] user: dan branch: begin-concurrent, size: 221433)
19:08
Fix handling of attempts to modify the database schema, application_id or user_version within an UNLOCKED transaction. file: [cb555e4a] check-in: [5b9f2721] user: dan branch: begin-concurrent, size: 221397)
2015-08-21
16:22
Merge trunk changes with this branch. file: [97b07a1a] check-in: [deaf3b18] user: dan branch: begin-concurrent, size: 220974)
2015-08-20
23:54
Merge recent trunk enhancements, include table-valued functions. file: [76304f37] check-in: [e9196d56] user: drh branch: sessions, size: 221983)
23:45
Merge recent enhancements from trunk, including table-valued expressions. file: [9d85fa72] check-in: [b9927c87] user: drh branch: cursor-hints, size: 220818)
17:18
Make SQLITE_BUSY_SNAPSHOT and SQLITE_BUSY_RECOVERY retryable, just as a plain SQLITE_BUSY is. file: [6d85be99] check-in: [fd13dd95] user: drh branch: trunk, size: 220026)
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: [4dbcceb3] check-in: [83a84435] user: drh branch: cursor-hints, size: 220734)
20:08
Updated testing of cursor-hints. Remove the test_cursorhint.c file and associated logic in the core and do tests based purely on the newly enhanced EXPLAIN output. file: [882cac44] check-in: [bf383e66] user: drh branch: cursor-hints, size: 220656)
15:05
Refactor the sqlite3BtreeCursorHint() interface for improved maintainability. file: [74561c2d] check-in: [fc3fb5cd] user: drh branch: cursor-hints, size: 220788)
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: [eeef2e6e] check-in: [82a7a61b] user: drh branch: cursor-hints, size: 220660)
2015-08-11
13:41
Add some extra timestamps to the experimental log output. file: [6281c0f8] check-in: [b09e3ea7] user: dan branch: experimentalIoLog, size: 220194)
2015-08-10
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: [0f6fc42b] check-in: [ac5d2e9d] user: drh branch: experimentalIoLog, size: 220191)
2015-07-31
18:59
Fix the sqlite3_stmt_busy() interface so that it always returns FALSE after the statement has returned SQLITE_DONE, even for ROLLBACK statements. Clarify the documentation. file: [2ab1decd] check-in: [047d3475] user: drh branch: trunk, size: 219942)
2015-07-27
19:31
Add an experimental "BEGIN UNLOCKED" command. file: [fd683240] check-in: [80794216] user: dan branch: begin-concurrent, size: 220578)
2015-07-24
22:21
Merge test improvements and minor fixes from trunk. file: [8dbffc35] check-in: [0298a9a7] user: drh branch: sessions, size: 221911)
15:49
More robust handling of zeroblob() with oversized arguments. Fix fuzzcheck so that it can be run with limited heap memory. file: [86be40a4] check-in: [4e3e516a] user: drh branch: trunk, size: 219954)
2015-06-30
16:29
Merge all the latest enhancements from trunk. This merge include FTS5 and a number of notable performance enhancements. file: [195b3231] check-in: [39936b33] user: drh branch: sessions, size: 221893)
01:25
Convert several 5-year-old and older NEVER() macros into assert(). file: [5ee4a2bf] check-in: [ed54c14e] user: drh branch: trunk, size: 219936)
2015-06-26
19:43
Small size reduction and performance increase on the OP_IdxInsert opcode. file: [3d5a78d3] check-in: [b6bedc2e] user: drh branch: trunk, size: 220006)
18:47
Further optimization of SQL function dispatch. Improvements to opcode documentation. file: [b425feab] check-in: [eaddbf29] user: drh branch: trunk, size: 220020)
18:16
Cache the sqlite3_context structure in the P4 operand of VDBE programs for faster SQL function dispatch. file: [8fde5281] check-in: [2abc44eb] user: drh branch: trunk, size: 219337)
13:31
Cache the most recently sqlite3_context used by OP_Function and reuse it on subsequent calls, if appropriate. This gives a noticable performance boost. file: [59295731] check-in: [2f31bdd1] user: drh branch: function-ctx-cache, size: 216763)
2015-06-25
15:44
Merge all the latest enhancements from trunk. file: [60917660] check-in: [924f4712] user: drh branch: sessions, size: 218413)
2015-06-24
14:36
Fix the progress handler so that it does not fire too soon during an sqlite3_step() call other than the first. file: [3af2d06e] check-in: [b41ef5d6] user: drh branch: trunk, size: 216456)
2015-06-17
18:18
Merge all recent enhancements and fixes from trunk. file: [abef10c8] check-in: [199bfb67] user: drh branch: sessions, size: 218497)
2015-06-11
18:01
Merge recent trunk enhancements and fixes. file: [c4fc60e1] check-in: [c39cb0e2] user: drh branch: sessions, size: 217858)
2015-06-05
15:59
Add a new opcode to the VDBE that gives the b-tree a hint about the set of columns in a table or index that are actually used by the query. file: [c9b8985d] check-in: [f167bba4] user: drh branch: column-usage-hint, size: 216540)
2015-06-02
15:32
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB. file: [0a6a1df5] check-in: [bce3f041] user: drh branch: blob-affinity-rename, size: 215901)
2015-05-21
17:24
Prevent a virtual table from being destroyed while it is in use. Also: replace Vdbe.inVtabMethod with sqlite3.nVDestroy. Simplify the EXPLAIN output for P4.pVtab to only show the sqlite3_vtab pointer. Cherrypick of [cbeb9a1aed8c]. file: [63f8f7b8] check-in: [b3bb660a] user: dan branch: branch-3.8.6, size: 213189)
2015-05-20
19:53
Detect and report oversized records constructed from multiple zeroblobs. Cherrypick of [9e139afd9211]. file: [d4840634] check-in: [4a08f6b8] user: dan branch: branch-3.8.6, size: 213450)
19:44
Ensure that comparison operators do not mess up the MEM_Dyn flag on registers when reverting affinity changes. Cherrypick of [02e3c88fbf6a]. file: [93269669] check-in: [4125477e] user: dan branch: branch-3.8.6, size: 213444)
2015-05-19
22:42
Merge recent trunk changes, include the R-Tree enhancement that allows 8-byte BLOB arguments to geometry functions, and the fix for the TEXT affinity problem that could cause corrupt indexes. file: [e4b07dae] check-in: [0a0de8b7] user: drh branch: sessions, size: 217858)
19:52
Ensure that when the VM applies TEXT affinity to a value it discards any existing REAL or INTEGER value. Fix for [34cd55d6]. Increase the version number to 3.8.10.2. file: [163e045d] check-in: [40f67265] user: drh branch: branch-3.8.10, size: 216565)
19:44
Ensure that when the VM applies TEXT affinity to a value it discards any existing REAL or INTEGER value. Fix for [34cd55d6]. file: [6aee8a04] check-in: [f5d0ce80] user: dan branch: trunk, size: 215901)
2015-05-15
04:13
Simplifications to error message processing. Fix a possible problem in error message formatting when vacuuming a database with a corrupt schema. file: [8775967d] check-in: [56ef98a0] user: drh branch: trunk, size: 215861)
2015-05-07
12:29
Merge in the 3.8.10 release changes. file: [f3033cd2] check-in: [0404ef88] user: drh branch: sessions, size: 218482)
2015-05-05
18:52
Remove four lines of superfluous code identified by clang scan-build. file: [d437887d] check-in: [04afa3fe] user: drh branch: trunk, size: 216525)
17:12
Merge all trunk enhancements and fixes into the sessions branch. file: [9d202ac3] check-in: [de7083cf] user: drh branch: sessions, size: 218526)
2015-04-30
20:33
Fix a harmless comment typo. file: [ff9efff0] check-in: [012a0c4e] user: drh branch: trunk, size: 216569)
2015-04-28
14:00
Fix sqlite3VdbeMakeWritable() to always clear the MEM_Ephem flag. Change the OP_Move opcode to always deephemeralize moved content. file: [dca4bf7a] check-in: [fbb06727] user: drh branch: trunk, size: 216567)
13:11
Oops - the deephemerialization needs to occur before the move, not after. Was: Rather than try to keep track of the parent of an ephermeral register when the register moves, just deephemeralize all registers touched by the OP_Move opcode. file: [f497a100] check-in: [091cfe8e] user: drh branch: mistake, size: 216430)
12:44
Shift the Mem.pScopyFrom pointer in the correct direction in OP_Move. Fix for a defective check-in [a2135ad13049] and ticket [d6352363751]. Debugging code only - does not affect normal operation. file: [74507905] check-in: [add4e043] user: drh branch: trunk, size: 216554)
2015-04-27
19:53
Add fault-injection tests for the code in test_stat.c. file: [519bff8a] check-in: [ea5e0b74] user: dan branch: trunk, size: 216554)
2015-04-22
14:41
Prototype for an sqlite3_db_log() interface. file: [4f4af723] check-in: [658e20f5] user: drh branch: sqlite3_db_log, size: 216543)
2015-04-20
01:32
Merge all recent trunk enhancements and fixes into the sessions branch. file: [e8f00a2e] check-in: [b8ef1cde] user: drh branch: sessions, size: 218486)
01:25
Merge all recent trunk enhancements and fixes into the apple-osx branch. file: [32e165d7] check-in: [74b7bf17] user: drh branch: apple-osx, size: 216563)
2015-04-18
16:25
Ensure that if a "ROLLBACK TO" statement is used to rollback (but not close) theoutermost transaction, the xRollbackTo() method of any virtual tables involved in the transaction is invoked. file: [f0cf3cf5] check-in: [e98d481d] user: dan branch: trunk, size: 216529)
2015-04-16
17:31
Fix the VDBE so that it always uses the original opcode for profiling and debugging even after the pOp pointer has been updated due to a jump. file: [55650cb0] check-in: [647495cf] user: drh branch: trunk, size: 216503)
2015-04-15
14:14
Merge all recent trunk fixes and enhancements into the sessions branch. file: [f3f2e466] check-in: [e65e65f9] user: drh branch: sessions, size: 218220)
2015-04-13
23:11
Merge all recent trunk enhances into the apple-osx branch. file: [7b63a9df] check-in: [e709d3b4] user: drh branch: apple-osx, size: 216297)
21:39
Omit the "pc" or "program counter" variable from the VDBE loop for 0.6% performance increase. file: [3f3afd12] check-in: [d2f10c41] user: drh branch: trunk, size: 216263)
19:14
Remove the out2-prerelease VDBE opcode property and its associated code, for a 0.5% performance improvement. file: [584abb81] check-in: [e29c7f2c] user: drh branch: trunk, size: 216007)
2015-04-12
01:33
Merge all recent trunk enhancements into the sessions branch. file: [e09d0a77] check-in: [5f14f34f] user: drh branch: sessions, size: 217716)
2015-04-11
18:45
Merge latest trunk changes with this branch. file: [c4bd9691] check-in: [cf7590f6] user: dan branch: sorter-opt, size: 215759)
02:08
Detect and report oversized records constructed from multiple zeroblobs. file: [06cc2cf4] check-in: [9e139afd] user: drh branch: trunk, size: 215730)
2015-04-10
08:28
Update this branch with the latest changes from sorter-opt. file: [3c28266d] check-in: [08c0b19b] user: dan branch: insert-select-opt, size: 215935)
2015-04-01
18:22
Merge latest trunk changes with this branch. file: [f6647e74] check-in: [4621b2ee] user: dan branch: sorter-opt, size: 215753)
16:39
Merge recent enhancements from trunk. file: [503f4f93] check-in: [aea439bd] user: drh branch: sessions, size: 217681)
16:18
Reduce the CPU used by CREATE INDEX statements by taking better advantage of the fact that keys are inserted in sorted order. file: [a9d916ab] check-in: [592cdc5d] user: dan branch: sorter-opt, size: 215361)
16:13
Merge all recent trunk fixes and enhancements into the apple-osx branch. file: [f76aaab7] check-in: [71b6f507] user: drh branch: apple-osx, size: 215758)
2015-03-31
11:42
Ensure that comparison operators do not mess up the MEM_Dyn flag on registers when reverting affinity changes. file: [86ae6f47] check-in: [02e3c88f] user: drh branch: trunk, size: 215724)
2015-03-30
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: [03ed4b82] check-in: [763d2bc7] user: dan branch: mistake, size: 215716)
2015-03-24
19:43
Update this branch with latest trunk changes. file: [5cb31321] check-in: [3ccd64ef] user: dan branch: insert-select-opt, size: 215514)
19:02
Merge all recent trunk enhancements into the sessions branch. file: [334c39a2] check-in: [54aaa6f2] user: drh branch: sessions, size: 217289)
18:49
Merge the latest trunk enhancements into the apple-osx branch. file: [f2c63980] check-in: [a2bd81e5] user: drh branch: apple-osx, size: 215366)
14:05
More defenses against virtual table being deleted out from under a running statement. file: [bbfede5a] check-in: [116c9982] user: drh branch: nVDestroy, size: 215332)
13:32
Prevent a virtual table from being destroyed while it is in use. file: [1524e1db] check-in: [fba674c0] user: drh branch: nVDestroy, size: 215214)
12:51
Replace the Vdbe.inVtabMethod field with the sqlite3.nVDestroy counter. file: [884faa91] check-in: [9faefb96] user: drh branch: nVDestroy, size: 215193)
2015-03-21
17:00
Merge all recent trunk enhancements and especially the blocking WAL-lock fix into the apple-osx branch. file: [9ece90df] check-in: [9f1f8b33] user: drh branch: apple-osx, size: 215627)
15:04
Merge latest trunk changes with this branch. file: [9976deed] check-in: [9affe7f3] user: dan branch: insert-select-opt, size: 215775)
12:22
Remove an unreachable branch from the OP_VCreate opcode. file: [bd793ed4] check-in: [5fca41a3] user: drh branch: trunk, size: 215593)
07:16
Merge recent trunk changes with this branch. file: [5d5bde86] check-in: [35eef4dd] user: dan branch: insert-select-opt, size: 215539)
2015-03-20
20:30
Where possible insert the set of new keys for each index in sorted order within "INSERT INTO ... SELECT" statements. file: [f50f3663] check-in: [0a7f2051] user: dan branch: insert-select-opt, size: 214771)
16:34
Fix to get SQLITE_SMALL_STACK working correctly again after the previous change. file: [3d96875d] check-in: [78df0ce1] user: drh branch: seek-eq, size: 215357)
14:57
Provide the BTREE_SEEK_EQ hint to the b-tree layer. file: [64d8325a] check-in: [e750830f] user: drh branch: seek-eq, size: 215381)
2015-03-19
19:59
Fix a crash that can occur following an OOM condition within a CREATE VIRTUAL TABLE statement on a utf-16 database. file: [b32dc2ef] check-in: [9453e7da] user: dan branch: malformed-vtab-name, size: 214589)
18:56
Fix a problem with creating virtual table with names specified using malformed utf-8 within utf-16 databases. file: [33f8e0b1] check-in: [9969cff2] user: dan branch: malformed-vtab-name, size: 214525)
2015-03-17
18:54
Merge all recent trunk enhancements into the sessions branch. file: [20dc93ea] check-in: [1d1c57c3] user: drh branch: sessions, size: 216176)
18:35
Merge all recent trunk changes, and in particular the blocking WAL lock change, into the apple-osx branch. file: [61acaf6b] check-in: [8abbeadb] user: drh branch: apple-osx, size: 214253)
2015-03-12
05:08
Improve the text on one of the opcode documentation comments in vdbe.c. file: [a2725107] check-in: [08958f57] user: drh branch: trunk, size: 214219)
2015-03-09
13:18
Merge recent trunk enhancements into the apple-osx branch. file: [b817ad54] check-in: [5e04eec8] user: drh branch: apple-osx, size: 214241)
13:07
Merge recent trunk enhancements into the sessions branch. file: [e70e58bf] check-in: [68c8937e] user: drh branch: sessions, size: 216164)
2015-03-07
00:57
Refactor some jump opcodes in the VDBE. Add JumpZeroIncr and DecrJumpZero. Fix the LIKE optimization to work with DESC sort order. file: [94cbc211] check-in: [26cb5145] user: drh branch: like-opt-fix, size: 214207)
2015-03-06
20:49
Test cases added. Comments fixed. Proposed solution for ticket [05f43be8fdda9fbd9]. file: [c9f4ad2c] check-in: [6b993bd5] user: drh branch: like-opt-fix, size: 213156)
16:45
The LIKE optimization must be applied twice, once for strings and a second time for BLOBs. Ticket [05f43be8fdda9f]. This check-in is a proof-of-concept of how that might be done. file: [6bee3b85] check-in: [5757e803] user: drh branch: like-opt-fix, size: 213129)
2015-02-28
01:04
More test cases and requirements marks for pragmas. file: [991e9b2c] check-in: [fc51037c] user: drh branch: trunk, size: 212668)
2015-01-29
15:53
Improvements to the DELETE code generator for the one-pass case. Avoid some OP_Goto instructions. Read content from the index cursor if the index cursor is valid and was used to locate the row that is to be deleted. file: [55f4db96] check-in: [58cc257a] user: drh branch: one-writable-btree, size: 212400)
2015-01-16
12:24
Merge the 3.8.8 release changes from trunk. file: [0fa93ce5] check-in: [518621f8] user: drh branch: apple-osx, size: 212397)
2015-01-14
17:16
Merge trunk 3.8.8 beta changes into the sessions branch file: [d18d7bbe] check-in: [0ba12454] user: drh branch: sessions, size: 214320)
2015-01-12
18:52
Get things compiling cleanly with MSVC and W4. file: [ddfc9779] check-in: [c8725fa5] user: mistachkin branch: msvcW4, size: 212363)
2014-12-04
23:42
Import from trunk support for SQLITE_CHECKPOINT_TRUNCATE and fixes for a couple of obscure bugs. file: [9f43973c] check-in: [463ad971] user: drh branch: apple-osx, size: 212383)
23:35
Incorporate the SQLITE_CHECKPOINT_TRUNCATE enhancement and a couple of obscure bug fixes from trunk. file: [c0221742] check-in: [34ffa3b3] user: drh branch: sessions, size: 214306)
04:50
Add an implementation mark and fix a comment describing the OP_Checkpoint opcode. file: [1a9e671c] check-in: [7475b90c] user: drh branch: trunk, size: 212349)
2014-12-02
19:04
Add the SQLITE_CHECKPOINT_TRUNCATE option. file: [60217f3b] check-in: [8e20a434] user: dan branch: checkpoint-truncate, size: 212338)
16:38
Merge all recent enhancements and bug fixes from trunk into the apple-osx branch. file: [8a460939] check-in: [43c4ba26] user: drh branch: apple-osx, size: 212326)
16:31
Merge all recent fixes and enhancements from trunk into sessions. file: [24e59021] check-in: [2617d937] user: drh branch: sessions, size: 214249)
2014-11-20
02:18
Add some requirements marks to the record formatting logic. Comment changes only - the code is unaltered. file: [ec1f55ac] check-in: [9a9627e1] user: drh branch: trunk, size: 212292)
2014-11-19
14:31
Completely remove an assert() that had previously been commented out. file: [16914136] check-in: [89b3c1c4] user: drh branch: trunk, size: 211878)
2014-11-18
21:27
Merge recent trunk enhancements. file: [cb6dab39] check-in: [ccb601f6] user: drh branch: apple-osx, size: 211991)
21:20
Merge recent trunk enhancements, including the read-after-ROLLBACK change and the addition of sqlite3_stmt_scanstatus() support, as well as various minor bug fixes. file: [ef0d4a46] check-in: [f09055f3] user: drh branch: sessions, size: 213914)
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: [5563459c] check-in: [296b0c73] user: drh branch: trunk, size: 211957)
2014-11-17
19:44
Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state. Cherrypick of [54e7d3fcb1]. file: [8bc291aa] check-in: [2f2ecb99] user: dan branch: branch-3.8.7, size: 211705)
19:42
Avoid calling sqlite3BtreeKeysize() on a b-tree cursor in SKIPNEXT or SKIPPREV state. file: [5d3991d7] check-in: [54e7d3fc] user: dan branch: trunk, size: 211909)
17:13
When a SELECT statement is terminated by a ROLLBACK TO operation, make the error message be "abort due to ROLLBACK" rather than "callback requested query abort". file: [3e8f9787] check-in: [34fc4a08] user: drh branch: branch-3.8.7, size: 211633)
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: [a6b60436] check-in: [402780a9] user: drh branch: branch-3.8.7, size: 211585)
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: [5e473088] check-in: [dd03a280] user: dan branch: trunk, size: 211837)
14:07
Make sure that NULL results from OP_Column are fully and completely NULL and do not have the MEM_Ephem bit set. Fix for ticket [094d39a4c95ee4]. file: [0b4ffa1a] check-in: [e1017745] user: drh branch: branch-3.8.7, size: 211523)
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: [4c77cdf1] check-in: [d4b2d5d0] user: drh branch: branch-3.8.7, size: 211526)
01:33
Experimental changes that permit read operations to continue after a ROLLBACK, as long as the schema is unchanged. file: [c71d819b] check-in: [fa6e6a9a] user: drh branch: read-after-rollback, size: 211775)
2014-11-07
14:41
Add new test file e_blobopen.test, containing tests for sqlite3_blob_open(). file: [d5dab222] check-in: [ecbccd0e] user: dan branch: trunk, size: 211616)
2014-11-05
15:57
Make sure that NULL results from OP_Column are fully and completely NULL and do not have the MEM_Ephem bit set. Fix for ticket [094d39a4c95ee4]. file: [3fd4ebd3] check-in: [42705fd7] user: drh branch: trunk, size: 211593)
2014-11-03
15:33
Add further tests. Fixes so that compilation without ENABLE_STMT_SCANSTATUS works. file: [175a360c] check-in: [a2303c71] user: dan branch: scanstatus, size: 211596)
2014-11-01
21:00
Minor performance enhancements to SQLITE_ENABLE_STMT_SCANSTATUS code. file: [ccc626d7] check-in: [f13d6ba8] user: dan branch: scanstatus, size: 211508)
20:38
If SQLITE_ENABLE_STMT_SCANSTATUS is defined, record the number of times each VDBE opcode is executed. Derive the values returned by sqlite3_stmt_scanstatus() from these records on demand. file: [69d02573] check-in: [9ea37422] user: dan branch: scanstatus, size: 211462)
18:08
Minor fixes and documentation improvements for sqlite3_stmt_scanstatus(). file: [5240bad2] check-in: [8d8cc960] user: dan branch: scanstatus, size: 212622)
2014-10-31
20:11
Add the experimental sqlite3_stmt_scanstatus() API. file: [80329be8] check-in: [6a9bab34] user: dan branch: scanstatus, size: 212534)
15:20
Merge all recent trunk enhancements into the apple-osx branch. file: [d9245b3b] check-in: [fef8430f] user: drh branch: apple-osx, size: 211439)
14:53
Merge recent trunk enhancements, and in particular the improvements to the b-tree balancing logic, into the sessions branch. file: [407f16f5] check-in: [28b044a5] user: drh branch: sessions, size: 213362)
2014-10-29
01:13
In the OP_Column opcode, when extracting a field that is past the end of a short record (because the row was originally inserted prior to ALTER TABLE ADD COLUMN) then make sure the output register is fully NULL and does not contain leftover flags (such as MEM_Ephem) from its previous use. Fix for ticket [43107840f1c02]. This is a cherrypick of check-in [24780f8ddc1683fc]. file: [5a1afb57] check-in: [304ea6ba] user: drh branch: branch-3.8.7, size: 211367)
00:58
In the OP_Column opcode, when extracting a field that is past the end of a short record (because the row was originally inserted prior to ALTER TABLE ADD COLUMN) then make sure the output register is fully NULL and does not contain leftover flags (such as MEM_Ephem) from its previous use. Fix for ticket [43107840f1c02]. file: [49e659bc] check-in: [24780f8d] user: drh branch: trunk, size: 211405)
2014-10-28
18:24
Modify the documentation for sqlite3_changes() to make it more testable. Add tests and minor fixes for the same. file: [1b7e8cca] check-in: [41cdd0c4] user: dan branch: trunk, size: 211408)
2014-10-23
17:26
Add debugging code to count the number of iterations of each loop made as part of statement execution. file: [5acb0a03] check-in: [c6a5b67a] user: dan branch: debug-loopcounters, size: 211482)
2014-10-14
14:17
Merge from trunk recent micro-optimizations and the fix for the DESC index GROUP BY ORDER BY bug. file: [678170cc] check-in: [880df756] user: drh branch: apple-osx, size: 211404)
13:41
Merge recent trunk micro-optimizations and the DESC index GROUP BY ORDER BY bug fix into the sessions branch. file: [a1465183] check-in: [83d4114f] user: drh branch: sessions, size: 213327)
2014-10-13
23:39
Optimize a database corruption test inside of the OP_Column opcode. file: [5ee15a66] check-in: [005e5b38] user: drh branch: trunk, size: 211370)
20:12
Use the padding word in the Mem object as temporary storage for serial_type value in OP_Record, and thus avoid a redundant computation of the serial_type for each column. file: [8755e3bb] check-in: [4b3b65ee] user: drh branch: trunk, size: 211302)
16:02
Reduce the CPU load imposed by sqlit3VdbeCursorMoveto() by factoring out some of its functions and by avoiding unnecessary calls. file: [cf7c24e5] check-in: [c2799aec] user: drh branch: trunk, size: 211317)
13:00
Remove the OPFLAG_CLEARCACHE flag from OP_Column. In its place, change the P3 parameter of OP_SorterData to be the index of the pseudo-table cursor whose record header cache is to be cleared. This gives a small size reduction and performance increase. file: [6e07ea13] check-in: [20062f49] user: drh branch: trunk, size: 210919)
12:30
Use OP_SorterColumns in aggregate queries. Remove OPFLAG_CLEARCACHE. file: [124df37e] check-in: [134e65c0] user: drh branch: OP_SorterColumns, size: 211966)
01:23
Add the OP_SorterColumns opcode - an experiment in using a special case opcode to decode the Sorter output rather than the generic OP_Column. This might be faster. And with further work, it could eventually eliminate the need for OP_OpenPseudo. file: [5ffd7b18] check-in: [b9c695e8] user: drh branch: OP_SorterColumns, size: 212333)
2014-10-12
22:37
Remove the VdbeCursor.lastRowid cache of the current rowid, since maintaining the correct cache value uses more CPU cycles than just recomputing the rowid on the occasions when it is actually needed. Replace it with the VdbeCursor.aOffset field which used to be computed from VdbeCursor.aType when needed. Saves 100 bytes of code space and runs 0.2% faster. file: [97c6c50e] check-in: [91384a7d] user: drh branch: trunk, size: 210426)
2014-10-11
23:31
Performance optimization and very slight size reduction for OP_Column. file: [58c19340] check-in: [869c30e4] user: drh branch: trunk, size: 211075)
2014-10-10
12:56
Merge all recent trunk changes. file: [10880af9] check-in: [abfef254] user: drh branch: sessions, size: 212729)
2014-10-09
11:27
Merge the latest trunk enhancements into the apple-osx branch. file: [30f8ae7e] check-in: [6fc72077] user: drh branch: apple-osx, size: 210764)
2014-10-08
14:28
Set the connection-specific lastRowid value before calling any SQL function. file: [fee8286f] check-in: [dff0f642] user: drh branch: trunk, size: 210730)
2014-10-07
23:02
Make sure the sqlite3VdbeMemClearAndResize() routine is never called with a zero size parameter, since a size of zero could lead to either a memory leak or an assertion fault. file: [e6c96410] check-in: [f672a380] user: drh branch: trunk, size: 210739)
2014-10-01
01:46
Merge the latest enhancements from trunk. file: [47806912] check-in: [2078454a] user: drh branch: apple-osx, size: 210745)
2014-09-29
18:47
Add the OPFLAG_MULTICOLUMN flag to the OP_Column opcode. Rearrange OP_Column instructions to take advantage of the new flag for a small performance increase file: [89636b00] check-in: [5e5d6e86] user: drh branch: faster-OP_Column, size: 211806)
2014-09-27
19:51
Merge recent trunk changes (performance enhancements) into the sessions branch. file: [a96171a2] check-in: [497367cb] user: drh branch: sessions, size: 212710)
2014-09-26
18:30
Add an assert() to verify the last-row-id for the database just prior to calling a SQL function. file: [93eeb6f9] check-in: [d026f0c9] user: mistachkin branch: trunk, size: 210711)
01:10
If an SQL function makes a recursive call to do an INSERT into the same database, make sure that the last_insert_rowid() for that INSERT is recorded. file: [91b7e12b] check-in: [e93aecc0] user: drh branch: trunk, size: 210673)
2014-09-25
17:42
Minor code reformatting and comment change, to improve clarity. No logic changes. file: [e4df7191] check-in: [baeb72a3] user: drh branch: trunk, size: 210600)
13:17
Simplifications to the SQL function and aggregate calling procedures. file: [73eace75] check-in: [3467049a] user: drh branch: trunk, size: 210566)
12:31
Simplification to the random rowid picking logic that begins running when the maximum possible rowid has already been used. file: [9fe630d0] check-in: [1330c72e] user: drh branch: trunk, size: 211008)
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: [23db9b11] check-in: [99323552] user: drh branch: trunk, size: 211433)
2014-09-21
23:08
Merge in all recent changes from trunk. file: [cdeb9273] check-in: [3967ebe8] user: drh branch: apple-osx, size: 211620)
22:49
Merge all recent trunk changes into the sessions branch. file: [5e6d4ef3] check-in: [6406b77f] user: drh branch: sessions, size: 213585)
2014-09-19
22:44
Simplify two conditionals and add testcase() macros to the affinity transform logic in the comparison operators. file: [de1af179] check-in: [544664ca] user: drh branch: trunk, size: 211586)
22:01
Tighten the conditions under which applyNumericAffinity() be called and add assert() statements to prove that it is never called otherwise. file: [16efd1ae] check-in: [e996ca32] user: drh branch: trunk, size: 211440)
16:56
Remove a local variable from the OP_Column implementation, resulting in a modest size reduction and a performance increase. file: [c90b7ebe] check-in: [6199760d] user: drh branch: trunk, size: 211426)
15:28
The OP_Column opcode runs faster and is smaller by manually in-lining the code that persists string values in the output register. file: [9f2a0a2d] check-in: [36b613cc] user: drh branch: trunk, size: 211466)
00:43
Add the sqlite3VdbeMemClearAndResize() interface to be used in place of sqlite3VdbeMemGrow(). A C++ style comment was left in this check-in by mistake, and so it has been moved into a branch to avoid problems in any future bisects on windows. file: [7bc115e5] check-in: [5b9b8987] user: drh branch: Cplusplus-comment, size: 210899)
2014-09-18
21:25
Add the Mem.szMalloc element to the Mem object and use it to keep track of the size of the Mem.zMalloc allocation. file: [fb490f5b] check-in: [9c09ac35] user: drh branch: trunk, size: 210868)
17:52
Merge the Mem.r value into the MemValue union as Mem.u.r. Hence, a Mem can now store an integer or a real but not both at the same time. Strings are still stored in a separate element Mem.z, for now. file: [17f285ff] check-in: [4c8c89d7] user: drh branch: trunk, size: 211035)
16:28
Performance improvement for affinity transformations on comparison operators. file: [b00ffadc] check-in: [d7afdcba] user: drh branch: trunk, size: 210965)
14:36
Since numeric affinity is the most common case, check it first. Interchange the NONE and TEXT affinity codes for easier checking of no affinity. file: [2caa3b1e] check-in: [4ef4c9a7] user: drh branch: trunk, size: 210484)
2014-09-17
23:37
Performance improvement and slight size reduction to the comparison operators in the VDBE. file: [78606777] check-in: [14052a7d] user: drh branch: micro-optimizations, size: 210464)
16:41
In the Mem object, stop requiring that Mem.xDel be NULL when the MEM_Dyn bit is clear. Also reduce the amount of initialization of Mem objects. All for a small size reduction and performance increase. file: [d3c548ad] check-in: [fdddb477] user: drh branch: micro-optimizations, size: 210388)
14:52
Improved interface to the Mem object handling. Small size reduction and performance increase. file: [d3948778] check-in: [4e437844] user: drh branch: micro-optimizations, size: 210455)
2014-09-16
20:05
Make sure registers are cleared properly prior to being used to store the result of an OP_Column operator. file: [6a45baf8] check-in: [78fb8838] user: drh branch: micro-optimizations, size: 210391)
18:22
Simplification of the OP_Column logic for the case of rows with overflow. file: [ff1b0b4f] check-in: [f7367803] user: drh branch: micro-optimizations, size: 210393)
14:55
Remove an unused parameter from sqlite3VdbeIdxRowid(). This is cosmetic only as the C-compiler optimizers were already omitting this parameter on amalgamation builds. file: [ae07ee84] check-in: [a10a6bba] user: drh branch: micro-optimizations, size: 210990)
2014-09-08
15:04
Merge support for large files on Android from trunk. file: [16b7d573] check-in: [c2885c6b] user: drh branch: sessions, size: 212993)
2014-09-06
16:39
Fix typos in comments. No code changes. file: [9a45dcbc] check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 210994)
2014-09-02
15:57
Merge the latest trunk changes into the apple-osx branch. file: [0c353a88] check-in: [696dc935] user: drh branch: apple-osx, size: 211027)
15:49
Merge the latest trunk changes, including the multi-threaded sorter, into the sessions branch. file: [591bd4a8] check-in: [d4cce2c7] user: drh branch: sessions, size: 212992)
2014-08-29
14:40
Merge recent performance enhancements from trunk onto the threads branch. file: [90db7ad7] check-in: [35c44a3c] user: drh branch: threads, size: 210993)
11:24
Add the sqlite3VdbeChangeDest() routine that can be used to eliminate OP_Move opcodes. file: [a15dea6a] check-in: [8c57bcc3] user: drh branch: experimental, size: 210350)
2014-08-27
17:53
Add a VDBE synopsis comment for clarification. file: [fd193824] check-in: [029a6dc7] user: mistachkin branch: trunk, size: 210323)
14:14
In the sqlite3_context object, keep a pointer to the result value rather than storing the result value in the sqlite3_context object and using memcpy() to move the value back into its register after the function returns. This runs faster and saves over 500 bytes of code space. file: [8b663842] check-in: [6c1ee3e3] user: drh branch: trunk, size: 210294)
2014-08-26
02:15
Merge recent performance enhancements and the CAST operator enhancements into the sessions branch. file: [5e576d16] check-in: [08ae974a] user: drh branch: sessions, size: 213710)
02:02
Merge recent performance enhancements and the CAST operator enhancements into the apple-osx branch. file: [4a9e8ed7] check-in: [5c273111] user: drh branch: apple-osx, size: 211745)
2014-08-25
22:43
Merge the CAST operator enhancements from trunk. file: [5d6a6ad6] check-in: [6c8f86e4] user: drh branch: threads, size: 212381)
22:37
Add an assert() and five testcase() macros to the OP_Cast opcode implementation to help verify that it is fully tested. file: [2f8fbc52] check-in: [af364cce] user: drh branch: trunk, size: 211711)
20:11
Allow CAST expressions and unary "+" operators to be used in the DEFAULT argument of an ALTER TABLE ADD COLUMN and to be understand on the RHS of range constraints interpreted by STAT3/4. This involves a rewrite of the implementation of the CAST operator. file: [2b3420d2] check-in: [91d8a8d0] user: drh branch: trunk, size: 211439)
13:27
Merge the recent performance enhancements implemented on trunk into the threads branch. file: [93cf510b] check-in: [dfdc900f] user: drh branch: threads, size: 214843)
11:20
Change the name of the VdbeMemRelease() macro to VdbeMemReleaseExtern() to more accurately reflect what it does. Performance enhancement to the sqlite3VdbeMemRelease() function. file: [0fe4b476] check-in: [3ca5846d] user: drh branch: trunk, size: 214173)
2014-08-23
17:41
Improved performance in the type handling of arithmetic operators in the VDBE. file: [52ee5d58] check-in: [0c0a6039] user: drh branch: trunk, size: 214149)
17:21
Performance optimization in the applyAffinity() logic inside the VDBE. file: [76f9fc30] check-in: [25f2246b] user: drh branch: trunk, size: 213734)
2014-08-15
15:10
Update the sessions branch for version 3.8.6. file: [ff9bec31] check-in: [2acbeac1] user: drh branch: sessions, size: 215185)
2014-08-14
14:02
Merge the pre-3.8.6 changes into the threads branch. file: [aae4addd] check-in: [a608fd1d] user: drh branch: threads, size: 213862)
13:39
Merge the pre-3.8.6 changes from trunk into the apple-osx branch. file: [91552c6f] check-in: [08058df3] user: drh branch: apple-osx, size: 213220)
13:06
Fix typos in comments used to help generate documentation. No changes to code. file: [f7f4066e] check-in: [13a2d90a] user: drh branch: trunk, size: 213186)
2014-08-13
14:43
Merge the trunk changes for 3.8.6 beta3 into the sessions branch. file: [b23574ed] check-in: [d49455d9] user: drh branch: sessions, size: 215183)
2014-08-06
17:49
Fix two more harmless compiler warnings. Make sure the fts3_unicode2.c file is in sync with mkunicode.tcl. file: [cd8d7e3e] check-in: [a2a60307] user: drh branch: trunk, size: 213184)
02:03
Merge all recent changes from trunk. file: [787d1b51] check-in: [a353a851] user: drh branch: threads, size: 213855)
01:51
Merge 3.8.6 beta changes in from trunk. file: [bd3bc4d3] check-in: [b2e01080] user: drh branch: apple-osx, size: 213213)
01:25
Merge the latest 3.8.6 beta changes from trunk. file: [54fa84fd] check-in: [68a6d5e2] user: drh branch: sessions, size: 215178)
01:08
Fix typos in the opcode documentation. Comment changes only. No changes to code. file: [2db817cf] check-in: [717245d4] user: drh branch: trunk, size: 213179)
2014-08-05
00:53
Improved VdbeCoverage() macros. A few minor simplifications to generated VDBE code. file: [aa93cf7a] check-in: [01f60027] user: drh branch: IN-operator-improvements, size: 213187)
2014-08-04
15:12
Changed my mind: This opcode name changes mere creates unnecessary diff marks between older and newer versions without significantly improving readability. Was: Rename the IsNull opcode to IfNull and rename the NotNull opcode to IfNotNull. file: [83ddbf84] check-in: [2f724cba] user: drh branch: deadend, size: 213010)
2014-08-01
18:00
Remove an unnecessary OP_Null in the IN-operator logic. Attempt to clarify comments explaining the IN-operator code, though it is not clear that the comments are correct even yet - more work to be done. file: [b9e6866e] check-in: [c11e55fa] user: drh branch: trunk, size: 213006)
01:40
Enhance the PRAGMA integrity_check command to detect UNIQUE and NOT NULL constraint violations. file: [115e0883] check-in: [9abcf269] user: drh branch: trunk, size: 212978)
2014-07-30
14:57
Merge in the CREATE UNIQUE INDEX fix of ticket [9a6daf340df99ba93c53bcf]. file: [4faacd47] check-in: [fa791232] user: drh branch: apple-osx, size: 212991)
14:44
Merge recent trunk changes, and especially the fix for the CREATE UNIQUE INDEX problem of ticket [9a6daf340df99ba9]. file: [e27749e6] check-in: [5b50a838] user: drh branch: threads, size: 213633)
14:29
Merge the fix for the CREATE UNIQUE INDEX problem into the sessions branch. file: [79cd8443] check-in: [43401ee6] user: drh branch: sessions, size: 214956)
13:56
Ensure that the correct number of columns in a UNIQUE index are checked for uniqueness, regardless of whether or not the original table has a ROWID or if the columns are NOT NULL, etc. Ticket [9a6daf340df99ba93c]. file: [f87f77b0] check-in: [6b785e92] user: drh branch: trunk, size: 212957)
11:49
Merge all recent trunk changes, and especially the R-Tree IN operator fix of ticket [d2889096e7bdeac]. file: [d05d3d0e] check-in: [654c6c65] user: drh branch: apple-osx, size: 212988)
2014-07-29
12:40
Merge recent trunk changes, and especially the fix for the R-Tree problem described in ticket [d2889096e7bdeac6]. file: [3d195314] check-in: [8f1beead] user: drh branch: sessions, size: 214953)
2014-07-28
15:01
Merge recent trunk changes into the threads branch. file: [c28f377d] check-in: [163c247b] user: drh branch: threads, size: 213630)
2014-07-26
20:12
Remove an unreachable branch from the sqlite3_value_numeric_type() interface. file: [b127f05f] check-in: [5350229b] user: drh branch: trunk, size: 212954)
16:47
Avoid unnecessary no-op calls to applyNumericAffinity() for a small performance improvement. file: [145f909c] check-in: [413d7287] user: drh branch: trunk, size: 212954)
2014-07-25
18:37
Improved comments on VDBE opcodes, for better documentation. No code or logic changes. file: [b7af8613] check-in: [2d32e487] user: drh branch: trunk, size: 212926)
18:01
Add constraints (enforced only when SQLITE_DEBUG is enabled) on the use of OP_Next and OP_Prev. file: [c6a9094a] check-in: [2230c74f] user: drh branch: trunk, size: 212541)
2014-07-24
16:54
Merge all recent trunk changes into the threads branch. file: [7ba7cc29] check-in: [77068589] user: drh branch: threads, size: 210293)
16:43
Merge recent trunk changes into the apple-osx branch. file: [2e38a1a2] check-in: [3810dc62] user: drh branch: apple-osx, size: 209651)
16:23
Merge recent trunk changes into the sessions branch. file: [7224ed5d] check-in: [a9db017e] user: drh branch: sessions, size: 211616)
2014-07-22
20:02
Add the OP_ReopenIdx opcode that works like OP_OpenRead except that it becomes a no-op if the cursor is already open on the same index. Update the OR-optimization logic to make use of OP_ReopenIdx in order to avoid unnecessary cursor open requests sent to the B-Tree layer. file: [fa74c656] check-in: [77f412ca] user: drh branch: trunk, size: 209617)
14:58
Enhance the sqlite_stat1.stat parsing to allow additional text parameters at the end. Unrecognized parameters are silently ignored. file: [2f3f0582] check-in: [ca2a5a2c] user: drh branch: trunk, size: 208521)
2014-07-21
15:44
Allow the SQLITE_MAX_ATTACHED compile-time option to be larger than 62. The default limit on the number of attached databases remains 10. file: [514adcc9] check-in: [1a817ae2] user: drh branch: trunk, size: 208437)
2014-07-15
11:59
Add simple tests for new sqlite3BtreeCursorHint() functionality. file: [54e269c6] check-in: [1efa6ed5] user: dan branch: cursor-hints, size: 204964)
2014-05-29
20:36
Merge trunk changes into the apple-osx branch. file: [91564992] check-in: [b9fad449] user: drh branch: apple-osx, size: 208571)
20:29
Merge trunk changes into the sessions branch. file: [62f98559] check-in: [9f18e78f] user: drh branch: sessions, size: 210536)
20:24
Merge changes from the trunk into the threads branch. file: [1dff86d8] check-in: [416cb091] user: drh branch: threads, size: 209213)
2014-05-27
10:57
Fix for (unsupported) SQLITE_USE_FCNTL_TRACE code. file: [9bfe6bec] check-in: [994b2b7a] user: drh branch: trunk, size: 208537)
2014-05-26
20:15
Merge recent trunk changes into the threads branch. file: [d4f57833] check-in: [82152027] user: drh branch: threads, size: 209212)
20:08
Merge recent trunk changes into the apple-osx branch. file: [52358722] check-in: [54b5fa77] user: drh branch: apple-osx, size: 208570)
20:00
Merge recent trunk changes into the sessions branch. file: [79b08ff9] check-in: [a769c7e0] user: drh branch: sessions, size: 210535)
2014-05-24
17:15
Remove references in comments to VDBE opcodes that no longer exist. This is a documentation change only; no changes to code. file: [3ebcbe6a] check-in: [ebfb51fe] user: drh branch: trunk, size: 208536)
2014-05-20
00:20
Merge recent trunk changes into the sessions branch. file: [9811665a] check-in: [2d33afe0] user: drh branch: sessions, size: 210575)
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: [0510ef1e] check-in: [17349a49] user: drh branch: safer-malloc, size: 208596)
2014-05-16
20:24
Rearrange some conditionals and add #if statements to make the code more testable. file: [4d11273a] check-in: [17afd770] user: drh branch: threads, size: 209252)
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: [0c647813] check-in: [9411d7dc] user: drh branch: apple-osx, size: 208610)
2014-05-02
18:05
Merge orderby-planning with this branch. file: [89ab2ded] check-in: [d9549de3] user: dan branch: threads, size: 209245)
13:09
Merge latest trunk enhancements and fixes into the orderby-planning branch. file: [b3510cc7] check-in: [84862d3a] user: drh branch: orderby-planning, size: 209037)
2014-05-01
20:26
Fix an obscure problem to do with temp register allocation that could occur if more than one simple SELECT within a compound SELECT uses a partial sort. file: [7f359193] check-in: [427409ae] user: dan branch: trunk, size: 208576)
2014-04-28
18:02
Merge all recent trunk enhancements and fixes into the sessions branch. file: [d6038559] check-in: [e158812c] user: drh branch: sessions, size: 210520)
2014-04-25
12:35
When VDBE_PROFILE is enabled, ignore negative opcode times, which sometimes occur, perhaps due to context swaps. file: [699693be] check-in: [4e88042f] user: drh branch: trunk, size: 208521)
2014-04-24
15:06
Reopen the orderby-planning branch and merge in the latest trunk enhancements and fixes. file: [59ad2f4c] check-in: [6077ddcd] user: drh branch: orderby-planning, size: 208962)
2014-04-18
13:40
Fix harmless compiler warnings. file: [b50cd300] check-in: [f8f72ecb] user: drh branch: threads, size: 209170)
12:38
Merge recent trunk changes into the threads branch. file: [cba6c791] check-in: [8729aa3e] user: drh branch: threads, size: 209167)
01:10
Merge recent trunk changes into sessions. file: [9d883d5c] check-in: [95e77efe] user: drh branch: sessions, size: 210500)
2014-04-10
02:24
Modify the OR-clause handling so that it can safely deal with OR-clause with 17 or more terms. Fix for ticket [10fb063b1179be53ea0b53bb]. file: [bf284ede] check-in: [a67b5312] user: drh branch: trunk, size: 208501)
2014-04-03
16:42
Merge all recent changes from trunk. file: [9f3d1b35] check-in: [a0910079] user: drh branch: threads, size: 209259)
16:35
Merge all recent changes from trunk, including the fix for the OP_SCopy-vs-OP_Copy problem. file: [47bdf5f8] check-in: [9515c834] user: drh branch: sessions, size: 210592)
14:31
Fix a typo in the "Synopsis:" comment for the OP_VFilter opcode. file: [e811a008] check-in: [48ecdd4a] user: drh branch: trunk, size: 208593)
2014-04-01
18:41
When sorting data for a CREATE INDEX statement in single-threaded mode, assume that keys are delivered to the sorter in primary key order. Also fix various comments that had fallen out of date. file: [eed22300] check-in: [821d1ac4] user: dan branch: threads, size: 209259)
2014-03-26
19:43
Merge in fixes (including the corrupt-database crash fix) and performance enhancements from trunk. file: [99f878d0] check-in: [fc8ca1a8] user: drh branch: sessions, size: 210592)
2014-03-25
18:29
Merge enhancements and fixes from trunk. file: [02f2de0b] check-in: [e005f2d6] user: drh branch: orderby-planning, size: 209054)
15:04
Remove the sequence values from sorter records used by ORDER BY as well. file: [42177064] check-in: [c3ae3697] user: dan branch: orderby-planning, size: 208334)
2014-03-24
15:00
Fix arithmetic operators so that they do not change the affinity of their input operands. Ticket [a8a0d2996a]. file: [74c7386e] check-in: [221f8f94] user: drh branch: trunk, size: 208593)
2014-03-23
16:29
Avoid a possible use of an uninitialized variable following an I/O or OOM error. file: [5c0feeb6] check-in: [641408a1] user: drh branch: trunk, size: 207873)
2014-03-19
17:41
Make it possible for block-sort to use the OP_SorterOpen sorter in addition to a generic OP_OpenEphemeral. file: [37cfae03] check-in: [7ce2daaf] user: drh branch: orderby-planning, size: 207862)
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: [e0fe9394] check-in: [59742dd4] user: drh branch: orderby-planning, size: 207683)
2014-03-06
13:48
Merge the latest 3.8.4 tweaks from trunk. file: [a088d168] check-in: [1ed463d9] user: drh branch: sessions, size: 209184)
13:38
Improved EXPLAIN indentation of a loop in the ANALYZE logic for STAT4. Mark the not-found jump of a seek operation in that loop as never taken. file: [5f0fffa9] check-in: [0a4200f9] user: drh branch: trunk, size: 207185)
01:56
Fix some incorrect comments and typos in comments. Add testcase() macros to some of the new record comparison code. file: [b2ca9b8e] check-in: [b83cfe89] user: drh branch: trunk, size: 206902)
2014-03-05
14:49
Merge in various obscure bug fixes and the removal of Mem.memType from trunk. file: [ccddf62b] check-in: [0828975d] user: drh branch: sessions, size: 208897)
01:29
Experimental simplification of memory flags/type handling. file: [8c6fc7bb] check-in: [bac2820e] user: mistachkin branch: noMemType, size: 206898)
2014-03-04
14:34
Merge the performance enhancements of trunk (and some obscure bug fixes) into the sessions branch. file: [69e2bd96] check-in: [7f51ad97] user: drh branch: sessions, size: 209117)
2014-03-03
14:45
Merge latest trunk changes. file: [75c3f5d2] check-in: [e00ed717] user: dan branch: experimental, size: 207118)
2014-03-01
18:13
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be used to free the string or blob. Add tighter invariant checks on Mem. file: [cbed4957] check-in: [44e1c337] user: drh branch: enhanced-mem-check, size: 207253)
16:24
Factor the Mem invariant checker into a separate procedure (rather than a macro) so that it can be more easily extended. file: [9abaa1eb] check-in: [354699d5] user: drh branch: enhanced-mem-check, size: 207227)
14:45
Add extra assert() statements trying to catch a Mem object in an inconsistent state. file: [e9eda47b] check-in: [4aeb3ae4] user: drh branch: enhanced-mem-check, size: 207151)
2014-02-25
21:01
Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. file: [ab910206] check-in: [85206e0b] user: dan branch: experimental, size: 206853)
2014-02-24
14:24
Remove an unused variable from the VDBE_PROFILE compile-time option. Keep the opcode count in an u32 instead of an int. file: [6c8f2891] check-in: [4df0ac90] user: drh branch: trunk, size: 206988)
2014-02-20
19:42
Fix the text of a comment used to generate VDBE opcode documentation so that it omits symbols that can be mistaken for a hyperlink by the parser. file: [c5ff7b38] check-in: [b46d4e89] user: drh branch: trunk, size: 207191)
2014-02-19
19:14
Add the VdbeCoverageNeverTaken() macro, and comments that better describe how the VDBE branch coverage measurement works. Add some tags to provide 100% VDBE branch coverage. file: [b82ffb8c] check-in: [c1e94169] user: drh branch: trunk, size: 207191)
14:20
Add the SQLITE_NOTNULL P5 code for comparison operations - really a composite of SQLITE_NULLEQ and SQLITE_JUMPIFNULL. This flag indicates that NULL operands are not possible and raises and assert() if NULL operands are seen. Also omit an unnecessary scan of the sqlite_sequence table when writing into an AUTOINCREMENT table. file: [16c220ae] check-in: [d2c047f3] user: drh branch: trunk, size: 206514)
2014-02-18
11:31
Fix VDBE branch accounting on comparison operators. file: [6e3d5d4c] check-in: [b287520c] user: drh branch: trunk, size: 206488)
2014-02-17
22:40
Add logic to do test coverage measurements on the VDBE code. file: [392f03b2] check-in: [ce184c7b] user: drh branch: insert-optimization, size: 206492)
14:59
Avoid unnecessary calls to applyAffinity() during INSERT and UPDATE operations, especially for table that have indices and tables for which all columns have affinity "NONE". file: [e3ba6ad0] check-in: [35b4d6e9] user: drh branch: insert-optimization, size: 204946)
2014-02-16
01:55
Enhance the code generator for INSERT INTO ... SELECT so that the SELECT generates output directly in the registers that INSERT INTO will be using, in many cases, and OP_SCopy operations can thus be avoided. file: [7b74ce68] check-in: [aa2d8b0e] user: drh branch: insert-optimization, size: 204921)
2014-02-14
15:13
Add OP_IdxGT and OP_IdxLE as distinct opcodes. Formerly these operations where done using OP_IdxGE and OP_IdxLT with the P5 flag set. But VDBE code is easier to read with distinct opcode names. Also change OP_SeekGe to OP_SeekGE, and so forth, so that the capitalization is consistent. The whole point of this change is to improve the readability of VDBE listings. file: [543ed4ed] check-in: [b6bea903] user: drh branch: trunk, size: 204551)
2014-02-12
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: [3f0872b1] check-in: [56bc5ce8] user: drh branch: trunk, size: 203662)
2014-02-11
04:30
Sync the latest trunk changes, and in particular the STAT4 IS NOT NULL fix. file: [8b389fc5] check-in: [b0067926] user: drh branch: sessions, size: 205987)
2014-02-10
15:56
Improvements to a "Synopsis:" comment in the VDBE engine. file: [e5c87476] check-in: [0dfa7ee9] user: drh branch: trunk, size: 203988)
03:21
Faster and smaller implementation of sqlite3_value_type(). file: [66c3e5c4] check-in: [5708bc24] user: drh branch: trunk, size: 203988)
2014-02-08
23:20
Do away with the "multi-register pseudo-table" abstration. Instead, just use an OP_SCopy to load results directory from the result registers of the co-routine. file: [78b41fd0] check-in: [1e64dd78] user: drh branch: trunk, size: 204518)
19:12
Change the OP_Found opcode so that it expands zero-blobs prior to comparing them. Fix for ticket [fccbde530a6583b] file: [a5556442] check-in: [e2303d1b] user: drh branch: trunk, size: 204795)
01:40
Change the OP_Trace opcode to OP_Init and give it the ability to jump to the initialization code at the bottom of the program, thus avoiding the need for an extra OP_Goto. file: [0944fe28] check-in: [192dea97] user: drh branch: trunk, size: 204790)
2014-02-07
19:18
Change the OP_InitCoroutine instruction to jump over the co-routine implementation. file: [e7bb0587] check-in: [a522f364] user: drh branch: coroutine-refactor, size: 204480)
18:27
Get rid of the OP_Undef and OP_IsUndef opcodes in favor of higher-level OP_InitCoroutine and OP_EndCoroutine. file: [10ddcf5f] check-in: [1ec0e9dd] user: drh branch: coroutine-refactor, size: 204313)
13:20
Add the OP_Undef and OP_IsUndef opcodes. With these, use the first register in the result register range as the flag to indicate EOF on an INSERT from a SELECT, rather than allocating a separate boolean register for that task. file: [8697f15a] check-in: [6fb74485] user: drh branch: coroutine-refactor, size: 203616)
03:28
More comment updates. No changes to code. file: [575189ca] check-in: [be24fbc2] user: mistachkin branch: trunk, size: 203116)
02:29
Update comments in vdbe.c. No changes to code. file: [962cb7aa] check-in: [1122b410] user: drh branch: trunk, size: 203098)
2014-02-06
23:56
Delete the OP_VerifySchema opcode. Enhance OP_Transaction to do the schema version checks that OP_VerifySchema used to do. file: [5e3a494f] check-in: [2f3376eb] user: drh branch: trunk, size: 204823)
2014-02-05
18:15
Use a new opcode, OP_OpenHash, to indicate that ephemeral tables can be unordered, rather than using the BTREE_UNORDERED bit in the P5 field. file: [2e46c464] check-in: [2997e181] user: drh branch: subquery-codegen-refactor, size: 205289)
17:08
Make the root page of an ephemeral index be page 1 instead of page 2. file: [361f6e55] check-in: [a332908b] user: drh branch: subquery-codegen-refactor, size: 204978)
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: [e703913e] check-in: [6c643e45] user: drh branch: trunk, size: 205406)
2014-01-28
18:06
Bring in the latest updates from trunk. file: [7b5d45ba] check-in: [7b5f3773] user: drh branch: sessions, size: 206812)
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: [73d27c70] check-in: [a2c347fa] user: drh branch: branch-3.8.2, size: 204839)
2014-01-24
22:58
Fixes for various clang warnings. file: [5fe94e13] check-in: [87bf6063] user: drh branch: trunk, size: 204813)
14:05
Bring in all the latest trunk changes, including the Common Table Expressions implementation. file: [c41493ca] check-in: [9b43e559] user: drh branch: sessions, size: 206809)
2014-01-21
22:25
Change the recursive common table expression algorithm to use a queue instead of a pair of tables. Runs about 25% faster on the sudoku solver query. The OP_SwapCursors opcode is no longer required. The current implementation uses just a fifo, but the plan is to change it into a queue that will support ORDER BY and LIMIT in a recursive query. file: [dede894c] check-in: [b2671e11] user: drh branch: cte-via-queue, size: 204810)
2014-01-18
15:22
Add asserts() for a couple of unreachable conditions. Add the Mandelbrot Set query as a test case. file: [98d96d04] check-in: [2ad4583c] user: drh branch: trunk, size: 205655)
2014-01-16
18:34
Allow only a single recursive reference in a recursive CTE. Also require that this reference is not part of a sub-query. file: [ccc8594e] check-in: [a296b733] user: dan branch: common-table-expr, size: 205645)
2014-01-15
19:42
Fixes so that SQLITE_OMIT_CTE builds work. file: [b06d7995] check-in: [3908e2ea] user: dan branch: common-table-expr, size: 206284)
2014-01-14
20:14
Add code to handle recursive CTEs. file: [9b918126] check-in: [a5c2a54a] user: dan branch: common-table-expr, size: 206224)
2013-12-24
12:09
Merge the latest trunk changes into the sessions branch. file: [ad89fac3] check-in: [cfd110bf] user: drh branch: sessions, size: 206853)
2013-12-23
11:33
Remove a stray tab character. file: [b110887e] check-in: [25b8a1c9] user: drh branch: trunk, size: 204854)
2013-12-20
15:59
Combine adjacent single-register OP_Copy instructions into a single multi-register OP_Copy, where possible. Fix the Synopsis comment for multi-register OP_Copy instructions to show the correct register ranges. file: [6bcf27a8] check-in: [2ae22dc0] user: drh branch: trunk, size: 204855)
2013-12-14
18:24
Merge in all recent preformance enhancements from trunk. file: [d8df062f] check-in: [32477642] user: drh branch: sessions, size: 206850)
2013-12-11
11:00
Fix harmless compiler warnings. file: [91942284] check-in: [a7e5fcd6] user: drh branch: trunk, size: 204851)
00:59
Do not run the tool/vdbe-compress.tcl script that generates the vdbeExecUnion object that reduces the size of the sqlite3VdbeExec() stack frame unless the SQLITE_SMALL_STACK compile-time option is specified as on of the OPTS in the makefile. The vdbeExecUnion object gets in the way of C-compiler optimizer and results in slightly slower code. file: [bdc4a981] check-in: [4d078147] user: drh branch: trunk, size: 204809)
2013-12-10
21:38
Avoid unnecessary calls to sqlite3VdbeSerialType() from within sqlite3VdbeSerialPut(). file: [02fac31f] check-in: [079c04a5] user: drh branch: trunk, size: 204550)
20:53
In the OP_MakeRecord opcode, factor out affinity changes into separate loop, for a slight performance advantage. file: [c5b17309] check-in: [1c6ee9b8] user: drh branch: trunk, size: 204551)
2013-12-09
23:17
Simplifications to the OP_MakeRecord opcode and the sqlite3VdbeSerialPut() helper function. file: [4bfb1fe7] check-in: [7277a769] user: drh branch: trunk, size: 204451)
21:06
Reduce the number of times that OP_Column calls sqlite3VdbeMemMakeWriteable(). file: [5338567d] check-in: [6b518635] user: drh branch: trunk, size: 204610)
2013-12-08
23:33
Another simplification to the OP_MakeRecord opcode, making it slightly faster and very slightly smaller. file: [6ccb107d] check-in: [f2f5a3ce] user: drh branch: trunk, size: 204628)
22:59
Avoid unnecessary calls to sqlite3VarintLen() from the OP_MakeRecord opcode. file: [7f51e9d4] check-in: [7a234fc3] user: drh branch: trunk, size: 204395)
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: [88a037e0] check-in: [3a9bec52] user: drh branch: cursor-hints, size: 204824)
2013-11-27
21:53
Merge all recent trunk changes. file: [9c6fb9ed] check-in: [3a2a1bd4] user: drh branch: sessions, size: 206245)
21:07
Remove unnecessary local variables from sqlite3VdbeExec() in order to reduce stack-space requirements of that routine. file: [54894fde] check-in: [81891288] user: drh branch: trunk, size: 204246)
2013-11-26
23:27
Make sure the update hook is not invoked for WITHOUT ROWID tables, as the documentation specifies. This bug was found while adding requirements marks, so a few extraneous requirements marks are included in this check-in. file: [c2b3cd6b] check-in: [0978bac6] user: drh branch: trunk, size: 204278)
18:22
Reduce the amount of code used to implement OP_SeekGe and similar. file: [d9c63f5c] check-in: [8b12a15a] user: dan branch: trunk, size: 204486)
18:00
Merge in performance enhancements from trunk. file: [520dcda6] check-in: [fc9ae839] user: drh branch: sessions, size: 206516)
15:45
Change the REAL-to-INTEGER casting behavior so that if the REAL value is greater than 9223372036854775807.0 then it is cast to the latest possible integer, 9223372036854775807. This is sensible and the way most platforms work in hardware. The former behavior was that oversize REALs would be cast to the smallest possible integer, -9223372036854775808, which is the way Intel hardware works. file: [061d30ae] check-in: [6f53fc71] user: drh branch: trunk, size: 204777)
2013-11-25
17:38
Uses shifts rather than division for arithmetic on the cell indices, since those indices are always non-negative. file: [23d0cfba] check-in: [5bf2a3fe] user: drh branch: btree-optimization, size: 204728)
2013-11-21
21:59
Changes some offset and amount parameters from "int" to "u32" to avoid harmless signed/unsigned comparison warnings. file: [4d637218] check-in: [4e8c5d07] user: drh branch: trunk, size: 204723)
04:18
Another improvement to OP_Function and an improvement to OP_Move. file: [bfbbaf9d] check-in: [70b056fb] user: drh branch: trunk, size: 204723)
03:43
A simple change to the OP_Function opcode improves overall performance by about 0.5%. file: [9d8490d6] check-in: [b890eefd] user: drh branch: trunk, size: 204687)
03:12
Performance optimization to the OP_Next and OP_Prev opcodes. file: [1aabde68] check-in: [ecaac28a] user: drh branch: trunk, size: 204703)
01:04
Reduce the size of VdbeCursor again, this time without a performance hit. file: [c375ba03] check-in: [93393993] user: drh branch: OP_Column-refactor, size: 204130)
00:10
Unpack some fields, adding some space back to the VdbeCursor object, in order to help the code to run a little faster. file: [fb6007ac] check-in: [f8d5efcd] user: drh branch: OP_Column-refactor, size: 204284)
2013-11-20
21:51
Reduce the size of the VdbeCursor object from 144 to 120 bytes. file: [b55581db] check-in: [5f9d5068] user: drh branch: OP_Column-refactor, size: 204334)
20:58
Improved comments on the OP_Column changes. Optimize out loading of overflow pages for content with zero length. Add test cases for the latter. file: [987f375b] check-in: [0e05679d] user: drh branch: OP_Column-refactor, size: 204429)
19:28
Further performance tweaks to OP_Column. file: [1a6e2c94] check-in: [0e3f5df6] user: drh branch: OP_Column-refactor, size: 204007)
17:25
Refactoring the OP_Column opcode for improved performance and maintainability. file: [d4b8a906] check-in: [7c914e39] user: drh branch: OP_Column-refactor, size: 203443)
02:53
Simplifications to the VdbeCursor object. file: [da810a2b] check-in: [5562cd34] user: drh branch: trunk, size: 206305)
00:59
Performance improvement for the OP_MustBeInt opcode in the VDBE. file: [9e2b9065] check-in: [96a65388] user: drh branch: trunk, size: 206336)
2013-11-15
18:58
Fix comments on the OP_Divide and OP_Remainder operators, especially the "Synopsis:" comment, so that they agree with the actual implementation. file: [55738934] check-in: [cc17f1f0] user: drh branch: trunk, size: 206274)
03:21
Fix a typo in the "synopsis" for the OP_Lt opcode that causes an incorrect comment to be added to EXPLAIN output. file: [d53b6b7e] check-in: [d99a30a2] user: drh branch: trunk, size: 206291)
2013-11-14
19:18
Merge the skip-scan optimization into the sessions branch. file: [b1939060] check-in: [7596d1bf] user: drh branch: sessions, size: 208030)
00:09
Simplification to the progress callback check. One branch removed. file: [f9a4e081] check-in: [24ef1654] user: drh branch: trunk, size: 206291)
2013-11-13
23:48
Make sure the progress callback is invoked prior to an SQLITE_ROW return if it is overdue to be called. file: [0057612c] check-in: [21f59b04] user: drh branch: trunk, size: 206323)
17:58
Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify some of the other debugging logic. file: [3d73013b] check-in: [8ce33f4c] user: drh branch: trunk, size: 206063)
2013-11-11
22:55
Merge in the WITHOUT ROWID changes. A few tests are failing now. They will be fixed in a follow-on check-in. file: [8b6b4fce] check-in: [5addd123] user: drh branch: sessions, size: 207560)
16:55
Remove unreachable code, replacing it in most cases with assert() or NEVER() macros. file: [fda0d2ba] check-in: [924d63b2] user: drh branch: trunk, size: 205821)
03:24
Convert several ALWAYS() macros in vdbe.c into assert() statements. file: [aeef5c11] check-in: [acc40ff6] user: drh branch: trunk, size: 205867)
00:43
Fix a problem in OP_IdxDelete as used by REPLACE conflict resolution that comes up due to recent enhancements that reduce the work required for UNIQUE NOT NULL indices. file: [cd3059de] check-in: [61d7d475] user: drh branch: trunk, size: 206971)
2013-11-08
15:19
Performance improvements: Avoid unnecessary seeks when doing a single-row UPDATE on a WITHOUT ROWID table. file: [f635690f] check-in: [6f187a0f] user: drh branch: trunk, size: 206951)
2013-11-07
14:09
Make sure cached KeyInfo objects are only valid for a single database connection. Clear all cached KeyInfo objects on any collating sequence change. file: [ff0170cd] check-in: [55eea178] user: drh branch: omit-rowid, size: 206878)
2013-11-06
16:28
Have the OP_NoConflict opcode set the VdbeCursor.seekResult variable. This speeds up subsequent OP_Insert and OP_IdxInsert opcodes. file: [3493de8d] check-in: [47455500] user: dan branch: omit-rowid, size: 206777)
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: [1e4e3c25] check-in: [a725a75f] user: drh branch: omit-rowid, size: 206751)
14:05
Minor optimization to the OP_Halt opcode. file: [d4b81416] check-in: [d70c7881] user: drh branch: omit-rowid, size: 206751)
2013-11-05
13:33
Standardize the error messages generated by constraint failures to a format of "$TYPE constraint failed: $DETAIL". This involves many changes to the expected output of test cases. file: [94da71c0] check-in: [54b22192] user: drh branch: omit-rowid, size: 206727)
2013-11-04
15:23
Correctly handle changing counting when inserting and deleting on WITHOUT ROWID tables. Add more FOREIGN KEY test cases. file: [8bab8886] check-in: [d072bcd0] user: drh branch: omit-rowid, size: 205814)
2013-11-02
22:29
Improved Synopsis on register comparison operators. Fix a bug on the constraint check generator. file: [3492f312] check-in: [a7a18b65] user: drh branch: omit-rowid, size: 205719)
2013-11-01
22:02
Size KeyInfo objects so that IdxInserts always compare the correct number of fields. file: [9f3dc843] check-in: [302a8139] user: drh branch: omit-rowid, size: 205665)
2013-10-31
20:34
Fix the Synopsis on OP_Concat. Added test_addop_breakpoint() during SQLITE_DEBUG. Enhanced sqlite3VdbeChangeToNoop() to omit the instruction if it is the most recent added. Continue to fix problems with UPDATE and WITHOUT ROWID. file: [613af4c9] check-in: [9b6d9e10] user: drh branch: omit-rowid, size: 205325)
17:38
Fix issues with quering from an auxiliary index that must refer back to the PRIMARY KEY index of a WITHOUT ROWID table. file: [ba7829e8] check-in: [cff1f55c] user: drh branch: omit-rowid, size: 205325)
11:15
Refactor the INSERT, DELETE, and UPDATE code generators to distinguish between the "data cursor" and the "first index cursor", which are no longer consecutive in the case of a WITHOUT ROWID table. file: [da933a7c] check-in: [1adfca60] user: drh branch: omit-rowid, size: 205292)
2013-10-30
20:22
Continue working to get UPDATE operational for WITHOUT ROWID tables. Fix PRAGMA integrity_check so that it works on WITHOUT ROWID tables. file: [05857502] check-in: [0d4fea74] user: drh branch: omit-rowid, size: 205330)
02:37
Merge EXPLAIN enhancements from trunk. file: [3c98b773] check-in: [2fcac056] user: drh branch: omit-rowid, size: 205230)
00:25
Enhanced display of register ranges in the auxiliary comments added to EXPLAIN. file: [de4018a3] check-in: [d6b0c392] user: drh branch: trunk, size: 206868)
2013-10-29
20:47
Import the automatic comment generating changes from trunk. file: [cb3df2d7] check-in: [8bb51da1] user: drh branch: omit-rowid, size: 205255)
20:40
Automatically generated comments on many VDBE opcodes when in SQLITE_DEBUG mode. Comments derive from the "Synopsis:" field added to each opcode definition in vdbe.c. file: [3d0bd1f8] check-in: [5f310c6a] user: drh branch: trunk, size: 206909)
2013-10-28
22:47
Merge all trunk changes since 3.8.1 into the sessions branch. file: [7663e009] check-in: [aa72ea8a] user: drh branch: sessions, size: 206417)
2013-10-26
15:40
Work on the UPDATE and INSERT logic. This is an incremental check-in so that can switch over to trunk to work on an unrelated issue there. file: [7d23d61c] check-in: [086ec2a1] user: drh branch: omit-rowid, size: 202708)
13:36
Replace the OP_IsUnique opcode with OP_NoConflict. This code simplification might be useful to move onto trunk even if this branch is never merged. file: [115f2c06] check-in: [e6650e16] user: drh branch: omit-rowid, size: 202706)
2013-10-25
14:46
Basic DELETE operations now working on WITHOUT ROWID tables. file: [f7a2fb5d] check-in: [9eafafa3] user: drh branch: omit-rowid, size: 204376)
2013-10-24
11:55
Remove an obsolete comment from the VDBE. No code changes. file: [cca2c5eb] check-in: [53bb070c] user: drh branch: omit-rowid, size: 204378)
2013-10-23
13:30
Some inserts and queries working for multi-column primary keys and WITHOUT ROWID. file: [9970b726] check-in: [b21d831b] user: drh branch: omit-rowid, size: 204686)
2013-10-18
20:03
Add the SQLITE_FCNTL_TRACE file control and generate it for OP_Trace when compiled with SQLITE_USE_FCNTL_TRACE. Update vfslog.c to make use of the new file control. Also update vfslog.c to log UNLOCK events before the fact, rather than afterwards. file: [3d960c84] check-in: [e801f35a] user: drh branch: trunk, size: 204670)
2013-10-10
20:13
Synchronize with the trunk. file: [bc992461] check-in: [136445ba] user: drh branch: sessions, size: 206111)
2013-09-16
12:57
The date and time functions use the exact same notion of "now" for every invocation within the same call to sqlite3_step(). file: [56e648f5] check-in: [daf6ba41] user: drh branch: trunk, size: 204364)
2013-09-06
13:10
Combine the FuncDef.iPrefEnc and FuncDef.flags fields into a single new FuncDef.funcFlags field. file: [a393a94c] check-in: [97b10e66] user: drh branch: trunk, size: 204341)
2013-08-29
15:08
Merge from trunk: (1) Recent bug fixes (2) STAT4 support (3) win32-longpath support. file: [8ebe0cbc] check-in: [e7ebc8f7] user: drh branch: sessions, size: 206080)
2013-08-26
23:18
Merge the STAT4 capability into trunk. file: [2b1cd2c7] check-in: [a32af0ab] user: drh branch: trunk, size: 204333)
2013-08-22
15:07
Merge in minor bug fixes and performance tweaks from trunk leading up to the version 3.8.0 release. file: [08a46d04] check-in: [831492dc] user: drh branch: sessions, size: 205679)
2013-08-21
17:35
If a virtual table xSync() returns an error message, copy it into a buffer allocated by sqlite3DbMalloc() before transfering it to Vdbe.zErrMsg. file: [d37aee2c] check-in: [854ba304] user: dan branch: trunk, size: 203932)
2013-08-20
13:02
Merge performance enhancements and compiler warning fixes from trunk. file: [76502f08] check-in: [3e403328] user: drh branch: sessions, size: 206048)
00:42
Performance optimizations in the VDBE and especially to the OP_Next and related opcodes. file: [938feb53] check-in: [d78c5d89] user: drh branch: toTypeFuncs, size: 204301)
2013-08-19
23:18
Performance improvement to SQL function calls in the VDBE. file: [54d28e7f] check-in: [d2efea16] user: drh branch: toTypeFuncs, size: 204273)
12:49
Merge in all the latest updates and enhancements from trunk. file: [fab5d86a] check-in: [67587a33] user: drh branch: sessions, size: 206124)
11:15
Fixes for harmless compiler warnings. file: [0fbe7a90] check-in: [a0d9ca4f] user: drh branch: trunk, size: 204377)
2013-08-15
16:18
Change some assert() statements in vdbe.c to ensure that a memory cell used to store a VdbeCursor object is not also used for some other purpose. file: [c9488a25] check-in: [71070c9f] user: dan branch: sqlite_stat4, size: 204753)
2013-08-07
18:42
Merge latest trunk changes with this branch. file: [a3c98ec5] check-in: [08f74c45] user: dan branch: sqlite_stat4, size: 204376)
2013-08-06
14:52
Merge in the latest changes from trunk. file: [1d95ab3d] check-in: [69d5bed0] user: drh branch: sessions, size: 206099)
2013-08-05
19:11
Factor all KeyInfo object allocations into a single function: sqlite3KeyInfoAlloc(). Always allocate enough space so that sqlite3VdbeRecordCompare() can avoid checking boundaries and hence run faster. file: [4914ae1d] check-in: [7301bedd] user: drh branch: trunk, size: 204352)
2013-08-03
20:24
Begin adding experimental sqlite_stat4 table. This commit is buggy. file: [91fa72a0] check-in: [2beea303] user: dan branch: sqlite_stat4, size: 204375)
2013-08-02
20:44
Merge in the latest trunk changes, including partial indexes, the MAX_PATH fix in os_win.c, and the sqlite3_cancel_auto_extension() API. file: [619306bc] check-in: [7e1acb39] user: drh branch: sessions, size: 206098)
2013-07-25
16:27
Enhance the progress handler so that it keeps track of the number of VDBE cycles across sqlite3_step() calls and issues callbacks when the cumulative instruction count reaches threshold. file: [d6048a72] check-in: [4698a82e] user: drh branch: trunk, size: 204351)
2013-07-18
18:28
Fix a typo in the previous commit. file: [816e6861] check-in: [cd9096e6] user: dan branch: typo, size: 203954)
17:12
Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. Partial fix for [406d3b2ef9]. DRH adds: Stray text accidentally inserted into vdbe.c just prior to the commit breaks the build. file: [7fab3ee5] check-in: [71effa59] user: dan branch: typo, size: 203956)
2013-07-11
15:31
Merge recent trunk changes (such as the query_only PRAGMA, the defer_foreign_keys PRAGMA, and the SQLITE_DBSTATUS_DEFERRED_FKS parameter to sqlite3_db_status()) into the sessions branch. file: [4a9d00a9] check-in: [8dfc0b78] user: drh branch: sessions, size: 205963)
15:22
Add the experimental "query_only" pragma. file: [420ebf1d] check-in: [6557c407] user: drh branch: trunk, size: 204216)
15:03
Add the "defer_foreign_keys" pragma and the SQLITE_DBSTATUS_DEFERRED_FKS value for sqlite3_db_status(). This is a cherry-pick of a sequence of five checkins in the sessions branch between [1d44e5d3c2] and [d39e65fe70]. file: [0661945e] check-in: [527121ac] user: drh branch: trunk, size: 204103)
12:19
Rename the SQLITE_DeferForeignKeys macro to shorter SQLITE_DeferFKs. Move the "defer_foreign_keys" pragma into the flagPragma() routine. file: [26f19a43] check-in: [3a2ab74c] user: drh branch: sessions, size: 205414)
2013-07-10
13:33
Experimental "PRAGMA query_only=BOOLEAN" statement that is able to turn write capabilities on and off. file: [c714445b] check-in: [ece960c4] user: drh branch: query_only, size: 203891)
03:05
Run progress callback checks less frequently in the main VDBE evaluation loop. This makes up for the extra CPU cycles used to increment the cycle counter for SQLITE_STMTSTATUS_VM_STEP. file: [b4d29f87] check-in: [3e8b0201] user: drh branch: trunk, size: 203778)
2013-07-09
13:05
Pull in all the latest changes from trunk. file: [7e1654d4] check-in: [af3ca4c6] user: drh branch: sessions, size: 205422)
2013-07-03
19:53
Experimental change to the handling of foreign key constraint violations when applying a changeset: all foreign keys, immediate and deferred, are deferred until the end of the transaction (or sub-transaction) opened by the sqlite3changeset_apply(). A single call to the conflict-handler (if any) is made if any FK constraint violations are still present in the database at this point. The conflict-handler may choose to rollback the changeset or to apply it, constraint violations and all. file: [e1782e46] check-in: [1d44e5d3] user: dan branch: sessions, size: 204785)
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: [2e3fc618] check-in: [f308c485] user: dan branch: trunk, size: 203342)
01:24
Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted. file: [9816247e] check-in: [59f98c5c] user: drh branch: trunk, size: 203265)
2013-06-27
23:54
Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes "nVdbeActive". Related fields becomes "nVdbeRead", "nVdbeWrite", and "nVdbeExec". file: [462058f2] check-in: [14f79696] user: drh branch: trunk, size: 203251)
17:40
Make sure that sqlite3_stmt_readonly reports false for PRAGMA journal_mode and PRAGMA wal_checkpoint. Ticket [a589ec069e3]. Also keep track of whether a prepared statement does no reading or writing. file: [f6781011] check-in: [1937fd8e] user: drh branch: trunk, size: 203267)
2013-06-26
13:31
Bring the sessions branch up-to-date with all the latest trunk changes. file: [45a342e1] check-in: [086a1272] user: drh branch: sessions, size: 204452)
2013-06-25
22:01
Add a new (experimental) sqlite3_stmt_status() verb that returns the number of VM steps. file: [af2bc360] check-in: [f1366bab] user: drh branch: status-vm-step, size: 202705)
2013-05-28
12:11
Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. file: [34929e1b] check-in: [a0d5cc93] user: drh branch: trunk, size: 202563)
2013-04-22
23:59
Merge the latest trunk changes into the sessions branch. file: [349798f6] check-in: [6994826c] user: drh branch: sessions, size: 204296)
2013-04-08
10:38
Fix an incorrect type cast in an assignment in vdbe.c. file: [5f004713] check-in: [320b5295] user: dan branch: trunk, size: 202549)
2013-03-28
01:19
Merge the changes for the 3.7.16.1 release candidate into the sessions branch. file: [fee31825] check-in: [ee35a897] user: drh branch: sessions, size: 204297)
2013-03-24
22:56
Remove the SQLITE_OMIT_MERGE_SORT compile-time option and its related code. The merge sorter is now a required component. file: [1d56617d] check-in: [8b44d6fb] user: drh branch: trunk, size: 202550)
2013-03-21
21:20
Many spelling fixes in comments. No changes to code. file: [f9622d5b] check-in: [6f6e2d50] user: mistachkin branch: trunk, size: 202972)
2013-02-13
13:42
Enhancements to the query planner to make use of indices for ORDER BY even when IN constraints are in the WHERE clause. Add extended error codes for all SQLITE_CONSTRAINT errors. file: [9e4164ac] check-in: [7e14dc73] user: drh branch: sessions, size: 204719)
2013-02-09
13:58
Add extended error codes for constraint errors. file: [292f8f7c] check-in: [54611046] user: drh branch: constraint-error-codes, size: 202972)
2013-01-03
22:22
Merge recent trunk changes into the sessions branch. file: [4cf34269] check-in: [7e068e39] user: drh branch: sessions, size: 204705)
2012-12-10
22:19
When an arithmetic operation with two integer operands must give a floating-point answer due to overflow, make sure the answer is not rounded back to integer by affinity. file: [f51eb320] check-in: [bd7aeeb6] user: drh branch: trunk, size: 202958)
09:08
Remove a reference to JumpOnce from a comment in vdbe.c. No code changes. file: [fb1d2b75] check-in: [ee662c03] user: dan branch: trunk, size: 202852)
2012-12-08
23:37
Pull the latest trunk changes into the sessions branch, and in particular the collating-sequence refactorization. file: [85576363] check-in: [4f6d69ae] user: drh branch: sessions, size: 204624)
13:26
Fix the header comment on the OP_Compare operator. file: [89138e8e] check-in: [2722f407] user: drh branch: ticket-71e333e7, size: 202877)
2012-12-07
22:18
Fix a long-standing issue with the distinct-as-aggregate optimization that only expressed when the new collating-sequence logic is turned on. file: [328cb259] check-in: [0aaf52a3] user: drh branch: ticket-71e333e7, size: 202652)
2012-12-06
20:19
Cherrypick [557c69055a3] and [0064bab7714] (OP_Once-related fixes for triggers). file: [fed44fdc] check-in: [0d7b5d45] user: dan branch: branch-3.7.9, size: 199790)
2012-12-03
17:04
Make sure that the optimization that set the maximum column that will be used on a particular query does not mistakenly change an opcode other than OP_OpenRead or OP_OpenWrite. In particular, make sure it does not overwrite the P4 field of an OP_SorterOpen. file: [5b49cb1f] check-in: [b0c1ba65] user: drh branch: trunk, size: 202476)
2012-10-30
21:03
Pull all the latest trunk enhancements into the sessions branch. file: [640a7e14] check-in: [fce667f2] user: drh branch: sessions, size: 204223)
14:44
Fix a typo in the header comment for the OpenPseudo opcode. file: [e1b2f881] check-in: [4f106123] user: drh branch: subquery-as-coroutine, size: 202476)
14:39
Make it possible to disable the subquery-by-coroutine optimization using sqlite3_test_control(). Remove an always-false conditional. file: [fbb695e3] check-in: [564631f3] user: drh branch: subquery-as-coroutine, size: 202475)
00:29
Add an optimization that attempts to run a subquery as a coroutine rather than manifesting it into a temporary table. file: [f3310ec7] check-in: [7af3acbb] user: drh branch: subquery-as-coroutine, size: 202533)
2012-09-28
13:05
Merge the latest trunk changes (especially "PRAGMA busy_timeout" and the ORDER BY query planner optimizations) into the sessions branch. file: [e8e2e34c] check-in: [6ca8eae1] user: drh branch: sessions, size: 203927)
10:57
Merge the latest trunk changes (PRAGMA busy_timeout and the ORDER BY query planner enhancements) into the apple-osx branch. file: [fcb5bb6f] check-in: [6a5c59dd] user: drh branch: apple-osx, size: 202214)
2012-09-21
00:04
Consolidate more of the DISTINCT processing logic into a single spot in the code. Reduce the number of OP_Column operations needed to perform a WHERE_DISTINCT_ORDERED. file: [31523df2] check-in: [79e922f7] user: drh branch: trunk, size: 202180)
2012-09-19
21:15
Tighter VDBE code for the WHERE_DISTINCT_ORDERED case of DISTINCT keyword handling. file: [b0ac9878] check-in: [94b48064] user: drh branch: trunk, size: 202088)
2012-09-18
13:20
Update the vdbe-compress.tcl script so that it accepts variable declarations inside of #ifdef...#endif. This enhancement is needed due to the change of check-in [39866c0ede5d6ef4]. file: [16e894bd] check-in: [e7db056a] user: drh branch: trunk, size: 201481)
2012-09-13
15:26
Fix an unused variable warning with SQLITE_OMIT_WAL. file: [fd82787f] check-in: [39866c0e] user: mistachkin branch: trunk, size: 201478)
2012-09-04
21:34
Avoid repeating calls to the sqlite3_trace() callback when the same statement is evaluted multiple times by sqlite3_step() due to an SQLITE_SCHEMA reprepare. file: [64de1142] check-in: [39f763bf] user: drh branch: trunk, size: 201447)
2012-08-31
14:23
Update with latest trunk changes. file: [b01b505c] check-in: [87995dc9] user: dan branch: sessions, size: 203168)
14:10
Merge in latest trunk changes. file: [7eee10a7] check-in: [bc9b9cd0] user: dan branch: apple-osx, size: 201455)
2012-08-29
10:28
Fix a typo in a comment in vdbe.c. No changes to code. file: [9c524bde] check-in: [9fbe858b] user: drh branch: trunk, size: 201421)
2012-08-25
01:38
Merge all the latest trunk changes into the apple-osx branch. file: [18781e84] check-in: [6723add4] user: drh branch: apple-osx, size: 201454)
2012-08-22
15:16
Do not let the multi-core sorter use lookaside memory, which is not thread-safe. file: [1a451790] check-in: [acdc7d12] user: drh branch: threads-sort-ex1, size: 201408)
2012-08-15
16:21
Merge all the latest trunk changes into the sessions branch. file: [9a1c2f78] check-in: [fc07a479] user: drh branch: sessions, size: 203167)
15:57
Experimental change to speed up ORDER BY clauses that sort based on a single expression. file: [93b560a4] check-in: [2bb8c492] user: dan branch: sorter-exp, size: 201391)
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: [75da79cd] check-in: [d045f8b2] user: dan branch: sorter-coalesce-writes, size: 201420)
2012-06-08
01:13
Merge trunk changes into the apple-osx branch. file: [ae6803fd] check-in: [9d1b8515] user: drh branch: apple-osx, size: 201205)
2012-06-07
23:58
Merge all trunk changes, including the WinRT enhancements, into the sessions branch. file: [687fdb86] check-in: [c6214039] user: drh branch: sessions, size: 202918)
17:57
Documentation and evidence mark updates. Remove a redundant assert(). file: [f5ad3c06] check-in: [cfcbf937] user: drh branch: trunk, size: 201171)
2012-06-05
19:20
Merge the latest trunk changes into shared-schema branch. Also fix a C99-ism in that branch. file: [76ae5ef2] check-in: [42338e9e] user: drh branch: shared-schema, size: 201198)
2012-05-28
18:22
Merge the unicode61 tokenizer and the shared-cache-memory database changes into the sessions branch. file: [15bcec4d] check-in: [df817e70] user: drh branch: sessions, size: 202947)
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: [b6cb2ac4] check-in: [595dfdbf] user: drh branch: shared-cache-memdb, size: 201200)
2012-05-20
20:14
Check-in included unrelated debugging code by mistake. Was: Fix a test case in the shell1.test script so that it works even for very long pathnames. file: [dfb52b28] check-in: [0c0a0398] user: drh branch: mistake, size: 201250)
2012-05-15
18:28
The former sqlite3ResetInternalSchema() routine was really two different routines, selected by parameter, each with a confused mission. So split this routine up into three separate smaller routines, calling each separately as needed. Hopefully this will make further refactoring and schema reset collateral damage containment easier. file: [6ed3e899] check-in: [aa0c3493] user: drh branch: shared-schema, size: 201195)
2012-04-19
20:43
Update the apple-osx branch so that it includes all of the latest trunk changes. file: [baed8c1e] check-in: [b72f07b4] user: drh branch: apple-osx, size: 201231)
2012-04-18
01:41
Import all the latest trunk changes into the sessions branch. file: [b79d6de8] check-in: [87a0eab5] user: drh branch: sessions, size: 202944)
2012-03-31
17:17
Do not abort pending queries on a RELEASE of a nested SAVEPOINT. This is a candidate fix for ticket [27ca74af3c083f787]. file: [e1d26b98] check-in: [79a4a3a8] user: drh branch: trunk, size: 201197)
02:46
Merge all the latest trunk changes into the apple-osx branch. file: [bcf472ee] check-in: [18ec60ca] user: drh branch: apple-osx, size: 201177)
2012-03-30
17:30
Merge all recent trunk changes into the sessions branch. file: [9c625193] check-in: [fb9b9987] user: drh branch: sessions, size: 202890)
2012-03-28
16:14
Minor changes to the core of OP_Column for performance and to clarify the critical path. file: [89139262] check-in: [86839476] user: drh branch: faster-typeof-and-length, size: 201143)
15:44
This change turned out to the code slower. Side track it. Was: Tweaks to the OP_Column opcode for clarity of presentation. file: [ee62f850] check-in: [4d516240] user: drh branch: mistake, size: 200904)
13:41
Improvements to comments. Minor changes to code in the hot path of OP_Column - with the hope of get a few cycles of performance improvement. file: [80753245] check-in: [ca093103] user: drh branch: faster-typeof-and-length, size: 200983)
01:34
Evaluate typeof(X) and length(Y) where X is any column and Y is a blob column without actually loading X and Y from disk. file: [b91a9135] check-in: [b899dbeb] user: drh branch: faster-typeof-and-length, size: 200945)
2012-03-05
16:39
Pull in all the latest trunk changes. file: [c4638fe3] check-in: [504bf490] user: drh branch: apple-osx, size: 200089)
16:26
Merge in the latest trunk changes. file: [2591c28c] check-in: [ff86875c] user: drh branch: sessions, size: 201802)
2012-02-24
00:02
A simple change that allows the SQLITE_32BIT_ROWID compile-time option to work better. file: [32720e87] check-in: [f9df4063] user: drh branch: trunk, size: 200055)
2012-02-13
17:01
Add the new SQLITE_ABORT_ROLLBACK extended error code to be returned for statements that are cancelled due to a rollback. file: [21c17c43] check-in: [549f4fd0] user: drh branch: nonblocking-rollback, size: 200055)
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: [2afc9b02] check-in: [9b66c79e] user: drh branch: nonblocking-rollback, size: 200046)
13:44
Generalize the interrupt mechanism so that individual statements can be interrupted and so that codes other than just SQLITE_INTERRUPT can be returned as a consequence of an interrupt. file: [169a4384] check-in: [922bcbb4] user: drh branch: generalize-interrupt, size: 200111)
2012-02-10
18:18
Pull the latest trunk changes into the apple-osx branch. file: [f384d056] check-in: [e2485986] user: drh branch: apple-osx, size: 200123)
17:54
Pull all the latest trunk changes into the sessions branch. file: [a24b861d] check-in: [361fb66a] user: drh branch: sessions, size: 201836)
2012-02-02
17:35
For queries of the form "SELECT p, max(q) FROM t1", the value of column p returned is the one on the same row that holds the maximum value of q. file: [40b14dff] check-in: [adb29232] user: drh branch: output-minmax-row, size: 200089)
15:50
Data structure cleanup. Remove unused fields. Rearrange other files for tighter packing and reduced memory usage. file: [43ea77c8] check-in: [0bc594e8] user: drh branch: trunk, size: 199643)
2012-01-25
20:43
Only invalidate the schema when the OP_ParseSchema opcode fails, not on any general failure of a vdbe program. file: [595a2402] check-in: [11f68d99] user: drh branch: trunk, size: 199638)
2012-01-18
01:14
Remove a redundant assignment from the VM. file: [fc1b97fa] check-in: [d0dabe2f] user: drh branch: trunk, size: 199591)
2012-01-14
14:13
Merge the latest trunk changes into the apple-osx branch. file: [7d3e9dda] check-in: [2cc414cd] user: drh branch: apple-osx, size: 199651)
13:50
Update sessions branch with latest changes from trunk. file: [502f3deb] check-in: [01c84fd3] user: dan branch: sessions, size: 201364)
2012-01-08
22:18
Fix typos in commands. Combine the ExpandBlob and expandBlob macros into one. file: [64e3fc0b] check-in: [fc9179e1] user: drh branch: trunk, size: 199617)
2012-01-05
13:02
Merge all of the latest trunk changes into the sessions branch. file: [3338717c] check-in: [a9bcb432] user: drh branch: sessions, size: 201534)
2012-01-04
12:57
Fix typos and comments and make minor changes to a few function names, as suggested by readership. file: [d5062ca4] check-in: [e9d05cbb] user: drh branch: trunk, size: 199787)
2012-01-03
21:54
Pull all the latest trunk changes over into the apple-osx branch. file: [9a5ea29c] check-in: [8a048423] user: drh branch: apple-osx, size: 199823)
2011-12-31
21:51
Fix typos in comments. No changes to code. file: [50f0cf69] check-in: [6827338e] user: drh branch: trunk, size: 199789)
2011-12-09
17:27
Take out the OP_JumpOnce opcode. Revert compound SELECT to use OP_IfNot, which is the correct behavior. Mark trigger registers as initially invalid. file: [029add0c] check-in: [6a9fb47d] user: drh branch: uninit-vdbe-mem, size: 199790)
16:21
Make no assumptions about the initial state of VDBE registers. file: [9fc8110b] check-in: [521d72bd] user: drh branch: uninit-vdbe-mem, size: 200176)
13:24
Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442]. file: [f49816f9] check-in: [557c6905] user: dan branch: trunk, size: 199357)
2011-12-08
21:08
Merge the latest trunk changes into the apple-osx branch. file: [6f7669fb] check-in: [59e0d4f3] user: drh branch: apple-osx, size: 199430)
2011-11-16
15:27
Where possible, take advantage of the rowid at the end of index records to optimize range constraints (<, >, <=, >=) on the rowid column. file: [a7ab9993] check-in: [3b58f5f0] user: dan branch: trunk, size: 199396)
2011-10-31
14:42
Pull the latest trunk changes into the apple-osx branch. file: [cefc9d9b] check-in: [4fa9ee79] user: drh branch: apple-osx, size: 199430)
14:34
Merge in all changes found in the version 3.7.9 release candidate. file: [f3d11234] check-in: [23580718] user: drh branch: sessions, size: 201143)
2011-10-25
20:36
Cherrypick changes [53f5cfe115] and [1f7ef0af8d] in order to fix an issue with DISTINCT file: [5fdbad94] check-in: [14bc58ca] user: drh branch: branch-3.7.2, size: 194637)
2011-10-22
21:00
Avoid a harmless reference to an uninitialized variable following an error in FTS3. This is not a bug. The change is to silence a valgrind warning. file: [326994a6] check-in: [d980c5b2] user: drh branch: trunk, size: 199396)
2011-10-21
17:18
Merge the latest trunk changes into the apple-osx branch. file: [2ed980c8] check-in: [be62ef05] user: drh branch: apple-osx, size: 199440)
17:08
Merge the latest trunk enhancements into the sessions branch. file: [9ccccceb] check-in: [8baef581] user: drh branch: sessions, size: 201153)
2011-10-18
22:07
Fix the virtual table rename logic so that it works even if the database encoding is something other than UTF8. Ticket [8290242b2a9a81683] file: [251381bf] check-in: [d65f6353] user: drh branch: trunk, size: 199406)
2011-10-17
23:15
Change the OP_JournalMode implementation so that it works even if a substitute sqlite3PagerFilename() that might return NULL is used. file: [054e1d52] check-in: [491ff5fb] user: drh branch: trunk, size: 199197)
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: [75e626a6] check-in: [60fee957] user: drh branch: trunk, size: 199197)
2011-09-20
15:53
Add SQLITE_STMTSTATUS_CACHE_HIT/MISS and SQLITE_DB_STATUS_CACHE_HIT/MISS. For querying the number of pager cache hits and misses on a statement or connection basis. file: [f5de15d6] check-in: [89272357] user: dan branch: cache-stats, size: 200215)
2011-09-16
19:40
Merge the latest trunk changes into the sessions branch. file: [a4d43779] check-in: [5efb0294] user: drh branch: sessions, size: 200904)
19:36
Merge the latest trunk fixes into the apple-osx branch. file: [26deb38f] check-in: [070bf203] user: drh branch: apple-osx, size: 199191)
01:34
Add the new OP_Once opcode. Use it to clean up and simplify various one-time initialization sections in the code, including the fix for ticket [002caede898ae]. file: [60340bfb] check-in: [7f00552b] user: drh branch: tkt-002caede898, size: 199157)
2011-09-14
19:41
Merge latest changes from the trunk into the sessions branch. file: [f03941d4] check-in: [c00e45ed] user: dan branch: sessions, size: 200247)
19:05
Merge in the latest changes from trunk. file: [e46c71db] check-in: [2456b4d0] user: drh branch: apple-osx, size: 198534)
2011-09-05
14:20
Refactor the sqlite3VdbeRecordUnpack() interface to better accommodate the vdbesort.c module. file: [7008edbf] check-in: [f115b230] user: dan branch: trunk, size: 198500)
2011-09-03
00:17
The build works again with -DSQLITE_OMIT_MERGE_SORT. The merge-sorter now avoids spilling to disk (letting the in-memory linked list grow without bound) if PRAGMA temp_store=3. file: [d4c8224c] check-in: [68e26c44] user: drh branch: merge-sort, size: 198470)
2011-09-02
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: [da9c7efc] check-in: [7769fb98] user: dan branch: merge-sort, size: 198148)
2011-09-01
15:32
Experimental code-generator changes to utilize new opcodes for sorting. file: [9260e513] check-in: [bab2e560] user: drh branch: merge-sort, size: 197390)
2011-08-29
02:49
About a 1% overall performance improvement by using a macro to avoid no-op calls to sqlite3MemReleaseExternal(). file: [9165b35d] check-in: [ff71d20a] user: drh branch: experimental, size: 196987)
02:16
Small performance improvement to OP_Column. file: [dc84628c] check-in: [b6b73a74] user: drh branch: experimental, size: 197019)
2011-08-28
02:15
About a 3% improvement in the performance of OP_Column. file: [8c9e0508] check-in: [edff9d4a] user: drh branch: experimental, size: 196845)
00:19
Correctly display P4_ADVANCE values on opcode traces. Mark an always-taken branch in OP_Column as such. file: [47713d40] check-in: [087dc960] user: drh branch: experimental, size: 196804)
2011-08-27
18:48
Experimental changes to improve the performance of OP_Next. file: [d63854ae] check-in: [1a249845] user: dan branch: experimental, size: 196796)
2011-08-26
19:20
Merge the latest trunk changes into the sessions branch. file: [9bc9b5f1] check-in: [eb036d6f] user: drh branch: sessions, size: 198504)
19:18
Merge the latest trunk changes into the apple-osx branch. file: [0d70d10e] check-in: [55af8003] user: drh branch: apple-osx, size: 196791)
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: [4a7191c0] check-in: [c71d7320] user: drh branch: trunk, size: 196757)
2011-08-25
18:01
Disable external merge source when SQLITE_TEMP_STORE==3. Add documentation to the OP_OpenSorter opcode. file: [8f18a857] check-in: [5a690486] user: drh branch: trunk, size: 196464)
2011-08-23
18:06
Merge latest trunk changes into the apple-osx branch. file: [859006c0] check-in: [c5f7977b] user: dan branch: apple-osx, size: 196278)
2011-08-12
16:30
Merge latest trunk changes into experimental branch. file: [22d0d5bc] check-in: [7e515055] user: dan branch: experimental, size: 196244)
16:11
Remove an unused parameter from a function in vdbesort.c. Fix some comments and other details in the same file. file: [1f5bb8b8] check-in: [1a8498d8] user: dan branch: experimental, size: 196094)
15:02
Add the SQLITE_OMIT_MERGE_SORT pre-processor directive. To omit the code in vdbesort.c. file: [eed17aa6] check-in: [4ced2394] user: dan branch: experimental, size: 196098)
2011-08-06
12:01
In temp files used for merge sorting, store the size of each packed-memory-array at the start of the array itself. This is to avoid having to store the offsets of all arrays in the (potentially very large) file in main-memory. file: [ec7b0455] check-in: [8051c176] user: dan branch: experimental, size: 195837)
2011-08-05
22:31
Bug fixes to the sample-count logic for STAT2. A few test cases added. file: [b46e0dde] check-in: [e93c248c] user: drh branch: query-planner-tweaks, size: 195531)
21:13
Add a column to the sqlite_stat2 table that contains the number of entries with exactly the same key as the sample. We do not yet do anything with this extra value. Some tests in analyze2.test are failing. file: [1215ce45] check-in: [eb434228] user: drh branch: query-planner-tweaks, size: 195482)
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: [379ccaa6] check-in: [a4770d07] user: dan branch: experimental, size: 195831)
2011-08-03
21:46
Merge the latest trunk changes into the sessions branch. file: [303d8b3b] check-in: [c5709036] user: drh branch: sessions, size: 197229)
16:40
Update the OP_Move opcode to shift the pScopyFrom pointer of aliases when compiled with SQLITE_DEBUG. Ticket [d63523637517386191]. file: [49d834f0] check-in: [a2135ad1] user: drh branch: trunk, size: 195482)
2011-08-02
18:25
Merge all the latest trunk changes into the apple-osx branch. file: [30e1d38a] check-in: [77376b33] user: drh branch: apple-osx, size: 195366)
2011-07-22
12:49
Merge the latest trunk changes into the sessions branch. file: [00061273] check-in: [110cfd69] user: drh branch: sessions, size: 197079)
2011-07-12
14:28
Experimental support for speeding up CREATE INDEX commands using an offline merge sort. file: [88a70684] check-in: [30dbf0fe] user: dan branch: experimental, size: 195876)
2011-06-29
17:11
Pass the BTREE_UNORDERED hint into both sqlite3BtreeOpen() and into sqlite3BtreeCreateTable(). file: [a9ced64f] check-in: [591de898] user: drh branch: trunk, size: 195332)
2011-06-21
01:30
Merge the latest trunk changes into the apple-osx branch. file: [80d511d7] check-in: [76005fdc] user: drh branch: apple-osx, size: 195356)
01:29
Merge the latest trunk changes into the sessions branch. file: [df52db61] check-in: [f3d148e0] user: drh branch: sessions, size: 197069)
2011-06-20
21:47
Fix more documentation typos. file: [50b5b4ef] check-in: [b9cbab73] user: drh branch: trunk, size: 195322)
11:57
Merge the latest trunk changes into the apple-osx branch. file: [71a3e14a] check-in: [4c69e827] user: drh branch: apple-osx, size: 195367)
10:44
Merge the latest trunk changes into the sessions branch. file: [af4d8ba0] check-in: [4c5e276c] user: drh branch: sessions, size: 197080)
2011-06-14
14:18
Fix a memory leak that can follow an OOM error in a user-function that uses sqlite3_set_auxdata(). file: [9eef9bb0] check-in: [0185c4b6] user: dan branch: trunk, size: 195333)
2011-06-03
12:15
Fix an #ifdef of SQLITE_OMIT_VIRTUALTABLE that had an extra "_" character. file: [edfa3827] check-in: [93e0be2b] user: drh branch: trunk, size: 195332)
2011-06-02
13:07
Merge the latest trunk changes, including the read-only shared memory enhancement, into the apple-osx branch. file: [d671beda] check-in: [ce5f95de] user: drh branch: apple-osx, size: 195367)
2011-06-01
19:16
Avoid unnecessary duplication of SQL parameter names. file: [2ec37637] check-in: [e704e869] user: drh branch: trunk, size: 195333)
2011-05-30
23:42
Minor performance improvements. file: [103827f5] check-in: [f9950c6a] user: drh branch: trunk, size: 195273)
13:39
Merge the latest trunk changes into the sessions branch. file: [619fb3fc] check-in: [832886b1] user: drh branch: sessions, size: 197010)
2011-05-28
19:24
Fix a "#ifdef" from check-in [03f7d36a8a] that should have been "#ifndef". file: [380dddc4] check-in: [edb865c3] user: drh branch: trunk, size: 195263)
2011-05-26
14:19
Changes to work with SQLITE_OMIT_VIRTUAL_TABLE. file: [a8ff6724] check-in: [03f7d36a] user: drh branch: trunk, size: 195262)
2011-05-25
01:16
Changes to savepoint in virtual tables for simpler and more consistent operation. file: [4812f0e5] check-in: [92f26a8b] user: drh branch: trunk, size: 195222)
2011-05-24
00:35
Make sure the savepoint index is correct one calls to sqlite3VtabSavepoint with SAVEPOINT_BEGIN. file: [408cc051] check-in: [a9d09566] user: drh branch: trunk, size: 195220)
2011-05-19
02:48
Merge all the latest trunk changes into the sessions branch, especially the disappearing WAL transaction fix. file: [af2e9d0f] check-in: [5b1b536c] user: drh branch: sessions, size: 196919)
01:51
Pull all the latest trunk changes, and especially the fix for WAL cache spills causing transactions to disappear, into the apple-osx branch. file: [f997c49f] check-in: [8d1a6bb0] user: drh branch: apple-osx, size: 195206)
2011-05-13
18:51
Make arrangements so that virtual table inserts into shadow tables do not modify the sqlite3_last_insert_rowid() return. Document that this is how sqlite3_last_insert_rowid() works. file: [343a068e] check-in: [e569f18b] user: drh branch: trunk, size: 195172)
2011-05-12
15:32
Pull in the patches to support read-only WAL databases into a new branch off of the apple-osx branch. This also pulls in all the other pending 3.7.7 changes such as URI support. file: [ed266854] check-in: [97b98010] user: drh branch: apple-wal-readonly, size: 194995)
2011-05-05
15:52
Merge the latest trunk changes into the apple-osx branch. file: [bf969a63] check-in: [f9b149e5] user: drh branch: apple-osx, size: 194985)
15:46
Merge the latest trunk changes into the sessions branch. file: [fa5bfc0c] check-in: [6883580e] user: drh branch: sessions, size: 196698)
2011-05-04
17:35
Merge latest trunk changes with uri branch. file: [b2070c92] check-in: [af279f36] user: dan branch: uri, size: 194961)
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: [67486fbf] check-in: [7155e6f3] user: drh branch: branch-3.7.2, size: 191843)
2011-04-27
12:08
Fix problems related to savepoint rollback and fts3. file: [672ec2f4] check-in: [ff69f823] user: dan branch: vtab-conflict, size: 194951)
2011-04-26
19:21
Extra tests for fts3. And fixes for conflict-handling related problems in fts3. file: [b6396cb7] check-in: [fb4a3558] user: dan branch: vtab-conflict, size: 194354)
2011-04-25
18:49
Add support for on conflict clauses to fts3/fts4. file: [ac7aab11] check-in: [6d2633a6] user: dan branch: vtab-conflict, size: 194247)
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: [a7f8f72a] check-in: [68240e75] user: dan branch: uri, size: 193755)
2011-04-09
18:13
Pull all the latest trunk changes into the apple-osx branch. file: [4a1b6078] check-in: [4eaef4ad] user: drh branch: apple-osx, size: 193779)
2011-04-06
22:33
Merge in the latest changes from the trunk. file: [dd53dda1] check-in: [435b57dc] user: drh branch: sessions, size: 195492)
22:05
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. file: [05deeec6] check-in: [614de91a] user: drh branch: trunk, size: 193745)
2011-04-05
22:13
Merge the latest trunk changes into the sessions branch. file: [b6bcbe56] check-in: [45f20261] user: drh branch: sessions, size: 195534)
22:10
Merge the latest trunk changes into the apple-osx branch. file: [ccedf7f2] check-in: [c77a767c] user: drh branch: apple-osx, size: 193821)
22:08
Suppress many harmless compiler warnings, mostly signed/unsigned comparisons within asserts or unused parameters in extensions. file: [ee58240a] check-in: [3eeb0ff7] user: drh branch: trunk, size: 193787)
18:34
Remove dead code from the OP_JournalMode opcode in the VDBE. This code seems to have been useless since [f88c6367d2] on 2010-08-07. file: [228aa306] check-in: [a89f24e2] user: drh branch: trunk, size: 193780)
17:31
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. file: [b239d70f] check-in: [242ce7cf] user: drh branch: trunk, size: 194642)
13:38
Pull the latest changes from trunk (and hence from schema-parse-refactor) into the apple-osx branch. file: [f2a706e0] check-in: [8e885dde] user: drh branch: apple-osx, size: 195103)
13:27
Pull the latest trunk changes (and hence the schema-parse-refactor changes) into the sessions branch. file: [f38def1f] check-in: [03ca8342] user: drh branch: sessions, size: 196816)
2011-04-04
21:25
Additional schema mutex checks for sqlite3RootPageMoved(). Reduce the scope of sqlite3ResetInternalSchema() in a few places. file: [0140a57f] check-in: [39c00907] user: drh branch: schema-parse-refactor, size: 195069)
18:22
Add a description of access rules for the Schema object and lots of asserts to verify that the access rules are followed. file: [1e62a4f1] check-in: [ae8374af] user: drh branch: schema-parse-refactor, size: 194980)
13:19
Merge the latest changes of trunk into the session branch. file: [e4afe80d] check-in: [95d53c44] user: drh branch: sessions, size: 196572)
13:11
Merge in the latest changes from trunk. file: [01b975f0] check-in: [6d78a25d] user: drh branch: apple-osx, size: 194859)
13:07
Merge in the latest changes from trunk. file: [48fe95bd] check-in: [47b79c40] user: drh branch: schema-parse-refactor, size: 194826)
12:29
Move the expired-statement test for OP_Function until after all memory has been freed. The test is still commented out, however. file: [6488f759] check-in: [425e3edb] user: drh branch: trunk, size: 194825)
00:14
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. file: [e4d83957] check-in: [d81708f7] user: drh branch: trunk, size: 194844)
2011-04-03
18:19
Make sure that the constant 1 is cast to yDbType before shifting to create an attached database mask. This check-in is a follow-up and fix to the [7aaf8772274422] change that increases the maximum number of attached databases from 30 to 62. file: [d975adce] check-in: [e2a09ea7] user: drh branch: trunk, size: 194993)
2011-04-02
16:28
Begin a series of changes designed to reduce the scope and frequency of invalidating schemas. Design goals are that the internal schema should never be deleted out from under a prepared statement that is running and that all prepared statements should be expired if the schema is invalidated. At the same time, minimize the number of schema invalidations. This change merely revises the sqlite3ResetInternalSchema() function to use -1 as the wildcard for "all" rather than 0, so that we can reset the main schema independently of all the others. file: [6b15a8fb] check-in: [6a8ad6e3] user: drh branch: schema-parse-refactor, size: 194863)
09:44
Fix a race condition in OP_ParseSchema. file: [a45a6a0d] check-in: [71a799b0] user: dan branch: trunk, size: 194861)
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: [9fa02304] check-in: [a5aae174] user: drh branch: branch-3.7.2, size: 191729)
2011-03-30
21:04
Add the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option. file: [4784ded3] check-in: [66345214] user: drh branch: sessions, size: 196438)
02:03
Merge in all the latest changes from trunk. file: [175a42d0] check-in: [b11d941e] user: drh branch: sessions, size: 196095)
2011-03-24
01:34
The changes to fix [f7b4edece25c9948] mean that the schema is always loaded whenever a prepared statement is running. This means that a couple of branches can be eliminated and one operand of OP_ParseSchema can be removed. file: [e3f37ca0] check-in: [b6e268fc] user: drh branch: trunk, size: 194691)
2011-03-19
08:38
Fix a problem with INTEGER PRIMARY KEY columns and the pre-update hook. file: [c90edafd] check-in: [24d4d5dd] user: dan branch: sessions, size: 196790)
02:37
Merge the fix to ticket [f7b4edece25c99485] into the sessions branch. file: [3f6d9116] check-in: [1b736ac2] user: drh branch: sessions, size: 196587)
2011-03-18
21:55
Add a generation counter to the Schema object and enhance OP_VerifySchema to also check the Schema generation. Fix for ticket [f7b4edece25c99]. file: [8430780c] check-in: [36c04dd1] user: drh branch: trunk, size: 195386)
12:35
Merge all the latest trunk enhancements into the sessions branch. file: [94cd191b] check-in: [94fd5bb6] user: drh branch: sessions, size: 196430)
2011-03-16
19:59
Add the sqlite3_preupdate_new() API, for retrieving the new.* values from within a pre-update callback. file: [fbf11bd6] check-in: [526545c4] user: dan branch: sessions, size: 196280)
09:49
Remove the sqlite3_transaction_hook() API. file: [11764408] check-in: [b0015a1c] user: dan branch: sessions, size: 196359)
2011-03-06
21:28
Remove dead code identified by the clang static analyzer. file: [ac6e8b82] check-in: [01a79d5a] user: drh branch: trunk, size: 195229)
2011-03-05
20:59
Fix all known instances of signed-integer overflow. Within SQL expressions, integer overflow now forces coercion to floating point. The shift operators work with any integer right-hand operand with negative values reversing the direction of the shift. file: [038e5689] check-in: [abf21394] user: drh branch: trunk, size: 195305)
13:54
Fix an instance of signed arithmetic overflow and an one bit-shift overflow. Mark six other signed arithmetic overflow locations that need fixing. file: [953d44f0] check-in: [04abab71] user: drh branch: trunk, size: 195093)
2011-03-03
20:06
Add the experimental sqlite3_transaction_hook() API. file: [2c523bc1] check-in: [093d8cd8] user: dan branch: sessions, size: 196870)
2011-03-01
18:42
Add the experimental sqlite3_preupdate_hook() API. file: [4330cc94] check-in: [6145d7b8] user: dan branch: sessions, size: 196363)
2011-02-22
03:34
When a stale schema-cookie is seen, expire only the one statement that encountered the bad cookie, not every statement on the database connection. Ticket [b72787b1a7cea1f] file: [34305497] check-in: [1bca0a7e] user: drh branch: trunk, size: 195079)
2011-02-07
23:56
Cleanup to the OP_Checkpoint opcode. file: [167432ac] check-in: [f611a5a8] user: drh branch: trunk, size: 195100)
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: [7f54982d] check-in: [bac7342c] user: drh branch: trunk, size: 194761)
2010-12-07
15:49
Merge in all changes to the trunk through version 3.7.4rc3. file: [624c6185] check-in: [d2ccf7fc] user: drh branch: apple-osx, size: 194164)
2010-12-03
18:57
Remove an over-zealous call to memAboutToChange() from OP_MustBeInt. OP_MustBeInt will never invalidate the Mem.z pointer so the memAboutToChange() call is not necessary. file: [5d310eaf] check-in: [841cf7a7] user: drh branch: trunk, size: 194130)
2010-11-26
16:49
Fix various compiler warnings. file: [21a9285f] check-in: [c412f612] user: drh branch: trunk, size: 194159)
2010-11-23
20:25
The previous check-in with changes to the max_page_count pragma was not quite correct. This check-in fixes the problem. file: [7aef0a9e] check-in: [30c26c3b] user: drh branch: trunk, size: 194137)
18:59
Fix the max_page_count pragma so that it will not set to a value smaller than the current database size, as the documentation requires. Also, remove all occurances of atoi() from the core. file: [c7e4f78c] check-in: [2031974b] user: drh branch: trunk, size: 194018)
2010-11-19
23:50
Merge all the latest changes from the trunk into the apple-osx branch. file: [d6236836] check-in: [c8bc057c] user: drh branch: apple-osx, size: 193512)
2010-11-18
16:32
Merge with latest trunk changes. file: [06f868b6] check-in: [e376480f] user: dan branch: blocking-checkpoint, size: 194109)
12:31
Prevent a possible segfault when the sqlite3_value_numeric_type() interface is misused to try to determine the numeric type of the NULL value returned from sqlite3_column_value() with an invalid column number. file: [63bb1e56] check-in: [501b743b] user: drh branch: trunk, size: 193478)
12:11
Modify the interface to the blocking wal-checkpoint functionality. file: [4bec828e] check-in: [72787c01] user: dan branch: blocking-checkpoint, size: 194139)
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: [b86b09be] check-in: [7e3fc2c8] user: dan branch: blocking-checkpoint, size: 193568)
2010-09-30
18:12
Remove unnecessary calls to memAboutToChange() in vdbe.c. An affinity change no longer invalidates shallow copies. file: [e1aa9179] check-in: [afb0fd0b] user: drh branch: experimental, size: 193508)
16:51
Changes to remove sqlite3FitsIn64Bits(). file: [447577ca] check-in: [43fef1ca] user: shaneh branch: experimental, size: 193746)
14:48
Fix the handling of default values for ALTER TABLE ADD COLUMN columns so that is able to deal with negative numbers, including large negative numbers. Ticket [8454a207b9fd2243c4] file: [597ef9ac] check-in: [ce6cc16e] user: drh branch: experimental, size: 193743)
00:50
Rework the text to numeric conversion routines so that they work with either UTF8 or UTF16 and do not require a NULL terminator. This allowed text to numeric conversion without reallocating the string. file: [04cf7c1b] check-in: [14eed3a0] user: drh branch: experimental, size: 193805)
2010-09-28
07:11
Replace some unreachable branch instructions with assert() statements. file: [69812aab] check-in: [88b84bf1] user: drh branch: bug-b351d95f9c, size: 194184)
06:00
Tweaks to help facilitate structural test coverage. file: [4b1e4b89] check-in: [ff49a5f0] user: drh branch: bug-b351d95f9c, size: 194129)
00:25
Continuing work toward detecting and fixing shallow-copy misuse. file: [56e4697a] check-in: [d0342f4b] user: drh branch: bug-b351d95f9c, size: 194028)
2010-09-27
21:09
Add assert() statements that fail when a shallow copy is accessed after the original has been modified. These assert() statements should detect the kinds of subtle SCopy bugs such as caused the fault in ticket [b351d95f9cd5ef17e9d9dbae18f]. file: [00f017d9] check-in: [8b8e1732] user: drh branch: bug-b351d95f9c, size: 194038)
2010-09-03
18:50
Documentation enhancements for sqlite3_db_status(). Evidence marks on the SQL function call intrface. file: [1373d40f] check-in: [f06c7b19] user: drh branch: trunk, size: 191390)
2010-09-01
11:50
Add an assert() with an evidence mark to show that automatically generated rowids are positive. file: [8a9f0c55] check-in: [740adca3] user: drh branch: trunk, size: 191340)
02:37
Ensure randomly generated rowids never go negative. file: [20ef377f] check-in: [63142367] user: shaneh branch: trunk, size: 191242)
2010-08-31
16:25
Do not clear the internal "schema has changed" flag when performing a savepoint rollback. The schema changes may not have taken place within the savepoint being rolled back. file: [41a186c0] check-in: [c2a84430] user: dan branch: trunk, size: 190909)
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: [36d9521b] check-in: [4fead8e7] user: drh branch: trunk, size: 190851)
15:02
Remove the sqlite3BtreeFactory() wrapper routine. All modules now call sqlite3BtreeOpen() directly. file: [42b14547] check-in: [0900e353] user: drh branch: trunk, size: 190692)
01:17
Updates to comments on the VDBE opcodes. file: [6d787964] check-in: [49c05b4e] user: drh branch: trunk, size: 190737)
2010-08-24
16:59
Fixes to allow fts3 tables to be renamed mid-transaction. file: [d735223e] check-in: [d1c87532] user: dan branch: trunk, size: 191113)
2010-08-18
00:24
Merge the 3.7.1 pre-release snapshot changes as of 2010-08-18 into the apple-osx branch. file: [60ef7696] check-in: [866e9286] user: drh branch: apple-osx, size: 191129)
00:09
Updating apple-osx with minor source fixes, database truncate and replace private calls and a bunch of conditionalization for tests running in different environments file: [a4c6eed8] check-in: [5e2ee7db] user: adam branch: apple-osx, size: 191182)
2010-08-06
02:10
Change two automatic array variables into static constant arrays. Update and reformat some comments for cleaner presentation. file: [66c262a9] check-in: [a7a15547] user: drh branch: trunk, size: 191095)
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: [cefff415] check-in: [ac1f37a6] user: drh branch: malloc-enhancement, size: 191094)
2010-07-13
23:41
Tweaks to the new shared-memory interface design - mostly comment changes. file: [6294de33] check-in: [6336de7a] user: drh branch: experimental, size: 191148)
2010-07-08
17:40
Change the journal_mode pragma to remove the "default journal mode" concept. The journal_mode pragma only effects currently attached databases and does not change the behavior of future attachments. file: [14d3e04d] check-in: [e396184c] user: drh branch: trunk, size: 191138)
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: [046cd38d] check-in: [4f62dbcf] user: dan branch: mistake, size: 191447)
2010-07-02
19:36
Omit the OP_JournalMode opcode from the VDBE when SQLITE_OMIT_PRAGMA is defined. file: [3a241b21] check-in: [565ff65c] user: drh branch: mistake, size: 191458)
2010-06-22
14:49
When trying to transition from journal_mode MEMORY to WAL, use OFF as an intermediate journal mode. file: [8b3bae95] check-in: [4775b8f9] user: drh branch: trunk, size: 191401)
2010-06-18
16:13
Rearrange some code in OP_JournalMode to avoid incorrect returns from subsequent invocations of "PRAGMA journal_mode" following an IO error. file: [290d20ed] check-in: [ce0a4a9b] user: dan branch: experimental, size: 191179)
2010-06-17
16:44
A different fix to [fc62af4523]. When changing from journal_mode=PERSIST or TRINCATE to some other rollback mode, delete the journal file only if a RESERVED lock can be obtained on the database file first. file: [e115585b] check-in: [b9b11855] user: dan branch: experimental, size: 191327)
2010-06-11
17:01
Refactor and simplify the logic used to change journalmode. file: [8a910a19] check-in: [95cc3f6f] user: drh branch: trunk, size: 191470)
2010-05-31
14:28
Remove the tests that enable tracing based on the existance of the "vdbe_*" files when in SQLITE_DEBUG mode. file: [965247d9] check-in: [cdbb4e7c] user: drh branch: wal-incr-ckpt, size: 191628)
2010-05-15
01:09
Silently ignore errors trying to set the default journal_mode while doing an ATTACH. file: [950cd4e9] check-in: [b9af4ad2] user: drh branch: trunk, size: 192462)
2010-05-12
18:01
Refactoring the VFS-SHM methods used by WAL. This version compiles and runs non-WAL test cases but crashes and burns on wal.test. file: [8c6301a7] check-in: [2b00152c] user: drh branch: wal-refactor, size: 192458)
13:50
Remove the OP_Variable optimization of check-in [48b77b04935d894] since it can lead to malfunctions as described in ticket [26ff0c82d1e90]. file: [f41188f6] check-in: [7838163d] user: drh branch: trunk, size: 192470)
2010-05-11
14:00
When an attempt to change journal_mode fails due to locks, be sure to leave internal structures in a consistent state. file: [27edb0be] check-in: [cf3d1e0b] user: drh branch: trunk, size: 192868)
2010-05-10
11:20
Enhance the OP_JournalMode opcode with an ignore-errors option and use that option the ATTACH command. file: [066dab3a] check-in: [0bdea4cf] user: drh branch: trunk, size: 192826)
2010-05-06
21:37
The PRAGMA journal_mode=WAL; command now makes WAL the default journal mode for new databases added with ATTACH, so the behavior is consistent with the other journal modes. file: [267e0431] check-in: [c3520460] user: drh branch: trunk, size: 192305)
16:06
After throwing an error to say that one cannot change into WAL mode within a tranactions, do not then go and change into WAL mode. file: [e4f1d6c2] check-in: [56a17dae] user: drh branch: trunk, size: 191404)
2010-05-03
08:04
Add the sqlite3_wal_checkpoint() and sqlite3_wal_autocheckpoint() APIs. file: [8be37a1b] check-in: [9803196d] user: dan branch: wal, size: 191389)
2010-05-01
16:40
Support compile-time option SQLITE_OMIT_WAL, for building without WAL support. file: [b2e2b70e] check-in: [9b230c43] user: dan branch: wal, size: 191585)
00:59
Do not allow journal_mode=WAL if the underlying VFS does not support xShmOpen. file: [2a5ccf3a] check-in: [d1fcccec] user: drh branch: wal, size: 191493)
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: [21a96eee] check-in: [62db5fa3] user: drh branch: wal, size: 190955)
2010-04-26
17:42
Do not attempt to set journal_mode=wal on :memory: or temp file databases. file: [da7ee09f] check-in: [30d01344] user: dan branch: wal, size: 190955)
2010-04-22
06:27
Further tests and changes related to switching between WAL and rollback modes. file: [09e88e8b] check-in: [12363184] user: dan branch: wal, size: 190818)
2010-04-21
18:37
Tests for (and changes to) the code to switch between WAL and rollback modes. file: [4d99d175] check-in: [9f4f933f] user: dan branch: wal, size: 190780)
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: [304851b3] check-in: [96bef18c] user: dan branch: wal, size: 190934)
2010-04-13
11:56
Remove old code to interpret an argument (no longer used) to "PRAGMA checkpoint". file: [2e2aaa76] check-in: [27dc5977] user: dan branch: wal, size: 187916)
2010-04-12
19:00
Import experimental write-ahead-logging code. file: [23e5462d] check-in: [409d61ba] user: dan branch: wal, size: 188150)
2010-04-07
14:32
Fix the trace output of the OP_Function opcode to show the correct register numbers. file: [2abd931e] check-in: [064c283e] user: drh branch: experimental, size: 187609)
2010-04-06
22:33
Veryquick.test is now working. The SQLITE_STMTSTATUS_AUTOINDEX counter added. file: [fccdf72a] check-in: [abbf16e5] user: drh branch: experimental, size: 187607)
2010-04-05
15:11
Minor comment changes to the OP_OpenEphemeral header. No changes to code. file: [011f41a5] check-in: [8e1d7ef4] user: drh branch: trunk, size: 187326)
2010-03-31
17:47
Clarification of the implementation of SQLITE_STMTSTATUS_FULLSCAN_STEP. No logical code changes - just commenting and layout changes to improve readability. file: [760a0857] check-in: [06b9ca32] user: drh branch: trunk, size: 187335)
2010-03-30
22:58
Continuing refinements to the filesize-in-header enhancement. file: [afd58607] check-in: [79e22b95] user: drh branch: trunk, size: 187042)
2010-03-05
16:32
Modify the vdbe so that the comparison operator opcodes do not modify the data type of operands. Fix for [aa92c76cd4]. file: [8acca6da] check-in: [8858042f] user: dan branch: trunk, size: 187392)
2010-03-04
00:53
Increase the maximum length of an sqlite3_log() result string. Provide more details on the statement abort log message. file: [4d8ff247] check-in: [5322d1df] user: drh branch: trunk, size: 186672)
2010-02-26
01:46
Minor changes to silence some compiler warnings with MSVC. file: [8b705e48] check-in: [4927c62d] user: shaneh branch: trunk, size: 186603)
2010-02-25
14:44
Add some technically unnecessary variable initializations to silence compiler warnings. file: [412c486b] check-in: [a2550597] user: dan branch: branch-3.6.1, size: 160983)
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: [1a07ddbd] check-in: [46f406b2] user: drh branch: branch-3.6.22, size: 186249)
01:47
Start a new branch for release 3.6.22 plus limited enhancements and fixes. This first check-in includes the performance enhancements of check-ins [26cb1df735], [61a2c8d4d6], and [27dc5b1c52] file: [e65ccd13] check-in: [95882598] user: drh branch: branch-3.6.22, size: 187510)
2010-02-24
21:44
Add testcase() macros beside each sqlite3_log() call to make sure it is tested with both logging enable and disabled. file: [6de14d95] check-in: [1168763d] user: drh branch: trunk, size: 186603)
19:23
Add a sqlite3_log() call on anonymous constraint failures. Fix the output of test cases having to do with improved reprepare reporting. Fix the VACUUM command to report more helpful error messages when things go wrong. file: [815ec0f5] check-in: [69a49318] user: drh branch: trunk, size: 186513)
2010-02-23
20:11
Continuing improvements to error reporting and the sqlite3_log() routine. file: [eb8b0831] check-in: [edea3bb7] user: drh branch: trunk, size: 186418)
17:36
Remove the obsolete sqlite3SafetyOn() mechanism. Add additional logging output for CORRUPT, and CANTOPEN errors. file: [b0769a07] check-in: [7c4cca6d] user: drh branch: trunk, size: 186373)
2010-02-15
15:17
Fix a typo in the documentation for the OP_OpenPseudo opcode. file: [428411c6] check-in: [9acfb069] user: drh branch: trunk, size: 187864)
2010-02-05
14:12
Remove the use of 64-bit math in the offset computations of the OP_Column opcode for a small performance improvement. file: [78f21679] check-in: [61a2c8d4] user: drh branch: trunk, size: 187868)
2010-01-13
16:25
When SQLITE_OMIT_FLOATING_POINT is defined, make sure the result of a mathematical operation is always tagged as an integer. file: [b0c18b5c] check-in: [e12da0d3] user: drh branch: trunk, size: 187723)
2010-01-12
23:54
Make sure internal queries are well ordered, even when the reverse_unordered_selects pragma is in effect. Ticket [eb942c64a157]. file: [1e2c66f2] check-in: [0209f171] user: drh branch: trunk, size: 187621)
17:04
Use #ifdefs to disable unused code when SQLITE_OMIT_FLOATING_POINT is defined. file: [9035d0ec] check-in: [66bab856] user: drh branch: trunk, size: 187606)
2010-01-01
18:57
Add evidence marks associated with autoincrement. file: [e0576573] check-in: [0e918c54] user: drh branch: trunk, size: 187365)
2009-12-03
04:40
Fix a couple of compiler warnings under MSVC. file: [5ed06318] check-in: [e3aa0870] user: shaneh branch: trunk, size: 186980)
2009-11-25
18:03
Initial check-in of code that inserts tokenizations of the values for bound parameters into the output of sqlite3_trace(). file: [91b65712] check-in: [545cfb3b] user: drh branch: trunk, size: 186968)
2009-11-24
16:26
Fix a tracing macro in the VDBE in the VColumn opcode. file: [343175b0] check-in: [cb74b81b] user: drh branch: trunk, size: 186896)
2009-11-20
15:02
If the root pages numbers of the internal schema are adjusted due to autovacuum on a DROP TABLE statement and that statement later aborts (for example, due to an OOM error) then reset the internal schema at the conclusion of the statement. Partial fix for ticket [564d412f15a]. file: [89d618dd] check-in: [e493b093] user: drh branch: trunk, size: 186896)
2009-11-18
23:01
Performance improvement by avoiding unnecessary calls to memset(). file: [95fa2b51] check-in: [85940468] user: drh branch: trunk, size: 186733)
2009-11-17
23:59
Enhancements to the VDBE opcode loop to reduce the number of machine-code instructions evaluated by about 10%. file: [ed60d48b] check-in: [9744ffb3] user: drh branch: trunk, size: 186676)
18:31
Code generator tries to avoid pointless OP_IsNull and OP_Affinity opcodes. file: [678dc437] check-in: [ebb0c8a3] user: drh branch: trunk, size: 185794)
2009-11-14
23:22
Optimizations to the main loop inside sqlite3VdbeExec() to help VDBE byte code run a few percent faster. file: [0bc1c3aa] check-in: [d622ac6a] user: drh branch: trunk, size: 185817)
18:04
Make the sqlite3VdbeExec() function about 2% faster by storing the opcode array in a local variable. file: [0abb88a1] check-in: [8bd3cc82] user: drh branch: trunk, size: 186206)
2009-11-13
20:52
Performance improvements and size reductions on the OP_Seek* family of VDBE opcodes. file: [74158ea3] check-in: [ed820f45] user: drh branch: trunk, size: 186144)
19:43
Simplify the OPFLG processing logic in the VDBE for a speed boost in the VDBE processing loop and a reduction in code size. file: [bc7fe6c7] check-in: [3352b3eb] user: drh branch: trunk, size: 185582)
17:05
Force 8-byte memory alignment on memory allocated for VDBE cursors. file: [3067cfcc] check-in: [bdc45ba7] user: drh branch: trunk, size: 186791)
2009-11-12
19:59
Enhance the OP_Found and OP_NotFound opcodes so that they can accept an array of registers as an unpacked record in addition to a record built using OP_MakeRecord. Use this to avoid OP_MakeRecord calls during IN expression processing. file: [d035dd3b] check-in: [b9eab885] user: drh branch: trunk, size: 186771)
17:52
Factor out the IN operator code generation into a subroutine. Use this subroutine to implement both logic and branching versions of the IN operator. file: [7c023817] check-in: [fcff5b7e] user: drh branch: trunk, size: 186111)
03:13
Adjustments to the implementation of LIMIT so that it uses fewer opcodes. file: [393a6766] check-in: [39d5b292] user: drh branch: trunk, size: 186836)
2009-11-10
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. file: [7e112c50] check-in: [f6c045f6] user: drh branch: trunk, size: 186735)
2009-10-29
13:48
Reduce the memory required by prepared statements that use the IN operator with a list on the right and an INTEGER PRIMARY KEY on the left. file: [a435ffcf] check-in: [e7984ad2] user: drh branch: trunk, size: 186799)
2009-10-16
16:21
Merge the sqlite3_reoptimize() changes into the trunk. file: [f0d6e7db] check-in: [50136840] user: drh branch: trunk, size: 186490)
14:55
Experimental fix for [f777251dc7]. This may be changed yet. file: [b00293fa] check-in: [174477bc] user: dan branch: trunk, size: 186608)
2009-10-15
23:03
When a forced rollback occurs, cause all active statements on the same database connection to halt immediately with an SQLITE_ABORT error code. This is a partial fix to ticket [f777251dc7]. file: [1d3415df] check-in: [f256bc07] user: drh branch: trunk, size: 186491)
19:45
On any rollback, immediately interrupt all running statements on the same database connection. This is a partial fix for ticket [f777251dc7]. file: [fcf35978] check-in: [c304b44c] user: drh branch: experimental, size: 186396)
18:35
Add the experimental sqlite3_reoptimize() API. file: [a03993ed] check-in: [9bd6f3d8] user: dan branch: experimental, size: 186411)
2009-10-13
15:36
When a write transaction fails to being because the database is read-only, fail right away. Do not give the error code an opportunity to be overwritten with SQLITE_OK. Ticket [5ee23731f15]. file: [93fb0b49] check-in: [bc110117] user: drh branch: trunk, size: 186529)
2009-10-07
18:41
Add some tests of statements in foreignkeys.html. file: [df2824f4] check-in: [83828679] user: dan branch: trunk, size: 186577)
2009-09-25
17:03
Avoid checking if an insert or delete has "fixed" an outstanding FK constraint violation if the constraint counter indicates that the database contains no such violations. file: [cb9dae4c] check-in: [519144ac] user: dan branch: trunk, size: 186576)
2009-09-23
17:30
Do not check immediate foreign key constraints until the end of the statement. This matches the postgres behaviour. file: [a5da14fe] check-in: [1a32149c] user: dan branch: trunk, size: 185516)
02:29
Generalize the IS and IS NOT operators so that their right-hand side can be an arbitrary expression and not simple the constant NULL. They work like = and <> except that NULL values compare equal to one another an unequal to everything else. file: [4946e2ac] check-in: [98853f61] user: drh branch: trunk, size: 184941)
2009-09-22
07:13
Fix compilation errors when OMIT_FOREIGN_KEY is defined. file: [03857c07] check-in: [c447cb37] user: dan branch: trunk, size: 183351)
2009-09-19
17:00
Check in implementation of foreign key constraints. file: [93040bd3] check-in: [d5d39981] user: dan branch: trunk, size: 183351)
2009-09-10
19:09
Cleanup of warnings on MSVC build. file: [30bf8ff5] check-in: [5588cc96] user: shane branch: trunk, size: 182113)
2009-09-09
15:06
Add some tests that involve BEFORE UPDATE or BEFORE DELETE triggers messing with the row being updated or deleted. SQLite behaviour in this scenario is undefined, so the tests just check that the behaviour is relatively sane and there are no crashes. file: [3c094e85] check-in: [9a4c59a2] user: dan branch: trunk, size: 181971)
2009-09-08
19:15
Combine the OP_Statement and OP_Transaction opcodes. file: [aba680ec] check-in: [aec9dbd8] user: dan branch: trunk, size: 181979)
02:27
Further simplifications to the VDBE - removing functionality that is no longer used. file: [5dc91d9b] check-in: [b271e166] user: drh branch: trunk, size: 182446)
01:14
Code simplifications, especially to the pseudo-table logic, and comment improvements. file: [3ead9f63] check-in: [52449a95] user: drh branch: trunk, size: 182387)
2009-09-07
18:14
Add the SQLITE_LIMIT_TRIGGER_DEPTH option to sqlite3_limit(). file: [4e3c6895] check-in: [d7dc8b43] user: drh branch: trunk, size: 182442)
04:38
Warning cleanup from the MSVC compile. file: [a158f0f3] check-in: [26cd015c] user: shane branch: trunk, size: 182460)
2009-09-01
17:11
Change "PRAGMA disable_recursive_triggers" to "PRAGMA recursive_triggers". Also a fix for compiling with OMIT_TRIGGER defined. file: [addf5f6f] check-in: [e016cca3] user: dan branch: trunk, size: 182455)
12:16
More fixes and comment updates. file: [fcc15fb2] check-in: [38a9327b] user: dan branch: trunk, size: 182452)
2009-08-31
15:27
More fixes for test cases. file: [69890b64] check-in: [85d9f23b] user: dan branch: trunk, size: 182038)
2009-08-30
11:42
Fixes for new triggers scheme. file: [5e9d870e] check-in: [9eb91efd] user: dan branch: trunk, size: 181567)
2009-08-28
18:53
Changes to support recursive triggers. file: [e4530952] check-in: [9b9c1921] user: dan branch: trunk, size: 182067)
2009-08-18
16:24
Change the sqlite_stat2 schema to be more flexible. file: [464e2e30] check-in: [ded9dec6] user: dan branch: trunk, size: 177351)
2009-08-17
17:06
First version of sqlite_stat2 (schema forces exactly 10 samples). file: [f2c07c64] check-in: [dd96bda2] user: dan branch: trunk, size: 178695)
2009-07-24
17:58
Allow virtual tables to be used in shared-cache mode. (CVS 6928) file: [0ce57f82] check-in: [5d9e767a] user: danielk1977 branch: trunk, size: 177339)
2009-07-22
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: [3f4b02f5] check-in: [96cfd079] user: drh branch: trunk, size: 177542)
2009-07-14
18:35
Add comments and assert() statements to show that the return value from sqlite3BtreeKeySize() and sqlite3BtreeData() usually do not matter. Ticket #3968. Also remove a NEVER() macro that can sometimes be true - discovered while testing the previous change. (CVS 6893) file: [b6fadd91] check-in: [0c710c1b] user: drh branch: trunk, size: 177374)
02:33
Make sure the IN operator works with zeroblobs. Ticket #3965. Other simplifications associated with structural testing. (CVS 6890) file: [f76edc03] check-in: [25dd3422] user: drh branch: trunk, size: 176865)
2009-07-07
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: [4f702761] check-in: [06dcfe72] user: danielk1977 branch: trunk, size: 176853)
2009-07-03
16:25
Simplify the way the read-uncommitted flag is handled to facilitate test coverage. (CVS 6841) file: [bdf25930] check-in: [e2112d61] user: danielk1977 branch: trunk, size: 177584)
2009-07-02
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: [7e578177] check-in: [e3c055f1] user: danielk1977 branch: trunk, size: 177522)
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: [f2462fdb] check-in: [f17ef378] user: danielk1977 branch: trunk, size: 177569)
2009-06-26
16:32
Removed a few compiler warnings under MSVC. (CVS 6825) file: [dfd508c9] check-in: [f01a9fc3] user: shane branch: trunk, size: 177567)
15:14
Remove the priorNewRowid field from the sqlite3 structure. Use the last_insert_rowid as the initial value when searching for a new random rowid in the OP_NewRowid opcode. (CVS 6824) file: [e16028ce] check-in: [96729b2d] user: drh branch: trunk, size: 177613)
2009-06-25
01:47
Improved handling of oversize string and blob errors. Other simplifications in support of full coverage testing. (CVS 6813) file: [e7831536] check-in: [8b340766] user: drh branch: trunk, size: 177646)
2009-06-24
13:16
Remove an ALWAYS() macro from vdbe.c that sometimes fails on thread tests. (CVS 6812) file: [5c4a5950] check-in: [52eac078] user: drh branch: trunk, size: 177603)
2009-06-23
14:15
Simplifications to vdbe.c to promote better test coverage. (CVS 6802) file: [5337789f] check-in: [3ffc93d7] user: drh branch: trunk, size: 177611)
2009-06-22
19:05
Simplifications to vdbe.c and it service routines in support of coverage testing. (CVS 6799) file: [c5a0a208] check-in: [308f2e61] user: drh branch: trunk, size: 177481)
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: [e92e2f41] check-in: [bda38f5e] user: drh branch: trunk, size: 176201)
11:10
More simplifications to vdbe.c. Remove a NEVER() from vdbe.c that is possible after all. (CVS 6796) file: [15076381] check-in: [c8f009bd] user: drh branch: trunk, size: 176194)
00:55
Simplifications to vdbe.c in support of coverage testing. (CVS 6794) file: [67ec3440] check-in: [16680f05] user: drh branch: trunk, size: 176305)
2009-06-19
22:23
Do now allow a COMMIT to occur while even a single write operating is in progress. (CVS 6790) file: [51b0d739] check-in: [605520ec] user: drh branch: trunk, size: 177250)
14:06
Reorganize and cleanup the prepared statement object. Remove code that has been commented out for ages and is no longer relevant to anything. (CVS 6786) file: [ad47fc3d] check-in: [37ae5f5e] user: drh branch: trunk, size: 177250)
2009-06-18
00:41
Remove the P3 operand from OP_IsNull since it was not being used. (CVS 6779) file: [09925c46] check-in: [767ef1e4] user: drh branch: trunk, size: 177315)
2009-06-17
22:50
Avoid an assertion fault if an out-of-memory error occurs while trying to run the string-concatentation operator on a zero-blob. (This is an absurd thing to do, but even so, we still should not fault.) (CVS 6778) file: [52863ed4] check-in: [0def0b76] user: drh branch: trunk, size: 177544)
21:42
Fix a problem in vdbe.c that could cause a double-free of memory if the SQLITE_LIMIT_LENGTH is changed after a statement is prepared but before it is run. Also remove debugging statements from tkt3841.test. (CVS 6777) file: [d382d0d1] check-in: [3d7327fd] user: drh branch: trunk, size: 177526)
16:20
Use caution to avoid integer overflow when doing real to integer affinity operations. Ticket #3922. (CVS 6776) file: [a7b9ad4a] check-in: [39255946] user: drh branch: trunk, size: 177591)
2009-06-15
20:45
Changes to allow a clean compile with no floating-point instructions generated when SQLITE_OMIT_FLOATING_POINT is used. (CVS 6763) file: [ba87db54] check-in: [1591b832] user: drh branch: trunk, size: 177550)
2009-06-09
18:58
Fix compiler warnings with MSVC build. (CVS 6741) file: [20cf0b0b] check-in: [0bd84e73] user: shane branch: trunk, size: 177510)
18:14
Avoid a false failure report in the test scripts caused by the vdbe stack "compression" script. (CVS 6740) file: [60ca5ae0] check-in: [9d332989] user: shane branch: trunk, size: 177485)
2009-06-05
16:46
Do not cast an unsigned int into an int for comparison. (CVS 6720) file: [434e3803] check-in: [302ab855] user: drh branch: trunk, size: 177476)
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: [7f8639cf] check-in: [38b20327] user: drh branch: trunk, size: 177481)
2009-06-03
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: [d105cc58] check-in: [6dbf4eca] user: danielk1977 branch: trunk, size: 175539)
2009-06-02
16:06
Tweaks to vdbe.c to further reduce stack space requirements. (CVS 6706) file: [6bb5bc95] check-in: [6f2aab3f] user: drh branch: trunk, size: 176222)
15:21
Add the vdbe-compress.tcl script which automatically refactors the sqlite3VdbeExec() routine to use less stack space. Use this script when constructing the amalgamation. (CVS 6704) file: [2f2c4b5a] check-in: [7f433918] user: drh branch: trunk, size: 176188)
2009-05-18
16:14
Port patches from the trunk into the 3.6.14.1 branch: the group_concat() fix of check-in (6616), ticket #3841 and the pcache fix of check-in (6619), ticket #3844. (CVS 6652) file: [09e2a268] check-in: [2a277c55] user: drh branch: branch_3_6_14, size: 174189)
2009-05-07
12:17
Make sure the iteration counter on aggregate functions is reset each time the aggregate is used in an correlated subquery. Ticket #3841. (CVS 6616) file: [b859cb27] check-in: [4a86de35] user: drh branch: trunk, size: 174185)
2009-05-06
18:57
Changes to silence compiler warnings under MSVC. (CVS 6613) file: [3cecc2bb] check-in: [df599237] user: shane branch: trunk, size: 174168)
2009-05-04
11:42
Speed up INSERT operations that add data to UNIQUE or PRIMARY KEY indexes by rationalizing duplicate seek operations. (CVS 6599) file: [e7c3355a] check-in: [cac4f3d8] user: danielk1977 branch: trunk, size: 174136)
2009-04-30
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: [5fe07cce] check-in: [38f8c5a1] user: danielk1977 branch: trunk, size: 174315)
2009-04-22
17:15
Eliminate the OP_VRowid opcode. The regular OP_Rowid now work for both regular and virtual tables. (CVS 6537) file: [b7a27b4c] check-in: [ecbef450] user: drh branch: trunk, size: 174300)
15:32
Change the OP_Rowid opcode so that a deferred OP_Seek is pending, it simply pulls the rowid from the deferred seek target and does not actually move the cursor or do a seek. Other where.c cleanups. (CVS 6536) file: [ff8870fd] check-in: [1c508a99] user: drh branch: trunk, size: 174440)
02:15
Remove the rowhash object from the code. Rowset now fills its role. (CVS 6535) file: [13f97667] check-in: [e963bed0] user: drh branch: trunk, size: 174345)
00:47
Extend the Rowset object to contain all the capabilities of Rowhash in addition to its legacy capabilities. Use Rowset to replace Rowhash. In addition to requiring less code, This removes the 2^32 result row limitation, uses less memory, and gives better bounds on worst-case performance. The Rowhash implementation has yet to be removed. (CVS 6534) file: [cbef2e1f] check-in: [b101cf70] user: drh branch: trunk, size: 174291)
2009-04-21
16:15
Allocate the initial RowHash object using lookaside. (CVS 6530) file: [9d6ecf57] check-in: [9b30ab71] user: drh branch: trunk, size: 174204)
15:05
New comments and minor refactoring of rowhash.c. (CVS 6529) file: [6df1766d] check-in: [b8cb4f3e] user: drh branch: trunk, size: 174200)
09:02
Attempt to optimize virtual table queries with 'OR' expressions in the WHERE clause. (CVS 6527) file: [60db222d] check-in: [f61e4cd9] user: danielk1977 branch: trunk, size: 174164)
2009-04-10
12:55
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) file: [88bc7092] check-in: [683e4bd7] user: danielk1977 branch: trunk, size: 172377)
00:56
Force 8-byte alignment of sqlite3_value objects in the sqlite3VdbeUnpackRecord() primitive. Ticket #3777. (CVS 6479) file: [146b72ae] check-in: [2cc68272] user: drh branch: trunk, size: 172379)
2009-04-07
09:16
Have OP_IdxRowid handle the case where the index entry it is reading from is deleted. (CVS 6461) file: [3d252f70] check-in: [cdad29b5] user: danielk1977 branch: trunk, size: 172340)
2009-04-02
20:27
Make sure count(*) works on the sqlite_master table of an empty database. Ticket #3774. (CVS 6443) file: [bddddefc] check-in: [e0c1a780] user: drh branch: trunk, size: 172256)
2009-03-23
17:11
Fix an obscure race condition that can occur when multiple threads, shared cache and DDL statements are combined. Enhance notify2.test to test this scenario. (CVS 6373) file: [62492202] check-in: [92ec5975] user: danielk1977 branch: trunk, size: 172218)
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: [f8164c28] check-in: [a60f4191] user: danielk1977 branch: trunk, size: 170784)
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: [2ae831d4] check-in: [18978583] user: drh branch: trunk, size: 169788)
2009-03-16
13:19
Add the sqlite3_unlock_notify() API. (CVS 6348) file: [230b0b7e] check-in: [b649a6cc] user: danielk1977 branch: trunk, size: 169888)
2009-03-05
04:20
Corrected typos and misspellings. Ticket #3702. (CVS 6336) file: [a193ab2c] check-in: [6404afa0] user: shane branch: trunk, size: 169867)
2009-02-24
18:57
Changes to comments and functions/procedure names for clarification. No changes to logic. (CVS 6322) file: [e0351202] check-in: [b99c1815] user: drh branch: trunk, size: 169861)
10:01
Optimize queries of the form "SELECT count(*) FROM <tbl>" by adding a sqlite3BtreeCount() interface to the btree layer. (CVS 6316) file: [13194e29] check-in: [d4aa6593] user: danielk1977 branch: trunk, size: 169803)
2009-02-20
10:58
Instead of using SetNumColumns, specify the number of columns in a table or index using the P4 argument. (CVS 6310) file: [23a620da] check-in: [e43ed649] user: danielk1977 branch: trunk, size: 169409)
03:55
Add a count parameter to the OP_Variable opcode and use it to simplify prepared statements that copy consecutive unnamed parameters into consecutive registers (a common case). (CVS 6309) file: [3bd3acff] check-in: [48b77b04] user: drh branch: trunk, size: 169167)
03:02
Add the OP_HaltIfNull opcode and use it to simplify prepared statements for INSERTs and UPDATEs of tables with NOT NULL columns. (CVS 6308) file: [4533be29] check-in: [feccad8d] user: drh branch: trunk, size: 169116)
2009-02-19
14:39
Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305) file: [d7b996a5] check-in: [d9f6ffbc] user: danielk1977 branch: trunk, size: 168759)
2009-02-16
17:55
Changes to remove some compiler warnings from MSVC. (CVS 6294) file: [02e70c48] check-in: [68f15442] user: shane branch: trunk, size: 168711)
2009-02-10
11:17
Reenable triggering vdbe tracing by creating file-system entries. Add a (redundant) test that modifying the temp schema expires all prepared statements. (CVS 6274) file: [473169c1] check-in: [f6590dac] user: danielk1977 branch: trunk, size: 168711)
2009-02-09
13:19
Better error message when DISTINCT is used on an aggregate function that takes two or more arguments. Ticket #3641. (CVS 6269) file: [0be895a0] check-in: [e20bf384] user: drh branch: trunk, size: 168743)
2009-02-04
03:59
Changes to completely remove all floating point ops if SQLITE_OMIT_FLOATING_POINT defined. Note that w/o fp, date/time, round, nan, etc. are all gone or limited in functionality. Updated some of the test scripts to support missing fp and 64-bit functionality. Ticket #3029. (CVS 6250) file: [c7190178] check-in: [5cef4000] user: shane branch: trunk, size: 168705)
2009-02-01
00:29
Adjust comments in vdbe.c to use OP_MakeRecord instead of the obsolete OP_MakeIdxRec. Ticket #3619. (CVS 6225) file: [81120d5a] check-in: [0d2abbbf] user: drh branch: trunk, size: 168629)
2009-01-20
16:53
When not compiling for an EBCDIC system, use built-in alternatives to the tolowe r(), toupper() and other ctype.h library functions. Ticket #3597. (CVS 6196) file: [e14b330e] check-in: [1041abd6] user: danielk1977 branch: trunk, size: 168637)
2009-01-14
00:55
Make sure the OR-clause optimizer takes the cost of sorting into account. Reset the rowid cache on the OP_Rewind and OP_Last opcodes. Bump the version number so that we can do an emergency release. Ticket #3581. (CVS 6173) file: [b917020d] check-in: [d28b5820] user: drh branch: trunk, size: 168648)
2009-01-05
22:30
The fix in (6111) was not quite right. This version works better. (CVS 6113) file: [4e9b83e7] check-in: [5f80140a] user: drh branch: trunk, size: 168598)
18:02
Make sure the MEM_Zero flags is cleared whenever removing MEM_Blob. (CVS 6111) file: [d30c6c3e] check-in: [b2131e86] user: drh branch: trunk, size: 168541)
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: [687e4815] check-in: [3e9efb76] user: drh branch: trunk, size: 168532)
2008-12-29
10:39
Set the OPFLG_IN1 flag on a couple of extra opcodes. (CVS 6070) file: [aa4674ce] check-in: [03d03504] user: danielk1977 branch: trunk, size: 168535)
2008-12-23
13:35
Multi-index OR-clause optimization now works for simple tests. There are no test scripts for it yet, though. And it is disabled by default, pending further testing and optimization. We need a lot of both. (CVS 6058) file: [fb84f5ce] check-in: [d77a7023] user: drh branch: trunk, size: 168706)
2008-12-18
18:31
Increase test coverage of new savepoint code. (CVS 6040) file: [e9a7825d] check-in: [d915718d] user: danielk1977 branch: trunk, size: 168716)
2008-12-17
17:30
Add the savepoint feature. This feature is largely untested at this point. (CVS 6036) file: [79d3ec97] check-in: [34b56600] user: danielk1977 branch: trunk, size: 168885)
2008-12-15
15:27
Convert the "~" and "NOT" operators to be two-address instructions. Ticket #3541. (CVS 6028) file: [3fd1fe64] check-in: [ea9b747e] user: drh branch: trunk, size: 163663)
2008-12-12
17:56
Rework the rowid lookup logic in the query optimizer to fix various boundary value problems. Ticket #3536. Renamed the OP_MoveXX opcodes to OP_SeekXX. (CVS 6024) file: [ee98938f] check-in: [e545490a] user: drh branch: trunk, size: 163607)
2008-12-11
20:03
Previous change to the OP_ForceInt opcode did not work correctly when the input is a negative floating point value. This change is the fix. Ticket #3536. (CVS 6023) file: [0f9f1952] check-in: [f6c50f35] user: drh branch: trunk, size: 162788)
19:50
Make sure the OP_ForceInt vdbe opcode does not cause a rowid overflow. Ticket #3536. Tests to verify this change will be checked in separately. (CVS 6022) file: [78e24995] check-in: [6a049c65] user: drh branch: trunk, size: 162804)
16:17
Guard against attacks from deliberately corrupted database files. (CVS 6021) file: [46eed1fc] check-in: [da2ec964] user: drh branch: trunk, size: 162450)
13:05
Initialize a local variable so as to avoid a valgrind warning. (CVS 6019) file: [3a184e26] check-in: [0d316160] user: drh branch: trunk, size: 162477)
02:58
Removed a few more harmless warnings from MSVC. (CVS 6018) file: [4b004af1] check-in: [72fd92bd] user: shane branch: trunk, size: 162845)
2008-12-10
22:32
Try to remove compiler warnings from vdbe.c. (CVS 6014) file: [99e6c72b] check-in: [50352950] user: drh branch: trunk, size: 162839)
19:26
Never use strlen(). Use our own internal sqlite3Strlen30() which is guaranteed to never overflow an integer. Additional explicit casts to avoid nuisance warning messages. (CVS 6007) file: [0244413f] check-in: [c872d554] user: drh branch: trunk, size: 162683)
18:03
More explicit type casting to silence VC++. (CVS 6006) file: [b99af9ad] check-in: [14e6d19c] user: drh branch: trunk, size: 162611)
2008-12-09
02:51
Suppress more silly compiler warnings. (CVS 5995) file: [fce160c7] check-in: [1522c2c6] user: drh branch: trunk, size: 162521)
2008-12-06
16:46
Make sure a memory allocation error did not prevent UTF16 to UTF8 conversion prior to doing a string comparison. (CVS 5988) file: [c7da2727] check-in: [9d061e20] user: drh branch: trunk, size: 162507)
2008-12-04
22:17
Fix a segfault that can occur in the RowSet object following a malloc failure. (CVS 5978) file: [3e849f1c] check-in: [cb0f1658] user: drh branch: trunk, size: 162467)
20:40
Replace the VDBE Fifo object with the new RowSet object. (CVS 5977) file: [5c46d374] check-in: [39a0750b] user: drh branch: trunk, size: 162414)
12:17
Always enable the OP_Blob opcode in the VDBE even when SQLITE_OMIT_BLOB_LITERAL is defined, since that opcode is used for other purposes as well. Ticket #3518. (CVS 5974) file: [3291fb0f] check-in: [760333de] user: drh branch: trunk, size: 161883)
2008-11-17
15:31
Modifications to avoid signed/unsigned warnings in vdbe.c. (CVS 5912) file: [c5270245] check-in: [9939dd83] user: danielk1977 branch: trunk, size: 161962)
2008-11-13
18:29
Fixed several more crashes due to corrupt db files. Added corruptC.test to soak.test. (CVS 5905) file: [c15dc80b] check-in: [9b7a52e9] user: shane branch: trunk, size: 161935)
2008-11-05
16:37
The COMMIT command now works even if there are pending queries, as long as the pending queries are reading and not writing the database. (CVS 5864) file: [b6b989bb] check-in: [51f04aaf] user: drh branch: trunk, size: 161868)
2008-11-03
20:55
Change the name of the Cursor object to VdbeCursor. (CVS 5857) file: [d2c9b71d] check-in: [fdb98fd8] user: drh branch: trunk, size: 161366)
2008-10-30
15:03
Add the sqlite3_extended_errcode() interface. Change to return SQLITE_BUSY instead of SQLITE_ERROR when a COMMIT is attempted and one or more queries are still pending. (CVS 5850) file: [e3629776] check-in: [4c6a90a1] user: drh branch: trunk, size: 161225)
2008-10-27
13:59
Make sqlite3_count_changes() and total_changes() work with "DELETE FROM ". (CVS 5844) file: [be815328] check-in: [e68e4282] user: danielk1977 branch: trunk, size: 161234)
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: [b78adf57] check-in: [af679f61] user: danielk1977 branch: trunk, size: 160701)
2008-10-07
23:46
Add the experimental sqlite3_stmt_status() interface. (CVS 5781) file: [374961d5] check-in: [de473efb] user: drh branch: trunk, size: 160626)
19:53
Raise the hard upper bound on SQLITE_MAX_FUNCTION_ARG to 1000 from 100. The default upper bound is still 100, but it can now be raised as high as 1000 at compile-time. (CVS 5780) file: [b1c79e64] check-in: [79df72ee] user: drh branch: trunk, size: 160540)
2008-09-22
06:13
Remove unused macro Release() from vdbe.c. (CVS 5728) file: [c9499f18] check-in: [91567943] user: danielk1977 branch: trunk, size: 160514)
2008-09-02
11:05
Add a 'const' to the opcodeProperty array in vdbe.c. (CVS 5661) file: [ebc6f6bc] check-in: [29c9a802] user: danielk1977 branch: trunk, size: 160698)
2008-08-21
19:28
Remove references to OP_MoveTo in comments of vdbe.c - that opcode no longer exists. Ticket #3327. (CVS 5584) file: [adcc179a] check-in: [30077ece] user: drh branch: trunk, size: 160684)
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: [ae37f601] check-in: [00b17798] user: drh branch: trunk, size: 160708)
2008-08-13
19:11
Additional changes toward fixing ticket #3292. (CVS 5562) file: [e2dd0c78] check-in: [0b92cbf5] user: drh branch: trunk, size: 160714)
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: [cda10a8e] check-in: [055f173a] user: drh branch: trunk, size: 160893)
2008-08-11
18:44
Do not allow indexing of any table whose name begins with "sqlite_". Ticket #3284. Improve handling of databases with malformed schemas - just in case somebody has actually indexed a system table. (CVS 5553) file: [2eff8c22] check-in: [0e1d8d14] user: drh branch: trunk, size: 160895)
2008-08-02
15:10
Increase the ref-count on the sqlite3_vtab structure before calling either the xNext or xFilter methods. (CVS 5524) file: [96e0527a] check-in: [6e41455f] user: danielk1977 branch: trunk, size: 160879)
2008-08-01
20:10
Bring test coverage up to 99%. (CVS 5522) file: [a548d1dd] check-in: [2cd6bae8] user: drh branch: trunk, size: 160751)
17:37
Test that virtual table methods xBestIndex, xOpen, xFilter, xNext, xColumn, xRowid, xUpdate, xSync and xBegin can all return error messages using the sqlite3_vtab.zErrMsg variable. (CVS 5519) file: [90296a45] check-in: [007359b7] user: danielk1977 branch: trunk, size: 160722)
2008-07-30
13:27
Implicit string->numeric conversion should go to an integer value when possible. Ticket #3257. (CVS 5502) file: [caa16947] check-in: [da0e4bff] user: drh branch: trunk, size: 159903)
13:14
Remove unused sqlite3VdbeMemDynamicify() function from the VDBE. (CVS 5500) file: [4a5b78de] check-in: [aee63308] user: drh branch: trunk, size: 159843)
2008-07-29
10:18
Speed up OP_Column by eliminating some double handling. (CVS 5490) file: [78171c3f] check-in: [9ebee840] user: danielk1977 branch: trunk, size: 159848)
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: [40b188e5] check-in: [e48f9697] user: drh branch: trunk, size: 160107)
2008-07-26
18:47
Remove a branch that could not be taken from OP_IsUnique. (CVS 5485) file: [aa0922d6] check-in: [75c2a532] user: danielk1977 branch: trunk, size: 160043)
18:26
Fix a case where database corruption was causing an invalid reference. (CVS 5484) file: [acc17bc1] check-in: [7aecabac] user: danielk1977 branch: trunk, size: 159731)
2008-07-23
21:07
Error messages from virtual tables store on the sqlite3_vtab->zErrMsg field are reported back up to the application interface and memory is reclaimed. (CVS 5466) file: [cc4c19b8] check-in: [4a9dd5e7] user: drh branch: trunk, size: 159650)
18:17
Read the sqlite3_vtab.zErrMsg after each call to a virtual table method and transfer any error into the database connection. Fix the fts2.test and fts3.test scripts to that they return silently rather than failing the test sequence if the appropriate FTS implementation is unavailable. (CVS 5463) file: [28681507] check-in: [e2c6771d] user: drh branch: trunk, size: 159532)
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: [179dbe5f] check-in: [c80a5d09] user: drh branch: trunk, size: 159308)
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: [14d98d1d] check-in: [636cd723] user: drh branch: trunk, size: 159363)
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: [4b3c7d0c] check-in: [8ed04b1e] user: drh branch: trunk, size: 160402)
2008-07-07
17:13
Fix an error checked in as part of (5350). (CVS 5353) file: [fb6df1bd] check-in: [acfb2b41] user: danielk1977 branch: trunk, size: 160425)
14:56
Test a couple of specific malloc() failures that were not tested before. (CVS 5350) file: [8adaa752] check-in: [b96bcaa1] user: danielk1977 branch: trunk, size: 160425)
2008-06-26
18:04
Fix handling of "x IN (...)" and "x NOT IN (...)" expressions when the set contains an SQL NULL value. (CVS 5314) file: [b1528683] check-in: [d45a97be] user: danielk1977 branch: trunk, size: 160334)
2008-06-25
00:12
The compound-select merge optimization passes quick.test with no errors. (CVS 5299) file: [c0daf1d1] check-in: [8bbfa978] user: drh branch: trunk, size: 160323)
2008-06-23
18:49
Fix a bug in handling queries on the sqlite_master table with an empty (0 bytes in size) database file. (CVS 5286) file: [3674e10c] check-in: [f8238770] user: danielk1977 branch: trunk, size: 159255)
2008-06-22
12:37
Fix a bug in the KEYINFO handling within select.c. Change the OP_Move opcode to take a count and to move multiple registers. Initial code for the compound-select merge optimization is added but is incomplete and is commented out. (CVS 5272) file: [98d8d2f7] check-in: [663a590e] user: drh branch: trunk, size: 158750)
2008-06-20
18:13
Add new Compare and Jump codes to the virtual machine. Use them in the implementation of aggregate queries. (CVS 5257) file: [b733eaea] check-in: [08311365] user: drh branch: trunk, size: 158591)
15:24
Change the SRT_Subroutine mode into SRT_Coroutine. Use co-routines in the INSERT processing logic. (CVS 5255) file: [d4b0efee] check-in: [6b9d92fc] user: drh branch: trunk, size: 157172)
14:59
Add a mode to the sqlite3_test_control() interface to register hooks called at the beginning and end of "benign malloc failure" blocks. This allows malloc() failure testing to be done using public APIs only. (CVS 5254) file: [7f80262d] check-in: [56c8af14] user: danielk1977 branch: trunk, size: 156808)
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: [f6866986] check-in: [65fe7b62] user: drh branch: trunk, size: 156804)
2008-06-07
08:58
Change the signature of sqlite3PagerPagecount() so that it can return an error code. (CVS 5195) file: [1936425c] check-in: [e9f01c01] user: danielk1977 branch: trunk, size: 156814)
2008-06-06
15:04
Remove the subroutine return stack from the VDBE. Return addresses for subroutines are now stored in registers. (CVS 5191) file: [a113a62a] check-in: [ef1956ee] user: drh branch: trunk, size: 156485)
2008-06-05
11:39
Modify the signatures of the sqlite3_vfs.xAccess and sqlite3_vfs.xCheckReservedLock functions. (CVS 5188) file: [04fec4d3] check-in: [4226ac54] user: danielk1977 branch: trunk, size: 156786)
2008-05-30
15:59
Fix typos in comments in vdbe.c. (CVS 5182) file: [bad9123e] check-in: [06135694] user: shane branch: trunk, size: 156691)
2008-05-29
20:22
Consolidated inline assembly versions of "hwtime()" into hwtime.h. Provided MSVC version. Modified code for consistent use of hwtime(). Changed implementation to use sqlite_uint64 and sqlite_int64 instead of unsigned long long int and long long int for MSVC compiler support. (CVS 5178) file: [37d3237a] check-in: [9883b406] user: shane branch: trunk, size: 156682)
05:23
Fix cosmetic issues spotted while working on ticket #3146 (CVS 5177) file: [efe92d09] check-in: [5f6eab65] user: drh branch: trunk, size: 157010)
03:12
Fix an obsolete comment on the OP_Rowid opcode in the VDBE. (CVS 5174) file: [4666906a] check-in: [0d55328e] user: drh branch: trunk, size: 157037)
2008-05-15
17:48
Add the "page_count" pragma. Returns a single integer - the number of pages in the specified database file. (CVS 5135) file: [25a362a4] check-in: [eb6985e6] user: danielk1977 branch: trunk, size: 157078)
2008-05-13
13:27
Make the benign-fault setting recursive. Make all malloc failures during a rollback benign since there is nothing we can do about them. (CVS 5128) file: [81035a61] check-in: [a9d1d931] user: drh branch: trunk, size: 156619)
2008-05-09
18:03
Reformulate the constants for the minimum and maximum 64-bit signed integer to work better with some compilers. Ticket #3105. (CVS 5113) file: [56c11eb1] check-in: [18b1ee10] user: drh branch: trunk, size: 156615)
2008-05-07
18:59
Added test cases for corrupt SerialTypeLen header values, and additional check to improve detection of corrupt values. (CVS 5101) file: [2bc3352c] check-in: [530c6360] user: shane branch: trunk, size: 156616)
2008-04-29
00:15
Always convert IEEE NaN into NULL. Ticket #3060. Add test cases to verify that this is happening. (CVS 5066) file: [26964ba7] check-in: [9b07e59e] user: drh branch: trunk, size: 156455)
2008-04-28
16:55
Change the implementation of the NaN recognition to be more cross-platform. Ticket #3089. (CVS 5060) file: [1e0ee231] check-in: [07fd9a8c] user: drh branch: trunk, size: 156412)
2008-04-25
12:25
Clarify some comments. No changes to code. (CVS 5049) file: [2d75ac15] check-in: [7f805392] user: drh branch: trunk, size: 156413)
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: [062c597e] check-in: [0d04ccd9] user: shane branch: trunk, size: 155966)
2008-04-18
11:31
Remove unused code from OP_IdxLt and OP_IdxGE. (CVS 5030) file: [e0cc1de8] check-in: [df02175e] user: danielk1977 branch: trunk, size: 156620)
10:25
Combine cases 3 and 4 in where.c, since case 4 is now a special case of case 3. (CVS 5029) file: [892a8718] check-in: [9a976819] user: danielk1977 branch: trunk, size: 156903)
09:01
Allow OP_MoveGt and similar to use an array of registers instead of a serialized record. Modify one type of index range scan to use this. (CVS 5028) file: [6b3a2273] check-in: [c448f15a] user: danielk1977 branch: trunk, size: 156456)
2008-04-15
12:14
Fix a code generator bug caused by the new CSE optimization. Add test cases to prevent a recurrence. (CVS 5011) file: [e4a3df12] check-in: [d04246a4] user: drh branch: trunk, size: 154947)
2008-04-10
14:00
Make sure changes to virtual tables are counted the same as real tables. Ticket #3038. (CVS 4976) file: [444ab9ec] check-in: [55591fc4] user: drh branch: trunk, size: 154918)
2008-04-05
18:41
Add the sqlite3PutVarint32 routine as an alternative to sqlite3PutVarint. Gives 0.5% speed increase. (CVS 4968) file: [edee1974] check-in: [b2517a7d] user: drh branch: trunk, size: 154900)
2008-04-03
20:09
Fix to the previous check-in so that it works on a intel Mac. (CVS 4962) file: [66ca98cc] check-in: [1d67f41c] user: drh branch: trunk, size: 154896)
19:40
Use an improved RDTSC access routine. (CVS 4961) file: [da3f91d8] check-in: [b4eba9c5] user: drh branch: trunk, size: 155022)
2008-04-02
16:29
Simplifications to the LockTable opcode. (CVS 4954) file: [1f8c02fc] check-in: [66c5d715] user: drh branch: trunk, size: 154817)
2008-04-01
00:36
Break up the implementation of OP_Move, OP_Copy, and OP_SCopy to reduce the number of branch instructions. (CVS 4945) file: [1a8f3ece] check-in: [53e533d3] user: drh branch: trunk, size: 154943)
2008-03-31
18:19
Factor constant subexpressions out of loops. (CVS 4942) file: [07f500db] check-in: [2126db39] user: drh branch: trunk, size: 154443)
2008-03-28
19:16
Fix a memory leak that can occur when the library API is misused. (CVS 4932) file: [09dd6f4c] check-in: [2b6d3e01] user: danielk1977 branch: trunk, size: 154407)
15:44
Changes to the Mem structure to reduce the frequency of freeing and reallocating the dynamic buffer. (CVS 4928) file: [a1413f2d] check-in: [d0bf73d8] user: danielk1977 branch: trunk, size: 154363)
2008-03-27
22:42
Allow the xAccess method in the VFS to return -1 to signal an I/O error, and in particular an SQLITE_IOERR_NOMEM. (CVS 4925) file: [ecad5d19] check-in: [3cb704c4] user: drh branch: trunk, size: 154015)
17:59
Allow creation of ephemeral pseudo-tables - pseudo-tables that copy a pointer to a row when inserted instead of copying the row data. (CVS 4924) file: [f8e6d7f9] check-in: [1a58a870] user: danielk1977 branch: trunk, size: 153875)
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: [00687034] check-in: [ee381b43] user: drh branch: trunk, size: 153264)
09:47
Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912) file: [bdcbf54c] check-in: [04715364] user: danielk1977 branch: trunk, size: 153086)
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: [d81771c6] check-in: [0e1d84f2] user: drh branch: trunk, size: 151443)
2008-03-21
17:13
Make sure the text result of an aggregate function has the correct encoding. Ticket #3009. (CVS 4903) file: [43b261f5] check-in: [13e388ce] user: drh branch: trunk, size: 151735)
2008-03-20
14:03
Initial implementation of per-connection limits and the sqlite3_limit() API. The sqllimits1.test script crashes. SQLITE_LIMIT_PAGE_COUNT and SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897) file: [5ac49cf5] check-in: [60c77882] user: drh branch: trunk, size: 151690)
2008-03-19
21:45
Add a new interface, sqlite3_context_db_handle(), that returns the database connection pointer for an application-defined function. (CVS 4889) file: [86033e43] check-in: [54c55cae] user: drh branch: trunk, size: 151592)
14:15
Add a new api sqlite3_randomness() for providing access to SQLite's internal PRNG. Add sqlite3_test_control() verbs for controlling the PRNG. (CVS 4882) file: [aaf93d6d] check-in: [15110ea0] user: drh branch: trunk, size: 151591)
2008-03-17
17:18
Fix an uninitialized variable in the Prev and Next opcodes. (CVS 4873) file: [c63fcb1c] check-in: [fcf3d0a3] user: drh branch: trunk, size: 151590)
16:54
Detect the failure to zero-terminate a result string due to a malloc failure. (CVS 4871) file: [abb9232d] check-in: [57db1406] user: drh branch: trunk, size: 151605)
2008-02-13
18:25
Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783) file: [a172f513] check-in: [990237e2] user: danielk1977 branch: trunk, size: 151575)
2008-02-06
14:11
Add the sqlite3_result_error_code() application interface. Use it in the ATTACH function so that a failed attach returns a proper error code. Ticket #2914. (CVS 4775) file: [10493752] check-in: [c2461620] user: drh branch: trunk, size: 150965)
2008-01-31
19:34
Fix a problem with virtual tables and left joins introduced by check-in (4761). Ticket #2894 and #2913. (CVS 4765) file: [451ead62] check-in: [ebeac2a4] user: drh branch: trunk, size: 150967)
15:53
Make sure virtual table interfaces are not invoked after EOF when the virtual table appears in an outer join. Ticket #2894. (CVS 4761) file: [a21942ef] check-in: [face510b] user: drh branch: trunk, size: 150946)
2008-01-23
03:03
Make sqlite3SafetyOn() and sqlite3SafetyOff() macros which disappear when compiling without -DSQLITE_DEBUG=1. (CVS 4744) file: [299e18e4] check-in: [5375ad6b] user: drh branch: trunk, size: 150798)
2008-01-22
21:30
Add the fault injector module in fault.c. Use it as a basis for memory allocation failure testing. (CVS 4742) file: [a3ac8efb] check-in: [1a335e18] user: drh branch: trunk, size: 150863)
2008-01-21
16:22
Miscellaneous test coverage improvements. (CVS 4734) file: [e7ec3089] check-in: [720bc20a] user: drh branch: trunk, size: 150868)
2008-01-19
23:50
Additional test coverage improvements. Test coverage now stands at 98.73%. (CVS 4731) file: [7d193674] check-in: [010f7b78] user: drh branch: trunk, size: 150790)
20:11
Miscellaneous code simplifications and cleanup and test coverage enhancements. (CVS 4730) file: [65a3ad90] check-in: [af129b6d] user: drh branch: trunk, size: 151398)
03:35
Cleanup and simplification of constraint processing. Simplifications to the VM for better test coverage. (CVS 4729) file: [986d1b40] check-in: [d9ebe9d7] user: drh branch: trunk, size: 150605)
2008-01-18
14:08
Remove the OP_HexBlob instruction and code OP_Blob directly. Reduce the amount of memory allocation required to encode blob literals. Remove the "out2" instruction type. Other minor optimizations. (CVS 4726) file: [3734b4b4] check-in: [0e50c020] user: drh branch: trunk, size: 151348)
2008-01-17
16:22
Registerification of the VDBE is complete. The operand stack has been removed from the code. All instructions operate out of registers only. (CVS 4718) file: [94d3da76] check-in: [706b41b7] user: drh branch: trunk, size: 152397)
02:36
Registerification of the WHERE clause logic. (CVS 4716) file: [9de1ce4d] check-in: [b3a141b2] user: drh branch: trunk, size: 161693)
2008-01-16
17:46
Get all tests running without memory leaks. (CVS 4714) file: [1c585994] check-in: [5807921f] user: drh branch: trunk, size: 163836)
2008-01-12
21:35
The sqlite3_trace() callback now prints a message as each trigger fires within a statement. (CVS 4709) file: [f3670046] check-in: [110c000d] user: drh branch: trunk, size: 163501)
19:03
Continuing work toward converting the VM to a register machine. (CVS 4708) file: [a05947fb] check-in: [426f31ec] user: drh branch: trunk, size: 163022)
12:48
Continuing work toward converting the VM into a register machine. (CVS 4707) file: [20bd0886] check-in: [a6dddebc] user: drh branch: trunk, size: 164058)
2008-01-10
23:50
More work toward converting the VM into a register-based machine. (CVS 4704) file: [2a62b69e] check-in: [8cbd4651] user: drh branch: trunk, size: 164428)
2008-01-09
23:04
All essential opcodes can now operate out of registers and completely avoid the stack. Many still optionally use the stack to support legacy code generation, but the stack is not required. The next step is to update all code generation to avoid using the stack. (CVS 4700) file: [b094a883] check-in: [e3cf1c1c] user: drh branch: trunk, size: 167459)
02:15
Continued work toward converting to a register-based VM. (CVS 4698) file: [cf1f4de3] check-in: [92deff07] user: drh branch: trunk, size: 169469)
2008-01-08
23:54
Registerify the comparison opcodes. (CVS 4697) file: [926b4630] check-in: [8862ce9c] user: drh branch: trunk, size: 172350)
02:57
Progress toward registerification of the constraint checking logic for INSERT and UPDATE. (CVS 4693) file: [e71595ac] check-in: [b9bf509e] user: drh branch: trunk, size: 172773)
2008-01-07
19:20
Registerify the AUTOINCREMENT processing and the OP_IsNull and OP_NotNull operators. (CVS 4692) file: [3d849013] check-in: [aa48867c] user: drh branch: trunk, size: 172394)
2008-01-06
00:25
Registerify the SRT_Subroutine destination for SELECT results. (CVS 4690) file: [d3076466] check-in: [8201f717] user: drh branch: trunk, size: 172591)
2008-01-05
18:48
Modify OP_RegMakeRec to take a base register and count and optionally store results in the register specified by P3. (CVS 4689) file: [2dda0565] check-in: [6bb1b1bc] user: drh branch: trunk, size: 172558)
16:29
Registerify binary operators. Add register tracing to debugging output. (CVS 4686) file: [0c16e643] check-in: [66396d2f] user: drh branch: trunk, size: 172163)
06:51
Expression code generator takes advantage of recent opcode changes. (CVS 4685) file: [5174adfb] check-in: [6c78d2a4] user: drh branch: trunk, size: 171874)
05:38
Register-ify the OP_ForceInt opcode. (CVS 4684) file: [d96c341f] check-in: [32380dca] user: drh branch: trunk, size: 171870)
05:20
Register-ify the OP_AddImm and all casting opcodes. Omit the OP_MemIncr opcode. (CVS 4683) file: [f8aabf9a] check-in: [3e8a07dd] user: drh branch: trunk, size: 172003)
04:06
Get rid of OP_Dup, OP_MemStore, OP_MemLoad, and OP_MemMove. Replace with OP_Copy, OP_SCopy, and OP_Move. Add the infrastructure for operation properties in1, in2, in3, out2, and out3 but do not yet use any of these. (CVS 4682) file: [8a2d438d] check-in: [cc149eb9] user: drh branch: trunk, size: 172724)
2008-01-04
22:01
Implement the out2-prerelease opcode design pattern. (CVS 4681) file: [a2d9e868] check-in: [fe057a88] user: drh branch: trunk, size: 170478)
19:10
Some modifications to insert.c to work without using the stack. (CVS 4678) file: [9ccdc8ab] check-in: [d9ac6bee] user: danielk1977 branch: trunk, size: 170342)
16:50
Replace the NOPUSH_MASKs with a bit-vector mechanism that can contain several different properties about each opcode. (CVS 4677) file: [8e42b5ce] check-in: [042dcb96] user: drh branch: trunk, size: 169779)
13:57
Modify FifoRead and FifoWrite to work exclusively with memory cells. (CVS 4676) file: [c562e01b] check-in: [2c913908] user: danielk1977 branch: trunk, size: 169159)
13:24
Modify the code generated for a DELETE to use registers instead of the vdbe stack. (CVS 4675) file: [55e1a054] check-in: [173f2813] user: danielk1977 branch: trunk, size: 169189)
11:01
Add OP_MemSet, for setting a memory cell to a string value. (CVS 4674) file: [09caf575] check-in: [8bb9f970] user: danielk1977 branch: trunk, size: 168336)
2008-01-03
18:44
Update OP_Rowid, OP_Column and related opcodes to use registers. (CVS 4671) file: [b49db80b] check-in: [4f396707] user: drh branch: trunk, size: 168035)
18:39
Modify VFilter and VRename to use registers instead of the vdbe stack for inputs. (CVS 4670) file: [0fa40511] check-in: [253ed40a] user: danielk1977 branch: trunk, size: 167144)
18:03
Registers (aka memory cells) in the VM are now numbered starting with 1 instead of 0. A register number of 0 means "no such register". (CVS 4669) file: [4e72b3a2] check-in: [0b849805] user: drh branch: trunk, size: 167321)
17:31
Modify OP_VUpdate to read arguments from a range of memory cells instead of from the stack. (CVS 4668) file: [e54f89e8] check-in: [955b15a0] user: danielk1977 branch: trunk, size: 167329)
11:50
Change the VdbeOp.p4 union to include specific pointer types for the various values of VdbeOp.p4type. (CVS 4667) file: [ae8e6bc6] check-in: [7e8330c8] user: danielk1977 branch: trunk, size: 167339)
09:51
Change the OP_Insert opcode to read the key and data to insert from memory cells, not the stack. (CVS 4666) file: [5b193918] check-in: [46501f49] user: danielk1977 branch: trunk, size: 167428)
08:08
Combine the OP_Column and OP_DfltValue opcodes. (CVS 4664) file: [429493ce] check-in: [c30f8206] user: danielk1977 branch: trunk, size: 167735)
07:54
Change OP_OpenRead and OP_OpenWrite so that the database number is read from the P3 operand, not the stack. (CVS 4663) file: [847acbfd] check-in: [35da261d] user: danielk1977 branch: trunk, size: 168111)
07:09
Fix EXPLAIN and EXPLAIN query plan to work with new opcode format. (CVS 4662) file: [83dfa698] check-in: [b166c33a] user: danielk1977 branch: trunk, size: 168267)
00:01
Refactoring the VM. The P3 parameter is changed to P4. A P5 parameter is added (though not currently used.) Add routines sqlite3VdbeAddOpX() where X is one of 0, 1, 2, 3, or 4. (CVS 4660) file: [fd5f6fc9] check-in: [027875e4] user: drh branch: trunk, size: 168247)
2008-01-02
14:28
Add opcodes OP_ResultRow and OP_RegMakeRec which are register-based equivalents to OP_Callback and OP_MakeRecord. Use the new opcodes. (CVS 4656) file: [85e44649] check-in: [4c7f35da] user: drh branch: trunk, size: 168286)
00:34
Begin setting a foundation on which to convert the VM from a stack-based to a register-based machine. Everything is still mostly stack based with this check-in. This change merely begins adding infrastructure to support a register-based architecture. (CVS 4652) file: [56a6e80d] check-in: [051ec01f] user: drh branch: trunk, size: 167936)
2007-12-17
16:20
When SQLITE_MAX_SQL_LENGTH is 0, disable the limit. Make the default 0. Once again build the sqlite3 CLI from individual source files so that it can be built on systems that lack tclsh. Tickets #2845 and #2846. (CVS 4636) file: [b2f1bcd4] check-in: [07aeca3b] user: drh branch: trunk, size: 164379)
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: [cd669cd8] check-in: [4e91a267] user: drh branch: trunk, size: 164599)
2007-12-12
22:24
Minor cleanup changes on the OP_StackDepth opcode. Added the sidedelete test for additional testing of ticket #2832. (CVS 4619) file: [a6f9fa3b] check-in: [c0689409] user: drh branch: trunk, size: 164598)
12:25
Fix database corrupting code generation error for UPDATE OR REPLACE. ticket #2832. Still need to add test cases and additional defensive logic to avoid future occurrences of similar problems. (CVS 4613) file: [94d41ad1] check-in: [18e10f81] user: drh branch: trunk, size: 164604)
12:00
Add a new OP_StackDepth opcode to help detect VDBE stack leaks early, before they cause damage. For diagnostics in ticket #2832. (CVS 4612) file: [24376fd0] check-in: [3fd6a267] user: drh branch: trunk, size: 164593)
2007-12-04
16:54
Make sure statement journals are initiated when doing DROP operations (since the DROP might fail after sqlite_master changes). Also make sure statement journals are initiated if there are pending SELECT statements. Ticket #2820. (CVS 4591) file: [a99beac1] check-in: [bf34284f] user: drh branch: trunk, size: 163952)
2007-11-29
17:05
Optimisations for expressions of the form "<value> IN (SELECT <column> FROM )". (CVS 4579) file: [9859467b] check-in: [56d0e326] user: danielk1977 branch: trunk, size: 163896)
2007-11-12
08:09
Modify the order of assert() macros in vdbe.c as per the suggestion in #2768. (CVS 4536) file: [791d056d] check-in: [af5af5dc] user: danielk1977 branch: trunk, size: 163665)
2007-10-23
15:39
Floating point and 64-bit integer constants store in the virtual machine opcodes in binary, not as text. Performance improvement. Ticket #2733. (CVS 4507) file: [6a577531] check-in: [7e30fd6a] user: drh branch: trunk, size: 163657)
14:55
Fix limit assertions in vdbe.c. Ticket #2740. (CVS 4506) file: [b21ea40c] check-in: [27f846d0] user: drh branch: trunk, size: 163984)
2007-10-05
16:23
Remove #include <math.h> from all source files. It is no longer needed but causes compile problems when -DSQLITE_OMIT_FLOATING_POINT is defined. Ticket #2696. (CVS 4474) file: [57e37b55] check-in: [4424357d] user: drh branch: trunk, size: 163977)
2007-09-03
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: [b6c53921] check-in: [020a2b10] user: drh branch: trunk, size: 163995)
2007-08-30
11:48
Fixes for failures in fuzz_malloc.test. (CVS 4334) file: [d2f156bb] check-in: [d3e50226] user: danielk1977 branch: trunk, size: 163779)
01:19
Fix for the sqlite3AbortOtherActiveVdbes() problem. (CVS 4328) file: [9d22f69c] check-in: [e40d40a5] user: drh branch: trunk, size: 163746)
2007-08-29
12:31
Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) file: [9f2ef520] check-in: [e38ef81b] user: danielk1977 branch: trunk, size: 163147)
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: [f578e7f0] check-in: [f84550be] user: drh branch: trunk, size: 163116)
02:27
Work toward correct btree locking in a multithreaded environment. (CVS 4307) file: [62d210ba] check-in: [b8cc493b] user: drh branch: trunk, size: 163112)
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: [9d4d0058] check-in: [92872761] user: drh branch: trunk, size: 162826)
10:44
Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255) file: [f1a9a29d] check-in: [fbbd5bda] user: drh branch: trunk, size: 163083)
2007-08-17
15:53
Begin migration to using sqlite3_vfs interface. (CVS 4240) file: [b5cd895a] check-in: [af3e3c7a] user: danielk1977 branch: trunk, size: 163107)
2007-08-16
10:09
More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) file: [10052a4f] check-in: [77b16713] user: danielk1977 branch: trunk, size: 163017)
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: [dd6f17be] check-in: [deb7ecd6] user: drh branch: trunk, size: 162764)
2007-07-26
06:50
Fix two obscure memory leaks that can follow a malloc() failure in sqlite3_set_auxdata(). Ticket #2534. (CVS 4185) file: [cf973bd1] check-in: [b88af182] user: danielk1977 branch: trunk, size: 162811)
2007-07-22
19:10
Fix a bad sizeof in vdbe.c. Ticket #2522. (CVS 4174) file: [a58fe70f] check-in: [77ebc3fe] user: drh branch: trunk, size: 162294)
2007-07-21
19:41
Work around a bug in GCC. Ticket #2469. (CVS 4173) file: [033d1e6b] check-in: [1924ba52] user: drh branch: trunk, size: 162295)
2007-07-01
21:18
Remove an unnecessary temporary variable for clarity of presentation in a loop that GCC 4.2.0 is miscompiling. Ticket #2469. GCC 4.2.0 miscompiles this loop regardless of whether or not the temporary variable is used, but by removing the variable, we hope to make it easier to explain the problem to GCC maintainers. The error only appears if -ftree-vrp is used (which is turned on by -O2). (CVS 4150) file: [a96ce379] check-in: [35ae398b] user: drh branch: trunk, size: 162294)
2007-06-27
15:53
Allow ALTER TABLE on virtual tables. (CVS 4142) file: [32f39e9c] check-in: [37d1f9f3] user: danielk1977 branch: trunk, size: 162326)
2007-06-26
12:52
Use (((i64)1)<<63) instead of just (1<<63) to compute the most negative 64-bit integer. (CVS 4131) file: [b776b68a] check-in: [be2570c0] user: danielk1977 branch: trunk, size: 161585)
11:13
Fix for #2444: Avoid SIGFPE on 64-bit platforms when evaluating expressions like ((1<<63)/-1). (CVS 4130) file: [b01ec631] check-in: [c6dfd9e4] user: danielk1977 branch: trunk, size: 161578)
00:37
Change the name of sqlite3_atoi64 back to sqlite3Atoi64 so that it is clearly and internal API. Modify the amalgamation to use a macro SQLITE_PRIVATE instead of the keyword "static" so the macro can be overridden to by nothing. (CVS 4124) file: [99f53a0a] check-in: [96190cf1] user: drh branch: trunk, size: 161065)
2007-06-25
17:28
Rework the string to integer conversion logic to address tickets #2344 and #2454. (CVS 4123) file: [251e0121] check-in: [5b3a4906] user: drh branch: trunk, size: 161066)
2007-06-24
16:11
Fix for #2451. Code comment changes only. (CVS 4114) file: [81714b7d] check-in: [bc61dcbf] user: danielk1977 branch: trunk, size: 161073)
10:14
Make setting "PRAGMA auto_vacuum = incremental" persistent if it is executed before the database file is created. (CVS 4113) file: [0f4d3085] check-in: [c666fad1] user: danielk1977 branch: trunk, size: 161073)
08:00
Add the "(database.)freelist_count" PRAGMA. For querying the size of the database free-list. (CVS 4112) file: [219cfe39] check-in: [1fb4251a] user: danielk1977 branch: trunk, size: 160789)
2007-06-20
15:29
Remove the dependency on libm for isnan(). Ticket #2436. (CVS 4103) file: [a7407f04] check-in: [406675bb] user: drh branch: trunk, size: 160688)
2007-06-15
14:53
Fix for #2415. The progress handler should abandon only the current query, not all active queries. (CVS 4067) file: [4f3e8321] check-in: [115e19fe] user: danielk1977 branch: trunk, size: 160688)
2007-06-13
16:49
Have queries interrupted by the progress-handler return SQLITE_INTERRUPT. Rollback any active transaction if a DML statement returns SQLITE_INTERRUPT. (CVS 4061) file: [2653777a] check-in: [33454b56] user: danielk1977 branch: trunk, size: 160656)
2007-06-07
19:08
Make sure zeroblob does reasonable things with a negative argument or an argument that is larger than the maximum blob size. (CVS 4048) file: [265d7061] check-in: [f4021843] user: drh branch: trunk, size: 160715)
2007-05-23
06:31
Make sure zeroblob() works with the concatenation operator. Ticket #2379. (CVS 4028) file: [74a82e8d] check-in: [6e19ef75] user: drh branch: trunk, size: 160808)
2007-05-17
16:38
Bring the autoconf based build system up to date with the recent changes. #2366, #2367 and #2368. (CVS 4022) file: [38e902e8] check-in: [ae644bc7] user: danielk1977 branch: trunk, size: 160793)
2007-05-16
17:28
Change a few selected functions to macros to speed things up. (CVS 4015) file: [51baf9ba] check-in: [93f811ec] user: danielk1977 branch: trunk, size: 160819)
14:23
Omit some extra code when OMIT_INCRBLOB is defined. (CVS 4014) file: [d0f60420] check-in: [1d89be28] user: danielk1977 branch: trunk, size: 160747)
11:55
Keep the full precision of integers if possible when casting to "numeric". Ticket #2364. (CVS 4012) file: [55b1d462] check-in: [2ac985a3] user: drh branch: trunk, size: 160713)
2007-05-12
12:08
Make the ANALYZE command robust in the face of malloc() failures. (CVS 3989) file: [5deb4cdc] check-in: [c08658e1] user: drh branch: trunk, size: 160753)
2007-05-11
10:10
Expand the expressions tested by fuzz.test. Fix for (CAST zeroblob() AS text). (CVS 3983) file: [8dcd02c2] check-in: [4e1bb41f] user: danielk1977 branch: trunk, size: 160756)
07:08
Fix a problem with inserting zeroblob() into an indexed column. (CVS 3982) file: [d1be8d86] check-in: [ccef5d2d] user: danielk1977 branch: trunk, size: 160717)
2007-05-10
21:14
When converting literal BLOBs to text using the encoding of the main database. Ticket #2349. (CVS 3975) file: [308c698a] check-in: [a57afaff] user: drh branch: trunk, size: 160564)
17:32
Add cases to fuzz.test. Some tests in this file fail at the moment. (CVS 3973) file: [c0b1cd6c] check-in: [1e8fcb3f] user: danielk1977 branch: trunk, size: 160588)
17:23
Add some UTF-8 test infrastructure. Treat NaN as NULL. The printf routines print infinity as "Inf" not as "NaN". Ticket #2345. (CVS 3972) file: [a2e2a5d6] check-in: [ffe615a7] user: drh branch: trunk, size: 160517)
2007-05-08
20:59
Disable tracing pragmas when not in debug mode. This eliminates an external dependency on stdout. (CVS 3959) file: [a2429022] check-in: [5a0fe985] user: drh branch: trunk, size: 160446)
20:37
Fix the amalgamation generator so that all non-API functions have file scope. (CVS 3958) file: [4e4951b6] check-in: [e9f56ead] user: drh branch: trunk, size: 160446)
13:57
Avoid evaluating (INT_MIN/-1) with 32 bit signed numbers. It can cause SIGFPE. (CVS 3945) file: [07f70528] check-in: [2f186e91] user: danielk1977 branch: trunk, size: 160454)
12:12
Begin adding code to explicitly limit the size of strings and blobs. (CVS 3943) file: [c942cb18] check-in: [031a5915] user: drh branch: trunk, size: 160448)
01:08
Begin implementing a new system of upper bounds on the capabilities of SQLite. By clearly defining the upper bounds, we make those upper bounds explicitly testable. This check-in is just infrastructure. The upper bounds are not yet enforced. (CVS 3941) file: [a839d32a] check-in: [93b623b2] user: drh branch: trunk, size: 159137)
2007-05-04
18:30
Change incremental vacuum to be triggered by a pragma rather than a command. We have a lot to learn about this yet and we do not want to paint ourselves into a corner by commiting to specific syntax too early. (CVS 3921) file: [725a808e] check-in: [b13e497a] user: drh branch: trunk, size: 159117)
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: [74f348b1] check-in: [ba4845b3] user: drh branch: trunk, size: 159061)
2007-05-02
16:51
More fixes and improvements to the zeroblob() mechanism. (CVS 3900) file: [a4abf744] check-in: [83ab2501] user: drh branch: trunk, size: 158826)
13:30
Add support for zero-blobs to the OP_MakeRecord opcode. First test cases of zeroblob functionality. (CVS 3897) file: [bb1baa9a] check-in: [e6d560dd] user: drh branch: trunk, size: 157940)
01:34
Begin adding the zeroblob API to support incremental blob i/o. (CVS 3894) file: [8cc851ca] check-in: [7a01836d] user: drh branch: trunk, size: 157252)
2007-04-26
14:42
Add largely untested code for the incremental vacuum function. (CVS 3876) file: [a3cf3792] check-in: [f6a6d2b8] user: danielk1977 branch: trunk, size: 157130)
2007-04-18
16:45
The sqlite3_step() routine reports SQLITE_ERROR after a commit failure, not SQLITE_DONE. This fix only effects the legacy sqlite3_prepare() interface. It already worked correctly with sqlite3_prepare_v2(). (CVS 3854) file: [814dab20] check-in: [165dc72d] user: drh branch: trunk, size: 156660)
2007-04-17
08:32
Avoid reloading the db schema after a failed OP_VerifyCookie if the in-memory schema cookie already matches the database file. (CVS 3849) file: [cf7808e8] check-in: [61c1d06d] user: danielk1977 branch: trunk, size: 156594)
2007-04-16
15:06
Ensure sqlite3_finalize() can be called from within the xDisconnect() method of virtual tables. (CVS 3845) file: [8f5faea0] check-in: [8d6c3bfc] user: danielk1977 branch: trunk, size: 155793)
2007-03-30
18:42
Fix a memory leak in multi-database commit. Also enhance a comment that explains why a particular valgrind error is harmless. (CVS 3771) file: [87e31f07] check-in: [28c7ed1e] user: drh branch: trunk, size: 155781)
11:23
Remove the anonymous union from the sqlite3_value structure since some compilers are unable to deal with it. (CVS 3758) file: [d5a4fc1e] check-in: [6b995259] user: drh branch: trunk, size: 155600)
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: [e214ce8f] check-in: [ad4a6b1a] user: drh branch: trunk, size: 155472)
2007-03-28
14:30
Correctly handle NULLs in IN operators. Ticket #2273. The changes in where.c and in the WhereLevel.aInLoop structure are not strictly necessary to fix this problem - they just make the code easier to read. Only the change in OP_Next/OP_Prev operator of vdbe.c is required. (CVS 3735) file: [9fc45206] check-in: [26348556] user: drh branch: trunk, size: 155274)
2007-03-27
14:44
The -DSQLITE_OMIT_ATTACH=1 option now omits both the ATTACH and VACUUM commands. Ticket #2268. The regression test suite depends on both of these commands and will not run if compiled with this option. (CVS 3727) file: [b68f3a86] check-in: [cbebfb89] user: drh branch: trunk, size: 155239)
13:36
More strict aliasing fixes. The single source file library now runs successfully with -fstrict-alias. (CVS 3725) file: [b452ec53] check-in: [c8a8a189] user: drh branch: trunk, size: 155201)
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: [df2aa8cf] check-in: [0b832e21] user: drh branch: trunk, size: 155142)
2007-03-15
12:05
Catch an IO error code that was being ignored in OP_RowData. (CVS 3688) file: [19e244e5] check-in: [760ebf80] user: danielk1977 branch: trunk, size: 155158)
2007-03-01
00:29
Additional I/O Tracing support. (CVS 3667) file: [596199e4] check-in: [ed915f57] user: drh branch: trunk, size: 155140)
2007-02-14
09:19
Use OP_VColumn instead of OP_Column when querying virtual tables for values to save in aggregate context records. #2230. (CVS 3644) file: [21bde8cc] check-in: [cb78f7cb] user: danielk1977 branch: trunk, size: 155120)
2007-01-27
13:37
Fix a documentation comment in vdbe.c. Ticket #2188. (CVS 3611) file: [b5a2ad31] check-in: [3eec703b] user: drh branch: trunk, size: 155040)
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: [31fe3e1e] check-in: [d564a039] user: drh branch: trunk, size: 155040)
2007-01-12
23:43
Fix a bug in sqlite3_prepare_v2() introduced by checkin (3578) and reported on the mailing list. (CVS 3592) file: [4d54659b] check-in: [87248470] user: drh branch: trunk, size: 154619)
2007-01-09
14:01
When an automatic re-prepare occurs, take care not to reset the internal schema symbol table. Ticket #2156. This change also includes some debugging enhancements. (CVS 3578) file: [074cda81] check-in: [43fe7fc1] user: drh branch: trunk, size: 154533)
2007-01-05
16:39
Clear a compiler warning when compiling with -DSQLITE_OMIT_VIRTUALTABLE. (CVS 3566) file: [dcf6b176] check-in: [520f6583] user: drh branch: trunk, size: 153855)
2007-01-04
01:20
Add a comment to vdbe.c to explain the use of an uninitialized variable. (CVS 3551) file: [180ea84f] check-in: [1773eb7b] user: drh branch: trunk, size: 153855)
2007-01-02
18:41
Update the vtab_err test to check for -DSQLITE_MEMDEBUG=1 and skip the tests if missing. Pager is more careful to clear its file size cache. Remove an assert() in VDBE that might fail on a corrupt database file. (CVS 3547) file: [15060804] check-in: [bf1afd01] user: drh branch: trunk, size: 153666)
2006-12-20
14:53
The xFilter method is not optional. (CVS 3539) file: [5a1624c7] check-in: [6fdbd3bc] user: drh branch: trunk, size: 153540)
14:31
Initialize a variable to avoid compiler warnings and human confusion. Ticket #2117. (CVS 3538) file: [b967a169] check-in: [951af8d5] user: drh branch: trunk, size: 153581)
2006-10-28
00:28
Enhance the optimizer so that IS NULL can use an available index. (CVS 3494) file: [3e31f2e4] check-in: [64762a9d] user: drh branch: trunk, size: 153577)
2006-10-27
14:06
Changes directed toward optimizing IS NULL terms in WHERE clauses. (CVS 3492) file: [1d64351d] check-in: [4d336e9e] user: drh branch: trunk, size: 154422)
2006-10-24
11:26
Fix a bad variable reference. The reference is actually in unreachable code and is therefore harmless. The fix is to remove the code. (CVS 3483) file: [59100995] check-in: [46b91807] user: drh branch: version_2, size: 143540)
2006-09-23
20:36
Be sure to ignore PRAGMA encoding pragmas if the encoding has already been set for a database. Ticket #1987. This patch also includes some cleanup of the schema parser and initialization logic. (CVS 3436) file: [84a9c0b0] check-in: [dc797bf4] user: drh branch: trunk, size: 154307)
2006-09-21
11:02
Be more aggressive with the SQLITE_OMIT_VACUUM macro. Saves about 150 bytes of code space. (CVS 3432) file: [39f77538] check-in: [7e618db4] user: drh branch: trunk, size: 154294)
2006-09-02
20:57
Do not call the xDisconnect method on a virtual table while xUpdate is pending. Instead, defer the xDisconnect until after xUpdate completes. (CVS 3387) file: [a7786994] check-in: [61148f4c] user: drh branch: trunk, size: 154260)
2006-08-15
14:21
Tighten an assert (ticket #1920). Change to "sqlite3.h" from <sqlite3.h> on the sqlite3ext.h header (ticket #1916). Fix a bug in the test scripts. (CVS 3354) file: [24c2cc3b] check-in: [3ebedbb6] user: drh branch: trunk, size: 154202)
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: [3cea0b93] check-in: [76e4d418] user: drh branch: trunk, size: 154203)
2006-07-26
13:43
More work toward getting sqlite3_interrupt() to work from separate threads. Ticket #1897. (CVS 3336) file: [106bc621] check-in: [e431131d] user: drh branch: trunk, size: 154047)
01:39
Initial attempt at making sqlite3_interrupt() work even when called from a separate thread. (CVS 3335) file: [c2091165] check-in: [35fd67d7] user: drh branch: trunk, size: 154032)
2006-06-28
18:18
Changes to get tests to pass with OMIT_VIRTUALTABLE. Ticket #1877. (CVS 3318) file: [3ffc96ec] check-in: [60616496] user: drh branch: trunk, size: 154045)
2006-06-24
11:51
A few more test cases to improve coverage of virtual table module related code. (CVS 3292) file: [77679f2e] check-in: [255aa912] user: danielk1977 branch: trunk, size: 154043)
2006-06-23
14:32
Allow xDestroy methods to execute "DROP TABLE" statements. (CVS 3287) file: [294e2f35] check-in: [a56bfa56] user: danielk1977 branch: trunk, size: 154052)
11:34
Fix some memory leaks that occur when malloc() fails. (CVS 3286) file: [1e16fbc5] check-in: [b56cc035] user: danielk1977 branch: trunk, size: 153777)
08:05
Add tests and fixes for handling malloc() failures related to the virtual table feature. (CVS 3285) file: [b4232a43] check-in: [5d1d9071] user: danielk1977 branch: trunk, size: 153730)
2006-06-22
09:53
Test the handling of errors in virtual table methods. (CVS 3284) file: [2c36e0ba] check-in: [51b729d9] user: danielk1977 branch: trunk, size: 153549)
2006-06-16
21:13
Rework the way UPDATE works for virtual tables. (CVS 3262) file: [4b55bfea] check-in: [2119e7bf] user: drh branch: trunk, size: 153405)
16:08
Add code to invoke the virtual table transaction interface. Untested at this point. (CVS 3261) file: [704940e7] check-in: [61251402] user: danielk1977 branch: trunk, size: 154030)
06:17
Arrange for sqlite3_last_insert_rowid() to work with virtual tables. (CVS 3259) file: [f17a90ab] check-in: [afa39a46] user: danielk1977 branch: trunk, size: 153730)
2006-06-15
07:29
Simple tests and fixes for writing to virtual tables. (CVS 3252) file: [4a66e581] check-in: [88fa510e] user: danielk1977 branch: trunk, size: 153154)
2006-06-14
19:00
Added code to INSERT, DELETE and UPDATE virtual tables. The new code is mostly untested. (CVS 3248) file: [64427e4b] check-in: [32c97b88] user: drh branch: trunk, size: 152801)
13:03
Add the opcode OP_VUpdate and replace the xInsert/xDelete members of sqlite3_module with xUpdate. (CVS 3242) file: [337ef404] check-in: [418f3ca8] user: danielk1977 branch: trunk, size: 151504)
2006-06-13
23:51
The echo module test is now running. Added the tclvar module test but have not yet done anything with it. (CVS 3234) file: [51f94a1f] check-in: [29199eee] user: drh branch: trunk, size: 150587)
15:00
Add the tentative sqlite3_allocate_queryplan() API. (CVS 3228) file: [1d5ae83b] check-in: [7a3e97f7] user: danielk1977 branch: trunk, size: 150437)
14:16
Add simple tests for the xFilter and xBestIndex methods. (CVS 3227) file: [e2d6072b] check-in: [0f4657ea] user: danielk1977 branch: trunk, size: 150459)
10:24
Add implementations for opcodes required for linear scans of virtual tables. (CVS 3223) file: [1f68000f] check-in: [1f20e183] user: danielk1977 branch: trunk, size: 150318)
2006-06-12
21:59
Added code to iterate through virtual tables. All regression tests pass but the new code is completely untested. (CVS 3219) file: [59cb0d8c] check-in: [01096543] user: drh branch: trunk, size: 146323)
16:01
Add code to invoke the xDestroy method of a virtual table when it is dropped. (CVS 3218) file: [7002df8e] check-in: [f0c7c8d1] user: danielk1977 branch: trunk, size: 144444)
06:09
Incremental work on parsing/storing and invoking the xCreate callback for virtual tables. (CVS 3212) file: [5c77e8b5] check-in: [8ffbab79] user: danielk1977 branch: trunk, size: 144376)
2006-06-11
23:41
Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211) file: [2547e931] check-in: [898ec36b] user: drh branch: trunk, size: 144287)
2006-06-03
18:04
Remove unused variables from vdbe.c. (CVS 3199) file: [a4c970bd] check-in: [d54750ae] user: drh branch: trunk, size: 143552)
2006-05-26
19:57
Allow SQL statements to be executed from within a progress callback. Be warned, however, that the progress callback might be called recursively in this case. It is up to the program to disable the progress callback to prevent recursive invocations. Ticket #1827. (CVS 3193) file: [b28d2da3] check-in: [ffc4730c] user: drh branch: trunk, size: 143574)
2006-03-22
22:10
Get the build to run with -DSQLITE_OMIT_SHARED_CACHE. (CVS 3145) file: [a56ef5de] check-in: [15e3b183] user: drh branch: trunk, size: 143400)
2006-03-17
00:26
Code and comment cleanup for the sorting optimization of the previous check-in. (CVS 3142) file: [dcc469da] check-in: [f3fbe727] user: drh branch: trunk, size: 143413)