/ History for src/vdbe.h
Login

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

History for src/vdbe.h

2020-07-29
16:18
[231f7869] part of check-in [a80ae2c9] Dozens and dozens of typo fixes in comments. This change adds no value to the end product and is disruptive, so it is questionable whether or not it will ever land on trunk. (check-in: [a80ae2c9] user: drh branch: typos, size: 15761)
2020-07-22
13:38
[83603854] part of check-in [9ce1710a] Continuing work toward supporting unsigned 32-bit page numbers. (check-in: [9ce1710a] user: drh branch: larger-databases, size: 15760)
2020-05-16
19:00
[1c7eaf26] part of check-in [5af4abe9] Merge trunk enhancements in the reuse-schema branch. (Actual date of this check-in is 2020-05-18.) (check-in: [5af4abe9] user: drh branch: reuse-schema, size: 15761)
2020-03-23
15:49
[07b8c636] part of check-in [2795f0d6] Infrastructure for the bytecode() table-valued function. The function itself is not yet implemented. (check-in: [2795f0d6] user: drh branch: bytecode-function, size: 15760)
2020-02-27
15:20
[567b3202] part of check-in [3f5650aa] Merge latest trunk changes into this branch. (check-in: [3f5650aa] user: dan branch: reuse-schema, size: 15676)
2020-02-07
19:44
[51282fbe] part of check-in [bcf876e6] During byte-code generation, strive to avoid jumps that merely jump to the following instruction. (check-in: [bcf876e6] user: drh branch: trunk, size: 15675)
2020-01-15
14:26
[dfe0c985] part of check-in [f7839178] Merge all recent enhancements and fixes from trunk. (check-in: [f7839178] user: drh branch: reuse-schema, size: 15624)
2020-01-02
17:46
[defd6932] part of check-in [937be221] Have the OP_ReleaseReg opcode also invalidate the registers if P5 is non-zero. (check-in: [937be221] user: drh branch: trunk, size: 15623)
2019-12-23
02:18
[3f068f00] part of check-in [36fdeb4f] Enhance the sqlite3VdbeMemAboutToChange() shallow-copy validation mechanism by adding the new OP_ReleaseReg opcode to tell MemAboutToChange() that a range of registers is no longer needed so that the source register can be freely changed. This is a change to debugging and test builds only and does not impact release builds. Fix for ticket [c62c5e58524b204d] and [5ad2aa6921faa1ee]. The previous fix to ticket [5ad2aa6921faa1ee] is backed out by this change since this change is a better fix. (check-in: [36fdeb4f] user: drh branch: trunk, size: 15616)
2019-10-30
16:29
[fdbc0a11] part of check-in [84e02d77] Simplify the bytecode generation for SQL function calls such that the OP_Function or OP_PureFunc opcodes are coded directly, rather than using the intermediate OP_Function0 or OP_PureFunc0 - opcodes that are now removed. (check-in: [84e02d77] user: drh branch: trunk, size: 15467)
2019-10-24
23:43
[2a49df69] part of check-in [4ec57d88] Merge fixes from trunk. (check-in: [4ec57d88] user: drh branch: generated-columns, size: 15392)
19:35
[7fbde1e6] part of check-in [521f1d36] Correction to check-in [bec5b6d4d083556d] so that it detects *all* triggers that might perturb the insertion cursor. Ticket [50c09fc2cf0d91ce]. (check-in: [521f1d36] user: drh branch: trunk, size: 15359)
2019-10-18
12:52
[b02904e1] part of check-in [e8426acb] Claw back some performance from the sqlite3ExprGetColumnOfTable() routine. (check-in: [e8426acb] user: drh branch: generated-columns, size: 15390)
2019-08-13
15:22
[2cfde824] part of check-in [5b4689d8] Merge latest trunk changes with this branch. (check-in: [5b4689d8] user: dan branch: reuse-schema, size: 15358)
2019-08-09
01:59
[3f2b571e] part of check-in [68b7f2ac] Modify signature of sqlite3VdbeChangeOpcode() to accept int instead of u32. (check-in: [68b7f2ac] user: mistachkin branch: trunk, size: 15357)
01:11
[d6ef44a2] part of check-in [1b85442b] Fix more compiler warnings. (check-in: [1b85442b] user: drh branch: trunk, size: 15357)
2019-07-02
20:10
[69a9f51e] part of check-in [5dbb0734] Have ALTER TABLE detect and error out for the case where renaming a column changes a the interpretation of a double-quoted identifier in the database schema from an SQL literal to a column reference. (check-in: [5dbb0734] user: dan branch: tkt9b78184b-alt, size: 15410)
2019-04-26
17:20
[f99dbc42] part of check-in [1b25fa10] An experimental interface for retrieving the estimated cost and estimated number of output rows for a query. (check-in: [1b25fa10] user: drh branch: cost-est, size: 15418)
2019-02-05
19:51
[323218c4] part of check-in [c089cc4f] Merge latest trunk into this branch. (check-in: [c089cc4f] user: dan branch: reuse-schema, size: 15358)
2018-12-31
21:43
[712bca56] part of check-in [b57c545a] Fix harmless compiler warnings. (check-in: [b57c545a] user: drh branch: trunk, size: 15357)
18:30
[d64fe28f] part of check-in [9fb646f2] Merge enhancements and bug fixes from trunk. (check-in: [9fb646f2] user: drh branch: reuse-subqueries, size: 15415)
2018-12-29
14:23
[b61a6f4f] part of check-in [1bdee199] Additional small performance increase and size reduction to the sqlite3VdbeMakeLabel() mechanism. (check-in: [1bdee199] user: drh branch: trunk, size: 15129)
02:26
[21725193] part of check-in [4a0929ac] A new implementation of sqlite3VdbeMakeLabel() is faster and makes fewer memory allocations by deferring memory allocation until sqlite3VdbeResolveLabel() is called, at which point the code generator has a better idea of how big the relocation table needs to be. The sqlite3VdbeMakeLabel() routine now takes a Parse* parameter instead of Vdbe*. (check-in: [4a0929ac] user: drh branch: trunk, size: 15192)
2018-12-24
20:21
[55f9ef5d] part of check-in [7153552b] Improvements to EXPLAIN QUERY PLAN formatting. The MULTI-INDEX OR now shows a separate "INDEX" subtree for each index. SCALAR SUBQUERY entries provide a subquery number that is related back to the .selecttrace output. (check-in: [7153552b] user: drh branch: reuse-subqueries, size: 15477)
2018-12-14
20:20
[87fd8b2c] part of check-in [b29e02f8] Add the OP_ColumnsUsed opcode (when compiled with SQLITE_ENABLE_COLUMN_USED_MASK) as a hint to the b-tree layer as to which columns of a btree cursor will be used. (Backport from 3.8.11) (check-in: [b29e02f8] user: drh branch: branch-3.8.9, size: 11421)
2018-12-10
16:00
[8990d668] part of check-in [a4c890b0] Refactor the sqlite3_normalized_sql() implementation. This is a work-in-progress. There are still issues. (check-in: [a4c890b0] user: drh branch: normalize-refactor, size: 15191)
2018-12-07
16:32
[d82f323d] part of check-in [0d8e1504] Fix the sqlite3_normalized_sql() interface so that it renders double-quoted string literals as "?". (check-in: [0d8e1504] user: drh branch: trunk, size: 15204)
2018-11-15
21:20
[fda06d54] part of check-in [31b6aee7] Fix some problems with the feature on this branch. Many problems remain. (check-in: [31b6aee7] user: dan branch: reuse-schema1, size: 15115)
2018-10-08
18:58
[faedef40] part of check-in [2ac72114] Merge latest trunk changes into this branch. (check-in: [2ac72114] user: dan branch: reuse-schema, size: 15036)
2018-08-14
15:12
[5081dcc4] part of check-in [529fb55e] Fix UPSERT so that it checks the target-constraint first and fires the DO UPDATE if that constraint is violated regardless of whether or not other constraints are in violation. This aligns SQLite behavior with what PostgreSQL does. Fix for ticket [908f001483982c43cdb476dfb590a1a]. (check-in: [529fb55e] user: drh branch: trunk, size: 15035)
2018-07-10
17:10
[d93abdc8] part of check-in [76e42b70] Further improvements to bytecode branch testing. Fix cases where the macros said a branch could not be taken when in fact it could be. Alter some window function branch coverage macros to indicate that comparison operands cannot be NULL. (check-in: [76e42b70] user: drh branch: trunk, size: 15120)
16:04
[5ec6ab3e] part of check-in [cd2da7e1] Enhancements and improved documentation to the byte-code branch coverage testing logic. Provide new macros that allow the code to specify that some branch instructions can never take the NULL path and that the OP_Jump opcode is only interested in equal/not-equal. The SQLITE_TESTCTRL_VDBE_COVERAGE file control callback now works slightly differently (it provides the callback with a bitmask of the branch action, rather than an integer). (check-in: [cd2da7e1] user: drh branch: trunk, size: 14980)
2018-06-20
09:23
[847735b3] part of check-in [f41b6b73] Add tests to improve coverage of code in window.c. Fix a problem with "SELECT row_number() OVER ()". (check-in: [f41b6b73] user: dan branch: exp-window-functions, size: 13697)
2018-06-11
17:35
[9c8c245f] part of check-in [b37614a3] Add the OP_SetTabCol and OP_VerifyTabCol opcodes, only when compiling with SQLITE_DEBUG, to do run-time verification of the column cache. (check-in: [b37614a3] user: drh branch: trunk, size: 13644)
13:10
[c58fa2d8] part of check-in [793e9422] Strengthen the sqlite3VdbeMemAboutToChange() run-time verification mechanism to better detect missed calls to AboutToChange(). (check-in: [793e9422] user: drh branch: trunk, size: 13539)
2018-05-28
17:43
[e3f43bcc] part of check-in [90ba2b2e] Fix the build so that it works with -DSQLITE_TEST_REALLOC_STRESS (check-in: [90ba2b2e] user: drh branch: stmt-journal-testing, size: 13491)
17:31
[3dc7fd31] part of check-in [5a4542db] When compiling with SQLITE_DEBUG, add run-time checks to ensure that no statement aborts unless either there have been no writes or else there is a statement journal. (check-in: [5a4542db] user: drh branch: stmt-journal-testing, size: 13452)
2018-05-03
19:47
[d970d973] part of check-in [956fef36] Optimizations to the new EQP framework. (check-in: [956fef36] user: drh branch: rework-EQP, size: 13362)
2018-05-02
00:33
[dc29bf94] part of check-in [70b48a79] Begin reengineering the EXPLAIN QUERY PLAN function to provide more intuitive output. (check-in: [70b48a79] user: drh branch: rework-EQP, size: 13466)
2018-04-26
15:50
[fff31fb6] part of check-in [0a514e62] Ensure that new.* values of an UPDATE do not get clobbered after the BEFORE triggers run when unmodified columns of the row being updated are reloaded. Fix for ticket [d85fffd6ffe856092ed8da] (check-in: [0a514e62] user: drh branch: trunk, size: 12963)
2018-04-18
01:34
[574ce9a0] part of check-in [266a99f7] Add new testcase() macros and fix a bug that was revealed when trying to cover all the new test cases. (check-in: [266a99f7] user: drh branch: upsert, size: 12910)
2018-01-12
16:44
[134beb7a] part of check-in [bd46c442] Experimental change to include changes made to the sqlite_stat1 table in changesets generated by the sessions module. sqlite_stat1 entries in such changesets are ignored by legacy clients. (check-in: [bd46c442] user: dan branch: sessions-stat1, size: 12825)
2017-08-09
20:35
[5aa766d2] part of check-in [a6256980] Add experimental sqlite3_open_v2() flag SQLITE_OPEN_REUSE_SCHEMA. For sharing identical in-memory schema objects between connections. (check-in: [a6256980] user: dan branch: reuse-schema, size: 12754)
2017-07-20
13:17
[d50cadf1] part of check-in [22eda098] Combine the Parse.ckBase and Parse.iSelfTab fields into just Parse.iSelfTab. This fixes a problem with date/time functions in check-constraints. Add some test cases for date/time functions in index expressions and check constraints. (check-in: [22eda098] user: drh branch: index-on-date-func, size: 12753)
2017-07-19
19:48
[c1fc5b3d] part of check-in [0a5e1c04] Allow indexes to be created on date/time functions as long as the 'now' date and the 'localtime' and 'utc' modifiers are not used. (check-in: [0a5e1c04] user: drh branch: index-on-date-func, size: 12759)
2017-07-12
20:43
[7bf71903] part of check-in [0c805935] Smaller and faster implementation for vdbeFreeOpArray() and freeP4(). (check-in: [0c805935] user: drh branch: trunk, size: 12710)
2017-06-01
00:54
[dde459b1] part of check-in [4a25c588] Add interfaces sqlite3_prepare_v3() and sqlite3_prepare16_v3() with the extra prepFlags argument. Add the SQLITE_PREPARE_PERSISTENT option as one bit in that argument. (check-in: [4a25c588] user: drh branch: prepare_v3, size: 12598)
2017-05-30
18:34
[70a409d1] part of check-in [e972a386] Change sqlite3BtreeNext() and sqlite3BtreePrevious() so that they return SQLITE_DONE if they have already reached the end (or beginning) of the table. This gives a performance increase and size reduction. (check-in: [e972a386] user: drh branch: trunk, size: 12382)
2017-04-09
19:23
[f7d1456e] part of check-in [19dd753f] Do not expose the name of the internal Mem object in the public interface defined by sqlite3.h. (check-in: [19dd753f] user: drh branch: trunk, size: 12384)
2017-03-24
17:59
[caa5346d] part of check-in [25560145] Fix the OP_Once opcode so that it works correctly for recursive triggers. Ticket [06796225f59c057cd120f1]. (check-in: [25560145] user: drh branch: trunk, size: 12374)
2017-02-18
20:05
[0a52f346] part of check-in [c1adf959] 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. (check-in: [c1adf959] user: dan branch: sort-column-opcodes, size: 12348)
2017-01-25
14:58
[59998ffd] part of check-in [118ded40] 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. (check-in: [118ded40] user: drh branch: trim-nulls, size: 12313)
2017-01-05
19:32
[b0866e41] part of check-in [5c05d8ec] Ensure that sqlite3_column_count() returns 0 for the "set" mode of "get/set" PRAGMA statements that do not return a value in that case (e.g. page_size, cache_size, auto_vacuum). (check-in: [5c05d8ec] user: dan branch: pragma-columncount-fix, size: 12322)
2016-12-21
19:45
[50ee139f] part of check-in [f7ab01f2] Simplifications to the way UnpackedRecord objects are allocated. Smaller and faster code that also fixes a subtle (currently unreachable) bug. (check-in: [f7ab01f2] user: drh branch: trunk, size: 12235)
2016-12-07
21:35
[0c74f630] part of check-in [28883e8f] Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recently coded instruction. (check-in: [28883e8f] user: drh branch: trunk, size: 12258)
20:22
[19879217] part of check-in [3954f837] The use P4_DYNAMIC in place of the P4_MPRINTF operand type. (check-in: [3954f837] user: drh branch: trunk, size: 12202)
2016-09-18
16:08
[c044be70] part of check-in [6bf5ba10] 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]. (check-in: [6bf5ba10] user: drh branch: trunk, size: 12283)
2016-07-09
16:14
[67bc551f] part of check-in [5471aca0] Fix various internal #defines to conform to new C-language naming restrictions, specifically that private-use macros names must not begin with "_". (check-in: [5471aca0] user: drh branch: trunk, size: 12352)
2016-04-11
13:36
[5591b5ad] part of check-in [099478fa] Remove the VdbeOp.opflags field and its associated initialization overhead. Update mkopcodeh.tcl to reorder opcode numbers to help the resolveP2Values() routine run faster. (check-in: [099478fa] user: drh branch: trunk, size: 12336)
2016-03-21
15:32
[c16ba943] part of check-in [3296a0ce] Merge 3.12.0 beta changes from trunk. (check-in: [3296a0ce] user: drh branch: sessions, size: 12388)
2016-03-16
20:44
[6f44193e] part of check-in [db1ce7e1] Some pragmas can be reused without an automatic reprepare. (check-in: [db1ce7e1] user: drh branch: reusable-pragma, size: 12257)
2016-02-09
15:44
[594aef1a] part of check-in [f040a5bb] Merge enhancements and fixes from trunk. (check-in: [f040a5bb] user: drh branch: sessions, size: 12355)
02:12
[c743791f] part of check-in [ca72be86] Make sure every co-routines has its own set of temporary registers and does not share temporaries, since a co-routine might expect the content of a temporary register to be preserved across an OP_Yield. Proposed fix for ticket [d06a25c84454a]. (check-in: [ca72be86] user: drh branch: trunk, size: 12224)
2016-02-04
02:34
[89da2c03] part of check-in [1c8d3001] Add and use the sqlite3VdbeZeroRegister() interface for coding the common operation of writing zero into a register. (check-in: [1c8d3001] user: drh branch: zero-register, size: 12223)
2016-01-20
11:33
[19162d5d] part of check-in [327af5f6] Merge recent enhancements from trunk. (check-in: [327af5f6] user: drh branch: sessions, size: 12314)
2016-01-18
00:20
[7a733ea8] part of check-in [0aaf3feb] Fix a problem with SQLITE_TEST_REALLOC_STRESS. (check-in: [0aaf3feb] user: drh branch: trunk, size: 12183)
2016-01-16
20:50
[22f8c913] part of check-in [88ceb588] Improvements to the way sqlite3VdbeAddOpList() works, resulting in a slightly smaller and faster binary. (check-in: [88ceb588] user: drh branch: trunk, size: 12133)
2015-10-30
16:50
[bfe3f80d] part of check-in [395a153f] Merge all the latest enhancements from trunk. (check-in: [395a153f] user: drh branch: sessions, size: 12126)
2015-09-03
14:48
[67151895] part of check-in [6a513c05] Merge recent trunk enhancements. (check-in: [6a513c05] user: drh branch: sessions, size: 11960)
14:39
[efb7a8c1] part of check-in [25ee3000] Merge enhancements from trunk. (check-in: [25ee3000] user: drh branch: cursor-hints, size: 11995)
13:46
[4bc88bd0] part of check-in [847387ec] Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help with code generation, especially on PRAGMAs. Rename sqlite3VdbeAddGoto() to just sqlite3VdbeGoto(). (check-in: [847387ec] user: drh branch: trunk, size: 11829)
2015-09-02
18:40
[4297a88c] part of check-in [0a5b00e4] Add and use the sqlite3VdbeChangeOpcode() routine. Simplify the implementation of the other sqlite3VdbeChange*() routines. (check-in: [0a5b00e4] user: drh branch: trunk, size: 11728)
18:19
[8bbc9825] part of check-in [be78f413] Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for sqlite3VdbeAddOp2(v,OP_Goto,0,i). (check-in: [be78f413] user: drh branch: trunk, size: 11677)
2015-08-13
20:07
[529bb4a7] part of check-in [82a7a61b] Merge in all the trunk changes from the previous year. This breaks the cursor-hint mechanism, but provides a baseline for trouble-shooting. (check-in: [82a7a61b] user: drh branch: cursor-hints, size: 11808)
2015-06-30
16:29
[d0f8ab91] part of check-in [39936b33] Merge all the latest enhancements from trunk. This merge include FTS5 and a number of notable performance enhancements. (check-in: [39936b33] user: drh branch: sessions, size: 11773)
2015-06-26
18:16
[7a75045d] part of check-in [2abc44eb] Cache the sqlite3_context structure in the P4 operand of VDBE programs for faster SQL function dispatch. (check-in: [2abc44eb] user: drh branch: trunk, size: 11642)
2015-06-17
18:18
[218e9575] part of check-in [199bfb67] Merge all recent enhancements and fixes from trunk. (check-in: [199bfb67] user: drh branch: sessions, size: 11632)
2015-06-05
15:59
[90048aea] part of check-in [f167bba4] 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. (check-in: [f167bba4] user: drh branch: column-usage-hint, size: 11501)
2015-04-12
01:33
[01d8c35c] part of check-in [5f14f34f] Merge all recent trunk enhancements into the sessions branch. (check-in: [5f14f34f] user: drh branch: sessions, size: 11568)
2015-03-30
12:06
[7e538ecf] part of check-in [601e7b6b] Improve performance of multi-field sorts where the first field has a low cardinality. (check-in: [601e7b6b] user: dan branch: sorter-opt, size: 11437)
2014-11-18
21:20
[b434bb75] part of check-in [f09055f3] 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. (check-in: [f09055f3] user: drh branch: sessions, size: 11488)
2014-11-06
03:55
[6fc69d9c] part of check-in [f9684000] Change the SQLITE_SCANSTAT_EST parameter so that it returns a double for the estimated number of output rows per loop, rather than a 64-bit integer. Revise the output format for the ".scanstats on" in the shell to make use of this new capability. (check-in: [f9684000] user: drh branch: scanstatus, size: 11357)
2014-11-03
11:25
[d412bd01] part of check-in [f5313e0c] Remove unused variable from struct WhereInfo. Add some explanatory comments to new code. (check-in: [f5313e0c] user: dan branch: scanstatus, size: 11354)
2014-11-01
20:38
[7d603b93] part of check-in [9ea37422] 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. (check-in: [9ea37422] user: dan branch: scanstatus, size: 11356)
2014-10-31
20:11
[f8e53881] part of check-in [6a9bab34] Add the experimental sqlite3_stmt_scanstatus() API. (check-in: [6a9bab34] user: dan branch: scanstatus, size: 11884)
2014-10-23
17:26
[6bf91795] part of check-in [c6a5b67a] Add debugging code to count the number of iterations of each loop made as part of statement execution. (check-in: [c6a5b67a] user: dan branch: debug-loopcounters, size: 11394)
2014-09-29
18:47
[d5825ae5] part of check-in [5e5d6e86] 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 (check-in: [5e5d6e86] user: drh branch: faster-OP_Column, size: 11239)
2014-09-21
22:49
[d61daeff] part of check-in [6406b77f] Merge all recent trunk changes into the sessions branch. (check-in: [6406b77f] user: drh branch: sessions, size: 11324)
2014-09-16
14:37
[09f5b4e3] part of check-in [8239c35a] Reduce the number of arguments to RecordCompare functions from 4 to 3, resulting in a small performance increase. (check-in: [8239c35a] user: drh branch: micro-optimizations, size: 11193)
2014-08-29
11:24
[63f9d3e7] part of check-in [8c57bcc3] Add the sqlite3VdbeChangeDest() routine that can be used to eliminate OP_Move opcodes. (check-in: [8c57bcc3] user: drh branch: experimental, size: 11255)
2014-06-30
20:02
[ca3b6df2] part of check-in [a5d94eab] Merge the latest trunk enhancements into the sessions branch. (check-in: [a5d94eab] user: drh branch: sessions, size: 11332)
2014-06-28
14:28
[c63fad05] part of check-in [d186d1ac] Change the VDBE to export the sqlite3MemCompare() routine and thus free where.c from the dependency on vdbeInt.h. (check-in: [d186d1ac] user: drh branch: stat4-skipscan, size: 11201)
2014-04-03
16:35
[d03fcf47] part of check-in [9515c834] Merge all recent changes from trunk, including the fix for the OP_SCopy-vs-OP_Copy problem. (check-in: [9515c834] user: drh branch: sessions, size: 11269)
2014-03-28
03:12
[39446490] part of check-in [7fa85eaa] Enhance the sqlite3VdbeRecordCompare() routines so that if they encounter database corruption, they will set the UnpackedRecord.isCorrupt field and return 0. The sqlite3BtreeMovetoUnpacked() routine detects this and returns SQLITE_CORRUPT, causing the corruption to be reported back to the top-level. (check-in: [7fa85eaa] user: drh branch: trunk, size: 11138)
2014-03-11
01:48
[e8e1219a] part of check-in [917c4108] Version 3.8.4 for sessions (plus two minor fixes). (check-in: [917c4108] user: drh branch: sessions, size: 11281)
2014-03-10
18:03
[fb2c48c1] part of check-in [0a5318bc] Attempt to work around MSVC's treatment of __LINE__ as a non-constant value in "Edit and Continue" mode by avoiding the use of __LINE__ when SQLITE_VDBE_COVERAGE is not defined. (check-in: [0a5318bc] user: drh branch: trunk, size: 11150)
2014-03-04
14:34
[6631430d] part of check-in [7f51ad97] Merge the performance enhancements of trunk (and some obscure bug fixes) into the sessions branch. (check-in: [7f51ad97] user: drh branch: sessions, size: 11204)
2014-03-03
18:25
[d189f924] part of check-in [ba899372] Fix compiler warnings. (check-in: [ba899372] user: drh branch: experimental, size: 11073)
2014-03-01
19:44
[c6dc01f8] part of check-in [3861e853] Remove the vdbeRecordCompareLargeHeader function. Fix some other details. (check-in: [3861e853] user: dan branch: experimental, size: 11061)
2014-02-27
20:44
[6833579f] part of check-in [57089374] Further changes to sqlite3VdbeRecordCompare(). (check-in: [57089374] user: dan branch: experimental, size: 11115)
2014-02-25
21:01
[0758eff7] part of check-in [85206e0b] Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. (check-in: [85206e0b] user: dan branch: experimental, size: 11055)
2014-02-24
14:24
[147027d6] part of check-in [4df0ac90] Remove an unused variable from the VDBE_PROFILE compile-time option. Keep the opcode count in an u32 instead of an int. (check-in: [4df0ac90] user: drh branch: trunk, size: 10934)
2014-02-19
19:14
[6c703cce] part of check-in [c1e94169] 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. (check-in: [c1e94169] user: drh branch: trunk, size: 10934)
2014-02-17
22:40
[f429f5e5] part of check-in [ce184c7b] Add logic to do test coverage measurements on the VDBE code. (check-in: [ce184c7b] user: drh branch: insert-optimization, size: 9704)
2014-01-24
14:05
[06016671] part of check-in [9b43e559] Bring in all the latest trunk changes, including the Common Table Expressions implementation. (check-in: [9b43e559] user: drh branch: sessions, size: 9378)
2014-01-04
16:49
[e6c4c610] part of check-in [874b7e99] Omit OP_Close operations that occur immediately prior to OP_Halt and which cannot be jumped over. (check-in: [874b7e99] user: drh branch: trunk, size: 9247)
2014-01-02
19:35
[298e0492] part of check-in [10d85135] Avoid unnecessary affinity transformations when building indices using data from a table. (check-in: [10d85135] user: drh branch: trunk, size: 9240)
2013-12-24
12:09
[4c15d2c9] part of check-in [cfd110bf] Merge the latest trunk changes into the sessions branch. (check-in: [cfd110bf] user: drh branch: sessions, size: 9330)
2013-12-18
15:11
[c3278ab2] part of check-in [4c6a659c] Show changes to the column cache when PRAGMA vdbe_addoptrace=ON is set. (check-in: [4c6a659c] user: drh branch: column-cache-debug, size: 9199)
2013-12-07
20:39
[57b87844] part of check-in [3a9bec52] If the SQLITE_ENABLE_CURSOR_HINTS macro is defined, then invoke the sqlite3BtreeCursorHint() interface to provide hints to the storage engine about rows that need not be returned. Hints can be disabled using SQLITE_TESTCTRL_OPTIMIZATIONS with SQLITE_CursorHints (0x2000). Cursor hints are not used by the built-in storage engine of SQLite but might be useful to applications that provide their own storage engine. The current code is work-in-progrss and contains bugs. (check-in: [3a9bec52] user: drh branch: cursor-hints, size: 9367)
2013-11-14
19:18
[b7bfa7b4] part of check-in [7596d1bf] Merge the skip-scan optimization into the sessions branch. (check-in: [7596d1bf] user: drh branch: sessions, size: 9332)
2013-11-13
17:58
[c06f0813] part of check-in [8ce33f4c] Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify some of the other debugging logic. (check-in: [8ce33f4c] user: drh branch: trunk, size: 9201)
2013-11-11
22:55
[c7aa561d] part of check-in [5addd123] Merge in the WITHOUT ROWID changes. A few tests are failing now. They will be fixed in a follow-on check-in. (check-in: [5addd123] user: drh branch: sessions, size: 9370)
2013-11-06
19:59
[8d5a7351] part of check-in [defd5205] Reference count the KeyInfo object. Cache a copy of an appropriate KeyInfo for each index in the Index object, and reuse that one copy as much as possible. (check-in: [defd5205] user: drh branch: omit-rowid, size: 9239)
2013-11-05
13:33
[6a52f68c] part of check-in [54b22192] 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. (check-in: [54b22192] user: drh branch: omit-rowid, size: 9682)
2013-10-30
15:52
[c18a2dd9] part of check-in [6d9af606] Make sure KeyInfo objects on multi-column indices of WITHOUT ROWID tables have the correct nField and nXField values. Also, add the SQLITE_ENABLE_MODULE_COMMENT compile-time option and the VdbeModuleComment() macro and use it to label entry and exit points of some key routines. (check-in: [6d9af606] user: drh branch: omit-rowid, size: 9519)
02:28
[6bdee35c] part of check-in [e1a89b56] Add the SQLITE_ENABLE_EXPLAIN_COMMENTS compile-time option to enable extra commentary in the EXPLAIN output. Formerly, this was only available with SQLITE_DEBUG. (check-in: [e1a89b56] user: drh branch: trunk, size: 9092)
2013-08-02
20:44
[7aa3ab62] part of check-in [7e1acb39] Merge in the latest trunk changes, including partial indexes, the MAX_PATH fix in os_win.c, and the sqlite3_cancel_auto_extension() API. (check-in: [7e1acb39] user: drh branch: sessions, size: 9182)
2013-08-01
12:21
[4f554b56] part of check-in [81834c30] Refactor internal function name sqlite3VdbeGetValue() to sqlite3VdbeGetBoundValue(). (check-in: [81834c30] user: drh branch: partial-indices, size: 9051)
2013-07-18
17:12
[f380af2a] part of check-in [71effa59] 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. (check-in: [71effa59] user: dan branch: typo, size: 9046)
2012-10-30
21:03
[1223e254] part of check-in [fce667f2] Pull all the latest trunk enhancements into the sessions branch. (check-in: [fce667f2] user: drh branch: sessions, size: 9348)
2012-10-26
00:11
[b5288727] part of check-in [f7c5abe8] Make sure all virtual table cursors have been closed on a prepared statement prior to unlinking the perpared statement from its database connection. (check-in: [f7c5abe8] user: drh branch: deferred-close-order, size: 9217)
2012-01-05
13:02
[87b8ff40] part of check-in [a9bcb432] Merge all of the latest trunk changes into the sessions branch. (check-in: [a9bcb432] user: drh branch: sessions, size: 9349)
2011-12-09
13:24
[18f581ca] part of check-in [557c6905] Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442]. (check-in: [557c6905] user: dan branch: trunk, size: 9218)
2011-09-16
19:40
[226d4bc7] part of check-in [5efb0294] Merge the latest trunk changes into the sessions branch. (check-in: [5efb0294] user: drh branch: sessions, size: 9280)
01:34
[f0725ee9] part of check-in [7f00552b] 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]. (check-in: [7f00552b] user: drh branch: tkt-002caede898, size: 9149)
2011-09-14
19:41
[a3308e58] part of check-in [c00e45ed] Merge latest changes from the trunk into the sessions branch. (check-in: [c00e45ed] user: dan branch: sessions, size: 9287)
2011-09-05
14:20
[a10b360b] part of check-in [f115b230] Refactor the sqlite3VdbeRecordUnpack() interface to better accommodate the vdbesort.c module. (check-in: [f115b230] user: dan branch: trunk, size: 9156)
2011-08-27
18:48
[c1eeedac] part of check-in [1a249845] Experimental changes to improve the performance of OP_Next. (check-in: [1a249845] user: dan branch: experimental, size: 9135)
2011-08-26
19:20
[ee8ba024] part of check-in [eb036d6f] Merge the latest trunk changes into the sessions branch. (check-in: [eb036d6f] user: drh branch: sessions, size: 9148)
2011-08-24
15:12
[2bf6ec77] part of check-in [46f5a68b] Fix some harmless compiler warnings. (check-in: [46f5a68b] user: drh branch: trunk, size: 9017)
2011-06-20
10:44
[322af148] part of check-in [4c5e276c] Merge the latest trunk changes into the sessions branch. (check-in: [4c5e276c] user: drh branch: sessions, size: 9148)
2011-06-03
20:11
[5cf09e7e] part of check-in [957b2ab6] Create and use a function especially for adding the ParseSchema opcode. This gives a small reduction in code and a small performance increase. (check-in: [957b2ab6] user: drh branch: trunk, size: 9017)
2011-06-01
18:15
[d9c61233] part of check-in [b3aaf715] Refactor the SQL parameter processing so that parameter names for values that are optimized out of the prepare statement are not forgotten. (check-in: [b3aaf715] user: drh branch: trunk, size: 8966)
2011-04-05
13:27
[44fd57ae] part of check-in [03ca8342] Pull the latest trunk changes (and hence the schema-parse-refactor changes) into the sessions branch. (check-in: [03ca8342] user: drh branch: sessions, size: 9083)
12:25
[8a675fef] part of check-in [bf664b20] Fix the P4_TRANSIENT constant so that it works correct - so that it really makes a copy of the string for the P4 argument. Use P4_TRANSIENT wherever appropriate. Change P4_STATICs of schema names to P4_TRANSIENT. (check-in: [bf664b20] user: drh branch: trunk, size: 8952)
2011-03-19
08:38
[edef9c4f] part of check-in [24d4d5dd] Fix a problem with INTEGER PRIMARY KEY columns and the pre-update hook. (check-in: [24d4d5dd] user: dan branch: sessions, size: 9083)
2010-07-26
13:58
[4de0efb4] part of check-in [8166f338] Fix an issue with P4_MEM and the schema size measurement logic. Also fix a compiler warning. (check-in: [8166f338] user: drh branch: experimental, size: 8952)
12:05
[e1b91019] part of check-in [00e55102] Change the way SubProgram objects are deleted so that the code is the same for deletion and measurement. (check-in: [00e55102] user: dan branch: experimental, size: 9013)
2010-07-24
11:28
[7c5de1c7] part of check-in [9aa30342] Experimental code to measure memory consumed by database schemas and prepared statements. (check-in: [9aa30342] user: dan branch: experimental, size: 8998)
2010-02-25
14:47
[471f6a3d] part of check-in [78351d28] Expire pragma statements when reset, even if they were not run to completion. (check-in: [78351d28] user: drh branch: trunk, size: 8881)
2009-11-25
18:03
[bea1f0cd] part of check-in [545cfb3b] Initial check-in of code that inserts tokenizations of the values for bound parameters into the output of sqlite3_trace(). (check-in: [545cfb3b] user: drh branch: trunk, size: 8845)
2009-11-14
23:22
[5f357506] part of check-in [d622ac6a] Optimizations to the main loop inside sqlite3VdbeExec() to help VDBE byte code run a few percent faster. (check-in: [d622ac6a] user: drh branch: trunk, size: 8762)
2009-11-12
19:59
[65cd747e] part of check-in [b9eab885] 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. (check-in: [b9eab885] user: drh branch: trunk, size: 8742)
2009-11-10
01:30
[7b06b21f] part of check-in [f6c045f6] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f6] user: drh branch: trunk, size: 8689)
2009-10-26
22:08
[449323a2] part of check-in [1d64e945] Remove some obsolete code within #if 0 that was causing developer concern. (check-in: [1d64e945] user: drh branch: trunk, size: 8753)
2009-10-19
18:11
[3fedb212] part of check-in [2c50b3d5] Remove the sqlite3_reoptimize() API. The same functionality is now provided automatically to queries prepared using prepare_v2(). (check-in: [2c50b3d5] user: dan branch: trunk, size: 8834)
2009-10-15
18:35
[1fb725c3] part of check-in [9bd6f3d8] Add the experimental sqlite3_reoptimize() API. (check-in: [9bd6f3d8] user: dan branch: experimental, size: 8837)
2009-09-10
16:14
[7d5075e3] part of check-in [b3027863] Fix a problem with the sqlite3VdbeMayAbort() assert failing following an OOM. (check-in: [b3027863] user: dan branch: trunk, size: 8742)
2009-09-09
11:37
[13e00f57] part of check-in [28aa1f4e] Add a complicated assert() to check that statement transactions are opened when required. (check-in: [28aa1f4e] user: dan branch: trunk, size: 8730)
2009-09-08
19:15
[afd9c995] part of check-in [aec9dbd8] Combine the OP_Statement and OP_Transaction opcodes. (check-in: [aec9dbd8] user: dan branch: trunk, size: 8696)
2009-08-28
18:53
[080fe6bc] part of check-in [9b9c1921] Changes to support recursive triggers. (check-in: [9b9c1921] user: dan branch: trunk, size: 8692)
2009-07-24
17:58
[457b6c70] part of check-in [5d9e767a] Allow virtual tables to be used in shared-cache mode. (CVS 6928) (check-in: [5d9e767a] user: danielk1977 branch: trunk, size: 7891)
2009-04-10
00:56
[35a648bc] part of check-in [2cc68272] Force 8-byte alignment of sqlite3_value objects in the sqlite3VdbeUnpackRecord() primitive. Ticket #3777. (CVS 6479) (check-in: [2cc68272] user: drh branch: trunk, size: 7883)
2009-02-19
14:39
[d70a68be] part of check-in [d9f6ffbc] 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) (check-in: [d9f6ffbc] user: danielk1977 branch: trunk, size: 7942)
2008-10-31
10:53
[03516f28] part of check-in [bfce9142] Change the way sqlite3VdbeSetColName() is called so as to remove a few lines of code. This also fixes #3470. (CVS 5853) (check-in: [bfce9142] user: danielk1977 branch: trunk, size: 7937)
2008-08-20
22:06
[41c99aaa] part of check-in [00b17798] Modify the sqlite3VdbeUnpackRecord() interface to force the temporary space to be 8-byte aligned. This might be important for Sparc. Ticket #3318. (CVS 5573) (check-in: [00b17798] user: drh branch: trunk, size: 7918)
2008-08-13
19:11
[17bcc2b4] part of check-in [0b92cbf5] Additional changes toward fixing ticket #3292. (CVS 5562) (check-in: [0b92cbf5] user: drh branch: trunk, size: 7867)
14:07
[ccca49ce] part of check-in [055f173a] A partial fix for ticket #3292. This fixes the original problem but there are other similar problems lurking in the code still. (CVS 5561) (check-in: [055f173a] user: drh branch: trunk, size: 7917)
2008-08-01
20:10
[647fcf33] part of check-in [2cd6bae8] Bring test coverage up to 99%. (CVS 5522) (check-in: [2cd6bae8] user: drh branch: trunk, size: 7913)
2008-06-25
00:12
[c46155c2] part of check-in [8bbfa978] The compound-select merge optimization passes quick.test with no errors. (CVS 5299) (check-in: [8bbfa978] user: drh branch: trunk, size: 7918)
2008-06-20
18:13
[1246ace5] part of check-in [08311365] Add new Compare and Jump codes to the virtual machine. Use them in the implementation of aggregate queries. (CVS 5257) (check-in: [08311365] user: drh branch: trunk, size: 7787)
2008-05-29
20:22
[1e3722d4] part of check-in [9883b406] 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) (check-in: [9883b406] user: shane branch: trunk, size: 7617)
2008-05-01
17:03
[f4bb7096] part of check-in [227a6f67] Fix harmless compiler warnings. (CVS 5073) (check-in: [227a6f67] user: drh branch: trunk, size: 7600)
2008-04-11
14:56
[bfd84bda] part of check-in [25899555] Speed improvements by removing unnecessary memset() operations. Also: do not resize the opcode array of a virtual machine to its minimum size after code generation completes. The extra resize merely uses time. (CVS 4987) (check-in: [25899555] user: drh branch: trunk, size: 7554)
2008-03-26
18:34
[f72201a0] part of check-in [8c2f6952] Changes to delay freeing buffers associated with vdbe memory cells until either sqlite3_finalize() or sqlite3_release_memory() is called. (CVS 4922) (check-in: [8c2f6952] user: danielk1977 branch: trunk, size: 7566)
2008-03-25
17:23
[ecca2e1c] part of check-in [ee381b43] Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather than a record formed using {quote: MakeRecord.} This avoids a needless packing and unpacking of the record to be deleted. (CVS 4916) (check-in: [ee381b43] user: drh branch: trunk, size: 7518)
00:22
[0fef6798] part of check-in [0e1d84f2] Removed the direct btree tests - part of the ongoing effort to test by calling only public interfaces. Modify the sqlite3VdbeRecordCompare interface to used a pre-parsed second key - resulting in a 13% performance improvement on speed1p.test. (CVS 4911) (check-in: [0e1d84f2] user: drh branch: trunk, size: 7526)
2008-03-22
01:07
[93acc03f] part of check-in [8ef26646] Add the SQLITE_OMIT_DECLTYPE compile-time option. Remove more code when SQLITE_ENABLE_COLUMN_METADATA is not defined. (CVS 4906) (check-in: [8ef26646] user: drh branch: trunk, size: 7275)
2008-01-17
17:27
[58a7d931] part of check-in [1c37d7b6] Remove unused p4 element from the {quote: VdbeOpList} object. (CVS 4720) (check-in: [1c37d7b6] user: drh branch: trunk, size: 7054)
2008-01-09
18:31
[a9166e16] part of check-in [47672af0] Fix the build for AIX and other systems where "char" is unsigned by default. (CVS 4699) (check-in: [47672af0] user: drh branch: trunk, size: 7099)
2008-01-08
23:54
[c686e1b7] part of check-in [8862ce9c] Registerify the comparison opcodes. (CVS 4697) (check-in: [8862ce9c] user: drh branch: trunk, size: 7099)
2008-01-03
11:50
[bb128757] part of check-in [7e8330c8] Change the VdbeOp.p4 union to include specific pointer types for the various values of VdbeOp.p4type. (CVS 4667) (check-in: [7e8330c8] user: danielk1977 branch: trunk, size: 7117)
09:51
[433a955b] part of check-in [46501f49] Change the OP_Insert opcode to read the key and data to insert from memory cells, not the stack. (CVS 4666) (check-in: [46501f49] user: danielk1977 branch: trunk, size: 6390)
07:54
[ad5fd7aa] part of check-in [35da261d] Change OP_OpenRead and OP_OpenWrite so that the database number is read from the P3 operand, not the stack. (CVS 4663) (check-in: [35da261d] user: danielk1977 branch: trunk, size: 6340)
01:28
[0d29000e] part of check-in [4dc507d8] Revamp sqlite3VdbeAddOpList() so that the structure holds integer values for P1, P2, and P3. (CVS 4661) (check-in: [4dc507d8] user: drh branch: trunk, size: 6281)
00:01
[c50dd0ad] part of check-in [027875e4] 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) (check-in: [027875e4] user: drh branch: trunk, size: 6236)
2008-01-02
17:25
[5c9ed634] part of check-in [ad528735] Add operands p4 and p5 to the VdbeOp structure. (CVS 4659) (check-in: [ad528735] user: drh branch: trunk, size: 6142)
00:34
[a042e6d3] part of check-in [051ec01f] 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) (check-in: [051ec01f] user: drh branch: trunk, size: 5995)
2007-11-14
06:48
[79e09ff1] part of check-in [d31f1e0d] Add an experimental API for retrieving the SQL source from a compiled statement: sqlite3_sql(). Ticket #2769. (CVS 4543) (check-in: [d31f1e0d] user: danielk1977 branch: trunk, size: 5666)
2007-10-23
15:39
[856360de] part of check-in [7e30fd6a] Floating point and 64-bit integer constants store in the virtual machine opcodes in binary, not as text. Performance improvement. Ticket #2733. (CVS 4507) (check-in: [7e30fd6a] user: drh branch: trunk, size: 5696)
2007-08-30
01:19
[03a0fa17] part of check-in [e40d40a5] Fix for the sqlite3AbortOtherActiveVdbes() problem. (CVS 4328) (check-in: [e40d40a5] user: drh branch: trunk, size: 5566)
2007-08-28
22:24
[498e9dda] part of check-in [967ab229] Clean up the locking in the btree logic. (CVS 4316) (check-in: [967ab229] user: drh branch: trunk, size: 5574)
02:27
[5b3ee0fd] part of check-in [b8cc493b] Work toward correct btree locking in a multithreaded environment. (CVS 4307) (check-in: [b8cc493b] user: drh branch: trunk, size: 5573)
2007-05-08
21:45
[001c5b25] part of check-in [c5754530] Remove compiler warnings in the amalgamation. (CVS 3960) (check-in: [c5754530] user: drh branch: trunk, size: 5527)
20:37
[a6c910b7] part of check-in [e9f56ead] Fix the amalgamation generator so that all non-API functions have file scope. (CVS 3958) (check-in: [e9f56ead] user: drh branch: trunk, size: 5543)
2007-01-09
14:01
[0025259a] part of check-in [43fe7fc1] 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) (check-in: [43fe7fc1] user: drh branch: trunk, size: 5595)
2007-01-08
21:07
[f20886fb] part of check-in [3401388d] Fix a critical bug in sqlite3_prepare_v2 that can lead to segfaults when the schema changes and the statement is recompiled automatically. Ticket #2154. (CVS 3576) (check-in: [3401388d] user: drh branch: trunk, size: 5555)
2006-11-09
00:24
[9720cae6] part of check-in [f1efae92] First cut at adding the sqlite3_prepare_v2() API. Test cases added, but more testing would be useful. Still need to update the documentation. (CVS 3506) (check-in: [f1efae92] user: drh branch: trunk, size: 5558)
2006-06-13
23:51
[258b5d1c] part of check-in [29199eee] The echo module test is now running. Added the tclvar module test but have not yet done anything with it. (CVS 3234) (check-in: [29199eee] user: drh branch: trunk, size: 5429)
01:04
[f72e5c00] part of check-in [3532f134] Progress toward getting the virtual-table code generator to work. (CVS 3220) (check-in: [3532f134] user: drh branch: trunk, size: 5350)
2006-06-11
23:41
[190d85a3] part of check-in [898ec36b] Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211) (check-in: [898ec36b] user: drh branch: trunk, size: 5273)
2006-03-17
13:56
[44ff995a] part of check-in [8f60139f] Miscellaneous code cleanup. (CVS 3143) (check-in: [8f60139f] user: drh branch: trunk, size: 5274)
2006-02-10
03:06
[80ba1c39] part of check-in [6ebb8f9b] Add a symbol P3_TRANSIENT to pass to VdbeSetColName() to make it copy the string parameter up to the first 0 byte. (CVS 3070) (check-in: [6ebb8f9b] user: danielk1977 branch: trunk, size: 5228)
02:27
[12e2326f] part of check-in [82f502cd] Add the column_origin_name() etc. APIs. (CVS 3069) (check-in: [82f502cd] user: danielk1977 branch: trunk, size: 5157)
2005-09-20
17:42
[8729a4ee] part of check-in [2471957f] Code cleanup and simplification. Three new Mem opcodes added. The sqlite3VdbeJumpHere function added. (CVS 2730) (check-in: [2471957f] user: drh branch: trunk, size: 4806)
2005-09-07
21:22
[c8e10597] part of check-in [17039ec3] Rewrite the aggregate handling logic so that it runs in O(1) space. This is the first cut at the code. Many regression tests fail. (CVS 2662) (check-in: [17039ec3] user: drh branch: trunk, size: 4763)
2005-08-19
01:07
[3b29a9af] part of check-in [0b6cd5ac] More test coverage enhancements. (CVS 2600) (check-in: [0b6cd5ac] user: drh branch: trunk, size: 4767)
2005-08-12
22:56
[68e80f65] part of check-in [3edbe8d6] Optimize LIKE and GLOB operators in the WHERE clause. Code passes all regression tests but still needs additional tests. (CVS 2581) (check-in: [3edbe8d6] user: drh branch: trunk, size: 4812)
2005-05-19
08:43
[75e466d8] part of check-in [79a41674] Always use a more specific type (P3_FUNCDEF) instead of P3_POINTER as the P3 type of a vdbe instruction. (CVS 2463) (check-in: [79a41674] user: danielk1977 branch: trunk, size: 4864)
2005-03-23
01:48
[7f586cb6] part of check-in [f0d64dc8] Fix a typo in vdbeInt.h. This was potentially a serious mistake, but we got lucky and it is benign. (CVS 2418) (check-in: [f0d64dc8] user: drh branch: trunk, size: 4926)
2005-03-09
12:26
[7e307333] part of check-in [9d5abc1d] Support for a future ALTER TABLE command to add columns with default values. (CVS 2367) (check-in: [9d5abc1d] user: danielk1977 branch: trunk, size: 4934)
2005-01-29
08:32
[bb918648] part of check-in [b1b50f31] Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286) (check-in: [b1b50f31] user: danielk1977 branch: trunk, size: 4832)
2004-09-06
17:24
[067ca8d6] part of check-in [3ddf5a9d] Fix a naming conflict between sqlite versions 2 and 3. An open sqlite3 connection now *must* be called "sqlite3". You cannot call it "sqlite". This might break existing code. (CVS 1941) (check-in: [3ddf5a9d] user: drh branch: trunk, size: 4820)
2004-08-21
17:54
[e081c72c] part of check-in [bd6649c5] Optimizations to the code generator. (CVS 1899) (check-in: [bd6649c5] user: drh branch: trunk, size: 4819)
2004-06-27
21:31
[75b241c0] part of check-in [792b3c75] Remove unused routines from vdbeaux.c. Improve test coverage. (CVS 1746) (check-in: [792b3c75] user: drh branch: trunk, size: 4811)
2004-06-21
08:18
[2d87155e] part of check-in [7a33daef] Ensure sqlite3ErrorMsg() is used to report errors during compilation, sqlite3Error() during execution. Also remove unused param from sqlite3VdbeReset() and Finalize(). (CVS 1647) (check-in: [7a33daef] user: danielk1977 branch: trunk, size: 4953)
06:50
[05edb8ec] part of check-in [ae2f4a09] Update sqlite3_changes() to match the documentation and add sqlite3_total_changes(). (CVS 1645) (check-in: [ae2f4a09] user: danielk1977 branch: trunk, size: 4968)
2004-06-19
14:49
[9ad64674] part of check-in [99d0436e] Omit the sqlite3VdbeCode() routine. Use sqlite3NameFromToken() more to reduce the amount of code. (CVS 1639) (check-in: [99d0436e] user: drh branch: trunk, size: 4923)
2004-06-05
10:22
[46f74444] part of check-in [c2899b43] Add the sqlite3_set_auxdata() and sqlite3_get_auxdata() APIs. (CVS 1532) (check-in: [c2899b43] user: danielk1977 branch: trunk, size: 4963)
2004-05-26
16:54
[e73f890e] part of check-in [36e03162] Remove dataType and includeTypes flags from function definitions. Added new P3_FUNCDEF type for P3 arguments on opcodes. Fixes to several user functions. 28 tests fail now. (CVS 1464) (check-in: [36e03162] user: drh branch: trunk, size: 4883)
10:11
[948cafed] part of check-in [d5659f2e] Add some tests for the new API. Many more to come. (CVS 1462) (check-in: [d5659f2e] user: danielk1977 branch: trunk, size: 4820)
2004-05-25
23:35
[ebd59ee7] part of check-in [9385ad5c] Move the sqlite3_exec() function to legacy.c. (CVS 1455) (check-in: [9385ad5c] user: danielk1977 branch: trunk, size: 4762)
2004-05-21
10:08
[391d5642] part of check-in [fc94575d] Further work on the new API. All the functions to execute queries are there now. (CVS 1427) (check-in: [fc94575d] user: danielk1977 branch: trunk, size: 4723)
01:29
[d6f66896] part of check-in [0736b7e8] Sorting bug fixes. Now only 17 tests fail. (CVS 1422) (check-in: [0736b7e8] user: drh branch: trunk, size: 4771)
2004-05-20
22:16
[5bf4ad99] part of check-in [a6cb09d7] Add internal support for collating sequences. This breaks 244 tests. (CVS 1420) (check-in: [a6cb09d7] user: drh branch: trunk, size: 4316)
13:54
[e75fe13a] part of check-in [5c1e47a2] sqlite3MemCompare now takes a CollSeq* argument. (CVS 1419) (check-in: [5c1e47a2] user: drh branch: trunk, size: 4636)
2004-05-18
23:21
[314e9c07] part of check-in [cd1be815] Add definitions of the CollSeq and KeyInfo structures. (CVS 1399) (check-in: [cd1be815] user: drh branch: trunk, size: 4565)
10:06
[1d0d0b57] part of check-in [ad4a9641] Fix many problems with manifest types and column affinity. Most things are working now. (CVS 1393) (check-in: [ad4a9641] user: danielk1977 branch: trunk, size: 3939)
2004-05-13
05:16
[94457ca7] part of check-in [9f2b6d9d] Manifest types in indices. At the moment indices use manifest typing, but some other parts of the SQL engine do not, which can lead to some strange results. (CVS 1368) (check-in: [9f2b6d9d] user: danielk1977 branch: trunk, size: 4001)
2004-05-12
11:24
[71c02a75] part of check-in [2f16c9ef] Add some more code to support manifest typing in indices. Not activated yet. (CVS 1362) (check-in: [2f16c9ef] user: danielk1977 branch: trunk, size: 4023)
2004-05-08
10:56
[2dc4d116] part of check-in [2bca9224] Get the code back to the point where it will compile the btree.c tests. Move the default key comparison routine from btree.c into vdbeaux.c. Commented out code in vdbe.c that will need to be fixed. (CVS 1326) (check-in: [2bca9224] user: drh branch: trunk, size: 3989)
08:23
[3cf970b0] part of check-in [8af6474c] Change lots of internal symbols from sqliteXXX to sqlite3XXX so that the library links again. It doesn't work yet, due to changes in the btree layer calling convention. (CVS 1324) (check-in: [8af6474c] user: danielk1977 branch: trunk, size: 3937)
2004-02-22
20:05
[ac987945] part of check-in [51f1e8f7] Use sqliteVdbeOp3 instead of sqliteVdbeChangeP3 where applicable. (CVS 1266) (check-in: [51f1e8f7] user: drh branch: trunk, size: 3902)
2004-02-21
13:31
[b1b22ffc] part of check-in [8e3eda2a] More code cleanup and size reduction. (CVS 1256) (check-in: [8e3eda2a] user: drh branch: trunk, size: 3813)
2004-02-14
23:59
[b9f6f1b5] part of check-in [2dbc4593] Eliminate obsolete code associated with the older callback functionality. (CVS 1243) (check-in: [2dbc4593] user: drh branch: trunk, size: 3423)
2003-09-06
22:18
[3957844e] part of check-in [990bb118] Update Makefile.in for the new vdbeaux.c file. Remove the experimental "sqlite_instantiate()" routine and replace it with "sqlite_bind()" which is more like ODBC and JDBC. (CVS 1095) (check-in: [990bb118] user: drh branch: trunk, size: 3445)
01:10
[3c51cb38] part of check-in [912f47c7] The beginnings of changes to support pre-compiled SQL. Mostly untested, though all regression tests to pass. (CVS 1093) (check-in: [912f47c7] user: drh branch: trunk, size: 3441)
2003-07-22
09:24
[d853ed6c] part of check-in [1d2fcb01] Add experimental sqlite_reset() API (allows pre-compiled queries) (CVS 1060) (check-in: [1d2fcb01] user: danielk1977 branch: trunk, size: 3404)
2003-04-03
01:50
[985c24f3] part of check-in [087d1e83] Use a intermediate table when inserting a TEMP table from a SELECT that reads from that same TEMP table. Ticket #275. (CVS 895) (check-in: [087d1e83] user: drh branch: trunk, size: 3353)
2003-01-29
18:46
[ed43771f] part of check-in [ccc82f1a] Better error messages on constraint violations. Additional tests and bug fixes for the callback-free API. (CVS 854) (check-in: [ccc82f1a] user: drh branch: trunk, size: 3316)
14:06
[162071f1] part of check-in [162b2591] The callback-free API is now working, though much more testing is need. (CVS 853) (check-in: [162b2591] user: drh branch: trunk, size: 3316)
2003-01-28
23:13
[30b808a3] part of check-in [065fa818] First code for the new callback-free API. All regression tests pass but the new API is mostly untested and is unlikely to work. (CVS 852) (check-in: [065fa818] user: drh branch: trunk, size: 3564)
2003-01-01
23:06
[754eba49] part of check-in [a1c071ea] If compiled with the -DVDBE_PROFILE=1 option, special code is inserted that uses the pentium RDTSC instruction to compute very precise runtimes on all VDBE opcodes. (This only works on i586 processors, of course.) The results are written into the vdbe_profile.out file for analysis. Hopefully, this new feature will reveal hot spots that can be optimized to make the VDBE run faster. (CVS 807) (check-in: [a1c071ea] user: drh branch: trunk, size: 3333)
2002-09-08
00:04
[b7584044] part of check-in [eb54d455] Modify the build process so that the VDBE opcode numbers and the table that contains the opcode names are both automatically generated. This makes it much easier to create new VDBE opcodes. (CVS 746) (check-in: [eb54d455] user: drh branch: trunk, size: 3160)
2002-08-28
03:00
[7cfeb3aa] part of check-in [723362e7] Slightly faster INSERTs from a SELECT by avoiding an intermediate table. But it didn't make nearly as much difference as I had hoped. (CVS 732) (check-in: [723362e7] user: drh branch: trunk, size: 7842)
2002-08-25
19:20
[52ec880c] part of check-in [c602603e] Fix for ticket #136: Added the OP_RenameCursor VDBE instruction and used it to make cursor numbers right on nested subqueries. Also added OP_Gosub and OP_Return but have not actually used them for anything yet. (CVS 727) (check-in: [c602603e] user: drh branch: trunk, size: 7803)
2002-06-21
23:01
[a9292f2b] part of check-in [9d552310] Fix for bugs #77 and #80: Rework the LIMIT mechanism to be reentrant and to clean up the VDBE stack properly. (CVS 636) (check-in: [9d552310] user: drh branch: trunk, size: 7668)
2002-06-20
11:36
[9b6e632b] part of check-in [cbbc858d] This patch contains the beginnings of the data-typing infrastructure. The new build-in TypeOf() function is added. New opcodes for doing pure text comparisons are added. Most changes are disabled pending the 2.6.0 release. (CVS 632) (check-in: [cbbc858d] user: drh branch: trunk, size: 7703)
2002-06-14
22:38
[fba15f32] part of check-in [699cf362] Make the LIMIT clause work even if the destination of the SELECT is something other than a callback. (Ticket #66) (CVS 619) (check-in: [699cf362] user: drh branch: trunk, size: 7379)
2002-06-08
23:25
[1742d6f8] part of check-in [8481e841] Add optimizations for the IN operator in WHERE clauses. This is a partial implementation of enhancement #63. Still need to add test cases. (CVS 610) (check-in: [8481e841] user: drh branch: trunk, size: 7346)
2002-05-26
20:54
[b8706429] part of check-in [90511737] NULL values are distinct. A comparison involving a NULL is always false. Operations on a NULL value yield a NULL result. This change makes SQLite operate more like the SQL spec, but it may break existing applications that assumed the old behavior. All the old tests pass but we still need to add new tests to better verify the new behavior. Fix for ticket #44. (CVS 589) (check-in: [90511737] user: drh branch: trunk, size: 7280)
2002-05-23
22:07
[def669b9] part of check-in [c53b0b92] Change the names of the PushList and PopList opcodes to ListPush and ListPop so that they will appear together with the other List opcodes in the documentation. (CVS 583) (check-in: [c53b0b92] user: drh branch: trunk, size: 7247)
2002-05-15
08:30
[126a651b] part of check-in [794bf67b] Added FOR EACH ROW triggers functionality (CVS 562) (check-in: [794bf67b] user: danielk1977 branch: trunk, size: 7189)
2002-04-20
14:24
[67840a46] part of check-in [51572bf7] Fix for ticket #1: Implement the GLOB and LIKE operators as functions that can be overridden. This way, a developer can change the LIKE operator to be case sensitive, for example. (CVS 537) (check-in: [51572bf7] user: drh branch: trunk, size: 7114)
2002-02-28
03:31
[f9be1f6e] part of check-in [e8611e0c] Remove unused opcodes from the VDBE and fix a bug in the substr() function. (CVS 405) (check-in: [e8611e0c] user: drh branch: trunk, size: 7180)
00:41
[8ab845e6] part of check-in [50797fee] Completely remove the old SQL function system and replace it with the new user functions. The code currently compiles but it coredumps on the test suite. Do not use in its present state. (CVS 400) (check-in: [50797fee] user: drh branch: trunk, size: 7378)
2002-02-27
19:00
[785b2f17] part of check-in [633951f0] Revise the API for user-defined functions. (CVS 398) (check-in: [633951f0] user: drh branch: trunk, size: 7378)
2002-02-24
03:25
[98e445d6] part of check-in [1e037eb3] Code for user-defined aggregates added. Legacy tests all pass but there has been no testing of the new user-defined aggregate code. (CVS 392) (check-in: [1e037eb3] user: drh branch: trunk, size: 7378)
2002-02-23
23:45
[c3be0216] part of check-in [c490a1ff] Added support for user-defined normal functions. Support for user-defined aggregates is pending. (CVS 390) (check-in: [c490a1ff] user: drh branch: trunk, size: 7345)
2002-02-21
12:01
[002bb8cf] part of check-in [b2a9807f] Change the SQLITE_MASTER format to version 2 in preparation for adding views. (CVS 386) (check-in: [b2a9807f] user: drh branch: trunk, size: 7280)
2002-02-19
15:00
[b4d35e15] part of check-in [cc5abfe3] Optimize simple min() and max() queries. (CVS 382) (check-in: [cc5abfe3] user: drh branch: trunk, size: 7247)
13:39
[20a66257] part of check-in [c6e9048e] Change the name of the sanity_check PRAGMA to "integrity_check" and make it available on all compiles. (CVS 381) (check-in: [c6e9048e] user: drh branch: trunk, size: 7214)
2002-02-03
03:34
[3d49d22b] part of check-in [95d1f838] The VACUUM command now does a database sanity check. (CVS 364) (check-in: [95d1f838] user: drh branch: trunk, size: 7214)
2002-02-02
18:49
[3791edab] part of check-in [9be4d4c6] Get the ABORT conflict resolution algorithm working. (CVS 362) (check-in: [9be4d4c6] user: drh branch: trunk, size: 7214)
2002-01-29
18:41
[5b1bd518] part of check-in [e00a9ff8] Beginning to insert the infrastructure for ON CONFLICT clauses. (CVS 355) (check-in: [e00a9ff8] user: drh branch: trunk, size: 7181)
2002-01-28
15:53
[22d4df31] part of check-in [dbcfe198] Bug fix: The IN operator was not working if either side derived from an INTEGER PRIMARY KEY. (CVS 354) (check-in: [dbcfe198] user: drh branch: trunk, size: 7065)
2001-12-22
14:49
[e5cc6fb1] part of check-in [29cab124] Bug fixing in the new integer primary key code. (CVS 334) (check-in: [29cab124] user: drh branch: trunk, size: 6999)
2001-11-08
00:45
[cd4c8647] part of check-in [262bcd17] The new code for taking advantage of inequalities in WHERE clauses is in place. It appears to work. (CVS 305) (check-in: [262bcd17] user: drh branch: trunk, size: 6966)
2001-11-07
16:48
[da7c0107] part of check-in [decbeb91] New Next opcode and indexing style implemented. (CVS 304) (check-in: [decbeb91] user: drh branch: trunk, size: 6999)
14:22
[a1170446] part of check-in [e6ca23fa] Incremental update. We are in the middle of modifying the index system to support range queries without doing a complete table scan. (CVS 303) (check-in: [e6ca23fa] user: drh branch: trunk, size: 7098)
2001-11-06
04:00
[ea71a2c2] part of check-in [eb07768a] Implement indices that occur in sort order and the LIMIT...OFFSET clause of SELECT statements. (CVS 301) (check-in: [eb07768a] user: drh branch: trunk, size: 6933)
2001-11-04
18:32
[c29e6fdf] part of check-in [7dd58fad] Increase maximum row size to 1MB. (CVS 300) (check-in: [7dd58fad] user: drh branch: trunk, size: 6998)
2001-11-01
14:41
[4a587ec5] part of check-in [e1370276] Remove cruft: restrict the number of sorters and lists in the VDBE to one since no more than one was ever used anyway. This eliminates several op-codes and simplifies the implementation of several others. (CVS 297) (check-in: [e1370276] user: drh branch: trunk, size: 6992)
2001-10-19
16:44
[f8407fd6] part of check-in [8467d84f] Version 2.0.6 (CVS 291) (check-in: [8467d84f] user: drh branch: trunk, size: 7091)
2001-10-13
02:59
[86fc2ef4] part of check-in [75e90cf0] 2.0.3 (CVS 287) (check-in: [75e90cf0] user: drh branch: trunk, size: 7058)
01:06
[21e4aede] part of check-in [288ef124] Remove the P3 and label arguments from the internal sqliteVdbeAddOp() function. This makes the code easier to read and perhaps smaller as well. (CVS 286) (check-in: [288ef124] user: drh branch: trunk, size: 6958)
2001-10-12
17:30
[adecb0f3] part of check-in [0a7848b6] Fix an assertion failure when the disk fills up. Add tests for a full disk situation. (CVS 285) (check-in: [0a7848b6] user: drh branch: trunk, size: 6666)
2001-10-08
13:22
[7eb7e9e6] part of check-in [9368c62e] Support for temporary tables added. Still need more testing. (CVS 279) (check-in: [9368c62e] user: drh branch: trunk, size: 6502)
2001-09-27
15:11
[c543a58f] part of check-in [116fdad0] Fixed the support of UNIQUE and PRIMARY KEY. (CVS 268) (check-in: [116fdad0] user: drh branch: trunk, size: 6436)
2001-09-23
02:35
[dc1d4414] part of check-in [337b3d3b] Fixes to the locking and rollback behavior. (CVS 261) (check-in: [337b3d3b] user: drh branch: trunk, size: 6453)
2001-09-16
00:13
[900b59b4] part of check-in [4e926efe] Disclaimed copyright. Preparing for release 2.0. (CVS 250) (check-in: [4e926efe] user: drh branch: trunk, size: 6420)
2001-09-15
00:57
[b9d60d90] part of check-in [14474fa1] Everything is working on Linux. This is release 2.0-Alpha-1. (CVS 246) (check-in: [14474fa1] user: drh branch: trunk, size: 6975)
2001-09-13
21:53
[9f32bd12] part of check-in [62c7bd11] Many problems fixed. Many problems yet to go. (CVS 242) (check-in: [62c7bd11] user: drh branch: trunk, size: 6875)
14:46
[6ee941ec] part of check-in [a0a1e701] The BTree changes are now integrated and the whole thing compiles and links. I have not yet tried to run it, though. (CVS 239) (check-in: [a0a1e701] user: drh branch: trunk, size: 6842)
13:46
[533068ed] part of check-in [6ecc8b20] The code is in place to replace GDBM with BTree. But I have not yet attempted to compile it. I am sure the code contains bugs. (CVS 238) (check-in: [6ecc8b20] user: drh branch: trunk, size: 6842)
2001-08-19
18:19
[5331b9a3] part of check-in [c15f6ffc] Add index access methods to the DBBE in preparation for adding a new DBBE for the btree.c module. (CVS 236) (check-in: [c15f6ffc] user: drh branch: trunk, size: 6463)
2001-04-04
11:48
[dc1205da] part of check-in [35a8feed] Added transaction support (CVS 196) (check-in: [35a8feed] user: drh branch: trunk, size: 6463)
2001-02-19
23:23
[031b7dd7] part of check-in [4fb52b48] Repairs to the previous fix (CVS 186) (check-in: [4fb52b48] user: drh branch: trunk, size: 6463)
2001-01-15
22:51
[d94224ad] part of check-in [c6ffb7ec] continued progress toward version 2.0 (CVS 177) (check-in: [c6ffb7ec] user: drh branch: trunk, size: 6430)
2000-10-16
22:06
[140cdec3] part of check-in [f7ea08b9] Added an interrupt capability (CVS 153) (check-in: [f7ea08b9] user: drh branch: trunk, size: 6397)
2000-10-11
19:28
[8ca755f7] part of check-in [3f0f1fa1] Misc cleanup. Notes on compiling for Win95. (CVS 152) (check-in: [3f0f1fa1] user: drh branch: trunk, size: 6395)
2000-08-28
15:51
[6413cd01] part of check-in [0eef538f] Added length() and substr() functions (CVS 143) (check-in: [0eef538f] user: drh branch: trunk, size: 6355)
2000-07-28
14:32
[6c565324] part of check-in [4fe8e51c] added the sqlite_busy_handler() interface (CVS 109) (check-in: [4fe8e51c] user: drh branch: trunk, size: 6288)
2000-06-11
23:50
[5f58611b] part of check-in [0f93c27c] added the fcnt() function for testing (CVS 92) (check-in: [0f93c27c] user: drh branch: trunk, size: 6232)
2000-06-06
21:56
[8f79f57c] part of check-in [f4d9089c] :-) (CVS 62) (check-in: [f4d9089c] user: drh branch: trunk, size: 6198)
01:50
[49e0f9c6] part of check-in [bd8b2645] :-) (CVS 55) (check-in: [bd8b2645] user: drh branch: trunk, size: 6165)
2000-06-05
21:39
[7b3cd6b1] part of check-in [e9ed5d2a] added Agg opcodes to the vdbe (CVS 54) (check-in: [e9ed5d2a] user: drh branch: trunk, size: 5966)
18:54
[5fd02cb5] part of check-in [c02268bd] :-) (CVS 52) (check-in: [c02268bd] user: drh branch: trunk, size: 5767)
2000-06-04
12:58
[f20a3140] part of check-in [6ea5cebf] rework the VDBE engine. NULL is now distinct from "" (CVS 49) (check-in: [6ea5cebf] user: drh branch: trunk, size: 5700)
2000-05-31
20:00
[ab574c91] part of check-in [1f0c4ffd] added DISTINCT on select (CVS 27) (check-in: [1f0c4ffd] user: drh branch: trunk, size: 5667)
02:27
[02b470d3] part of check-in [01d85b35] :-) (CVS 20) (check-in: [01d85b35] user: drh branch: trunk, size: 5634)
2000-05-30
16:27
[03de2663] part of check-in [8d66c735] :-) (CVS 15) (check-in: [8d66c735] user: drh branch: trunk, size: 5533)
2000-05-29
14:26
[e721ad30] part of check-in [6f3655f7] initial check-in of the new version (CVS 1) (check-in: [6f3655f7] user: drh branch: trunk, size: 5400) Added