/ File History
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

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

History of src/vdbe.h

2019-10-18
12:52
Claw back some performance from the sqlite3ExprGetColumnOfTable() routine. file: [b02904e1] check-in: [e8426acb] user: drh branch: generated-columns, size: 15390
2019-08-13
15:22
Merge latest trunk changes with this branch. file: [2cfde824] check-in: [5b4689d8] user: dan branch: reuse-schema, size: 15358
2019-08-09
01:59
Modify signature of sqlite3VdbeChangeOpcode() to accept int instead of u32. file: [3f2b571e] check-in: [68b7f2ac] user: mistachkin branch: trunk, size: 15357
01:11
Fix more compiler warnings. file: [d6ef44a2] check-in: [1b85442b] user: drh branch: trunk, size: 15357
2019-07-02
20:10
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. file: [69a9f51e] check-in: [5dbb0734] user: dan branch: tkt9b78184b-alt, size: 15410
2019-04-26
17:20
An experimental interface for retrieving the estimated cost and estimated number of output rows for a query. file: [f99dbc42] check-in: [1b25fa10] user: drh branch: cost-est, size: 15418
2019-02-05
19:51
Merge latest trunk into this branch. file: [323218c4] check-in: [c089cc4f] user: dan branch: reuse-schema, size: 15358
2018-12-31
21:43
Fix harmless compiler warnings. file: [712bca56] check-in: [b57c545a] user: drh branch: trunk, size: 15357
18:30
Merge enhancements and bug fixes from trunk. file: [d64fe28f] check-in: [9fb646f2] user: drh branch: reuse-subqueries, size: 15415
2018-12-29
14:23
Additional small performance increase and size reduction to the sqlite3VdbeMakeLabel() mechanism. file: [b61a6f4f] check-in: [1bdee199] user: drh branch: trunk, size: 15129
02:26
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*. file: [21725193] check-in: [4a0929ac] user: drh branch: trunk, size: 15192
2018-12-24
20:21
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. file: [55f9ef5d] check-in: [7153552b] user: drh branch: reuse-subqueries, size: 15477
2018-12-14
20:20
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) file: [87fd8b2c] check-in: [b29e02f8] user: drh branch: branch-3.8.9, size: 11421
2018-12-10
16:00
Refactor the sqlite3_normalized_sql() implementation. This is a work-in-progress. There are still issues. file: [8990d668] check-in: [a4c890b0] user: drh branch: normalize-refactor, size: 15191
2018-12-07
16:32
Fix the sqlite3_normalized_sql() interface so that it renders double-quoted string literals as "?". file: [d82f323d] check-in: [0d8e1504] user: drh branch: trunk, size: 15204
2018-11-15
21:20
Fix some problems with the feature on this branch. Many problems remain. file: [fda06d54] check-in: [31b6aee7] user: dan branch: reuse-schema1, size: 15115
2018-10-08
18:58
Merge latest trunk changes into this branch. file: [faedef40] check-in: [2ac72114] user: dan branch: reuse-schema, size: 15036
2018-08-14
15:12
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]. file: [5081dcc4] check-in: [529fb55e] user: drh branch: trunk, size: 15035
2018-07-10
17:10
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. file: [d93abdc8] check-in: [76e42b70] user: drh branch: trunk, size: 15120
16:04
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). file: [5ec6ab3e] check-in: [cd2da7e1] user: drh branch: trunk, size: 14980
2018-06-20
09:23
Add tests to improve coverage of code in window.c. Fix a problem with "SELECT row_number() OVER ()". file: [847735b3] check-in: [f41b6b73] user: dan branch: exp-window-functions, size: 13697
2018-06-11
17:35
Add the OP_SetTabCol and OP_VerifyTabCol opcodes, only when compiling with SQLITE_DEBUG, to do run-time verification of the column cache. file: [9c8c245f] check-in: [b37614a3] user: drh branch: trunk, size: 13644
13:10
Strengthen the sqlite3VdbeMemAboutToChange() run-time verification mechanism to better detect missed calls to AboutToChange(). file: [c58fa2d8] check-in: [793e9422] user: drh branch: trunk, size: 13539
2018-05-28
17:43
Fix the build so that it works with -DSQLITE_TEST_REALLOC_STRESS file: [e3f43bcc] check-in: [90ba2b2e] user: drh branch: stmt-journal-testing, size: 13491
17:31
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. file: [3dc7fd31] check-in: [5a4542db] user: drh branch: stmt-journal-testing, size: 13452
2018-05-03
19:47
Optimizations to the new EQP framework. file: [d970d973] check-in: [956fef36] user: drh branch: rework-EQP, size: 13362
2018-05-02
00:33
Begin reengineering the EXPLAIN QUERY PLAN function to provide more intuitive output. file: [dc29bf94] check-in: [70b48a79] user: drh branch: rework-EQP, size: 13466
2018-04-26
15:50
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] file: [fff31fb6] check-in: [0a514e62] user: drh branch: trunk, size: 12963
2018-04-18
01:34
Add new testcase() macros and fix a bug that was revealed when trying to cover all the new test cases. file: [574ce9a0] check-in: [266a99f7] user: drh branch: upsert, size: 12910
2018-01-12
16:44
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. file: [134beb7a] check-in: [bd46c442] user: dan branch: sessions-stat1, size: 12825
2017-08-09
20:35
Add experimental sqlite3_open_v2() flag SQLITE_OPEN_REUSE_SCHEMA. For sharing identical in-memory schema objects between connections. file: [5aa766d2] check-in: [a6256980] user: dan branch: reuse-schema, size: 12754
2017-07-20
13:17
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. file: [d50cadf1] check-in: [22eda098] user: drh branch: index-on-date-func, size: 12753
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: [c1fc5b3d] check-in: [0a5e1c04] user: drh branch: index-on-date-func, size: 12759
2017-07-12
20:43
Smaller and faster implementation for vdbeFreeOpArray() and freeP4(). file: [7bf71903] check-in: [0c805935] user: drh branch: trunk, size: 12710
2017-06-01
00:54
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. file: [dde459b1] check-in: [4a25c588] user: drh branch: prepare_v3, size: 12598
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: [70a409d1] check-in: [e972a386] user: drh branch: trunk, size: 12382
2017-04-09
19:23
Do not expose the name of the internal Mem object in the public interface defined by sqlite3.h. file: [f7d1456e] check-in: [19dd753f] user: drh branch: trunk, size: 12384
2017-03-24
17:59
Fix the OP_Once opcode so that it works correctly for recursive triggers. Ticket [06796225f59c057cd120f1]. file: [caa5346d] check-in: [25560145] user: drh branch: trunk, size: 12374
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: [0a52f346] check-in: [c1adf959] user: dan branch: sort-column-opcodes, size: 12348
2017-01-25
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: [59998ffd] check-in: [118ded40] user: drh branch: trim-nulls, size: 12313
2017-01-05
19:32
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). file: [b0866e41] check-in: [5c05d8ec] user: dan branch: pragma-columncount-fix, size: 12322
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: [50ee139f] check-in: [f7ab01f2] user: drh branch: trunk, size: 12235
2016-12-07
21:35
Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recently coded instruction. file: [0c74f630] check-in: [28883e8f] user: drh branch: trunk, size: 12258
20:22
The use P4_DYNAMIC in place of the P4_MPRINTF operand type. file: [19879217] check-in: [3954f837] user: drh branch: trunk, size: 12202
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: [c044be70] check-in: [6bf5ba10] user: drh branch: trunk, size: 12283
2016-07-09
16:14
Fix various internal #defines to conform to new C-language naming restrictions, specifically that private-use macros names must not begin with "_". file: [67bc551f] check-in: [5471aca0] user: drh branch: trunk, size: 12352
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: [5591b5ad] check-in: [099478fa] user: drh branch: trunk, size: 12336
2016-03-21
15:32
Merge 3.12.0 beta changes from trunk. file: [c16ba943] check-in: [3296a0ce] user: drh branch: sessions, size: 12388
2016-03-16
20:44
Some pragmas can be reused without an automatic reprepare. file: [6f44193e] check-in: [db1ce7e1] user: drh branch: reusable-pragma, size: 12257
2016-02-09
15:44
Merge enhancements and fixes from trunk. file: [594aef1a] check-in: [f040a5bb] user: drh branch: sessions, size: 12355
02:12
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]. file: [c743791f] check-in: [ca72be86] user: drh branch: trunk, size: 12224
2016-02-04
02:34
Add and use the sqlite3VdbeZeroRegister() interface for coding the common operation of writing zero into a register. file: [89da2c03] check-in: [1c8d3001] user: drh branch: zero-register, size: 12223
2016-01-20
11:33
Merge recent enhancements from trunk. file: [19162d5d] check-in: [327af5f6] user: drh branch: sessions, size: 12314
2016-01-18
00:20
Fix a problem with SQLITE_TEST_REALLOC_STRESS. file: [7a733ea8] check-in: [0aaf3feb] user: drh branch: trunk, size: 12183
2016-01-16
20:50
Improvements to the way sqlite3VdbeAddOpList() works, resulting in a slightly smaller and faster binary. file: [22f8c913] check-in: [88ceb588] user: drh branch: trunk, size: 12133
2015-10-30
16:50
Merge all the latest enhancements from trunk. file: [bfe3f80d] check-in: [395a153f] user: drh branch: sessions, size: 12126
2015-09-03
14:48
Merge recent trunk enhancements. file: [67151895] check-in: [6a513c05] user: drh branch: sessions, size: 11960
14:39
Merge enhancements from trunk. file: [efb7a8c1] check-in: [25ee3000] user: drh branch: cursor-hints, size: 11995
13:46
Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help with code generation, especially on PRAGMAs. Rename sqlite3VdbeAddGoto() to just sqlite3VdbeGoto(). file: [4bc88bd0] check-in: [847387ec] user: drh branch: trunk, size: 11829
2015-09-02
18:40
Add and use the sqlite3VdbeChangeOpcode() routine. Simplify the implementation of the other sqlite3VdbeChange*() routines. file: [4297a88c] check-in: [0a5b00e4] user: drh branch: trunk, size: 11728
18:19
Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for sqlite3VdbeAddOp2(v,OP_Goto,0,i). file: [8bbc9825] check-in: [be78f413] user: drh branch: trunk, size: 11677
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: [529bb4a7] check-in: [82a7a61b] user: drh branch: cursor-hints, size: 11808
2015-06-30
16:29
Merge all the latest enhancements from trunk. This merge include FTS5 and a number of notable performance enhancements. file: [d0f8ab91] check-in: [39936b33] user: drh branch: sessions, size: 11773
2015-06-26
18:16
Cache the sqlite3_context structure in the P4 operand of VDBE programs for faster SQL function dispatch. file: [7a75045d] check-in: [2abc44eb] user: drh branch: trunk, size: 11642
2015-06-17
18:18
Merge all recent enhancements and fixes from trunk. file: [218e9575] check-in: [199bfb67] user: drh branch: sessions, size: 11632
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: [90048aea] check-in: [f167bba4] user: drh branch: column-usage-hint, size: 11501
2015-04-12
01:33
Merge all recent trunk enhancements into the sessions branch. file: [01d8c35c] check-in: [5f14f34f] user: drh branch: sessions, size: 11568
2015-03-30
12:06
Improve performance of multi-field sorts where the first field has a low cardinality. file: [7e538ecf] check-in: [601e7b6b] user: dan branch: sorter-opt, size: 11437
2014-11-18
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: [b434bb75] check-in: [f09055f3] user: drh branch: sessions, size: 11488
2014-11-06
03:55
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. file: [6fc69d9c] check-in: [f9684000] user: drh branch: scanstatus, size: 11357
2014-11-03
11:25
Remove unused variable from struct WhereInfo. Add some explanatory comments to new code. file: [d412bd01] check-in: [f5313e0c] user: dan branch: scanstatus, size: 11354
2014-11-01
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: [7d603b93] check-in: [9ea37422] user: dan branch: scanstatus, size: 11356
2014-10-31
20:11
Add the experimental sqlite3_stmt_scanstatus() API. file: [f8e53881] check-in: [6a9bab34] user: dan branch: scanstatus, size: 11884
2014-10-23
17:26
Add debugging code to count the number of iterations of each loop made as part of statement execution. file: [6bf91795] check-in: [c6a5b67a] user: dan branch: debug-loopcounters, size: 11394
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: [d5825ae5] check-in: [5e5d6e86] user: drh branch: faster-OP_Column, size: 11239
2014-09-21
22:49
Merge all recent trunk changes into the sessions branch. file: [d61daeff] check-in: [6406b77f] user: drh branch: sessions, size: 11324
2014-09-16
14:37
Reduce the number of arguments to RecordCompare functions from 4 to 3, resulting in a small performance increase. file: [09f5b4e3] check-in: [8239c35a] user: drh branch: micro-optimizations, size: 11193
2014-08-29
11:24
Add the sqlite3VdbeChangeDest() routine that can be used to eliminate OP_Move opcodes. file: [63f9d3e7] check-in: [8c57bcc3] user: drh branch: experimental, size: 11255
2014-06-30
20:02
Merge the latest trunk enhancements into the sessions branch. file: [ca3b6df2] check-in: [a5d94eab] user: drh branch: sessions, size: 11332
2014-06-28
14:28
Change the VDBE to export the sqlite3MemCompare() routine and thus free where.c from the dependency on vdbeInt.h. file: [c63fad05] check-in: [d186d1ac] user: drh branch: stat4-skipscan, size: 11201
2014-04-03
16:35
Merge all recent changes from trunk, including the fix for the OP_SCopy-vs-OP_Copy problem. file: [d03fcf47] check-in: [9515c834] user: drh branch: sessions, size: 11269
2014-03-28
03:12
Enhance the sqlite3VdbeRecordCompare() routines so that if they encounter database corruption, they will set the UnpackedRecord.isCorrupt field and return 0. The sqlite3BtreeMovetoUnpacked() routine detects this and returns SQLITE_CORRUPT, causing the corruption to be reported back to the top-level. file: [39446490] check-in: [7fa85eaa] user: drh branch: trunk, size: 11138
2014-03-11
01:48
Version 3.8.4 for sessions (plus two minor fixes). file: [e8e1219a] check-in: [917c4108] user: drh branch: sessions, size: 11281
2014-03-10
18:03
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. file: [fb2c48c1] check-in: [0a5318bc] user: drh branch: trunk, size: 11150
2014-03-04
14:34
Merge the performance enhancements of trunk (and some obscure bug fixes) into the sessions branch. file: [6631430d] check-in: [7f51ad97] user: drh branch: sessions, size: 11204
2014-03-03
18:25
Fix compiler warnings. file: [d189f924] check-in: [ba899372] user: drh branch: experimental, size: 11073
2014-03-01
19:44
Remove the vdbeRecordCompareLargeHeader function. Fix some other details. file: [c6dc01f8] check-in: [3861e853] user: dan branch: experimental, size: 11061
2014-02-27
20:44
Further changes to sqlite3VdbeRecordCompare(). file: [6833579f] check-in: [57089374] user: dan branch: experimental, size: 11115
2014-02-25
21:01
Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state. file: [0758eff7] check-in: [85206e0b] user: dan branch: experimental, size: 11055
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: [147027d6] check-in: [4df0ac90] user: drh branch: trunk, size: 10934
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: [6c703cce] check-in: [c1e94169] user: drh branch: trunk, size: 10934
2014-02-17
22:40
Add logic to do test coverage measurements on the VDBE code. file: [f429f5e5] check-in: [ce184c7b] user: drh branch: insert-optimization, size: 9704
2014-01-24
14:05
Bring in all the latest trunk changes, including the Common Table Expressions implementation. file: [06016671] check-in: [9b43e559] user: drh branch: sessions, size: 9378
2014-01-04
16:49
Omit OP_Close operations that occur immediately prior to OP_Halt and which cannot be jumped over. file: [e6c4c610] check-in: [874b7e99] user: drh branch: trunk, size: 9247
2014-01-02
19:35
Avoid unnecessary affinity transformations when building indices using data from a table. file: [298e0492] check-in: [10d85135] user: drh branch: trunk, size: 9240
2013-12-24
12:09
Merge the latest trunk changes into the sessions branch. file: [4c15d2c9] check-in: [cfd110bf] user: drh branch: sessions, size: 9330
2013-12-18
15:11
Show changes to the column cache when PRAGMA vdbe_addoptrace=ON is set. file: [c3278ab2] check-in: [4c6a659c] user: drh branch: column-cache-debug, size: 9199
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: [57b87844] check-in: [3a9bec52] user: drh branch: cursor-hints, size: 9367
2013-11-14
19:18
Merge the skip-scan optimization into the sessions branch. file: [b7bfa7b4] check-in: [7596d1bf] user: drh branch: sessions, size: 9332
2013-11-13
17:58
Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify some of the other debugging logic. file: [c06f0813] check-in: [8ce33f4c] user: drh branch: trunk, size: 9201
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: [c7aa561d] check-in: [5addd123] user: drh branch: sessions, size: 9370
2013-11-06
19:59
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. file: [8d5a7351] check-in: [defd5205] user: drh branch: omit-rowid, size: 9239
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: [6a52f68c] check-in: [54b22192] user: drh branch: omit-rowid, size: 9682
2013-10-30
15:52
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. file: [c18a2dd9] check-in: [6d9af606] user: drh branch: omit-rowid, size: 9519
02:28
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. file: [6bdee35c] check-in: [e1a89b56] user: drh branch: trunk, size: 9092
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: [7aa3ab62] check-in: [7e1acb39] user: drh branch: sessions, size: 9182
2013-08-01
12:21
Refactor internal function name sqlite3VdbeGetValue() to sqlite3VdbeGetBoundValue(). file: [4f554b56] check-in: [81834c30] user: drh branch: partial-indices, size: 9051
2013-07-18
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: [f380af2a] check-in: [71effa59] user: dan branch: typo, size: 9046
2012-10-30
21:03
Pull all the latest trunk enhancements into the sessions branch. file: [1223e254] check-in: [fce667f2] user: drh branch: sessions, size: 9348
2012-10-26
00:11
Make sure all virtual table cursors have been closed on a prepared statement prior to unlinking the perpared statement from its database connection. file: [b5288727] check-in: [f7c5abe8] user: drh branch: deferred-close-order, size: 9217
2012-01-05
13:02
Merge all of the latest trunk changes into the sessions branch. file: [87b8ff40] check-in: [a9bcb432] user: drh branch: sessions, size: 9349
2011-12-09
13:24
Modify the OP_Once opcode so that it works correctly in trigger sub-programs. This is a candidate fix for [7bbfb7d442]. file: [18f581ca] check-in: [557c6905] user: dan branch: trunk, size: 9218
2011-09-16
19:40
Merge the latest trunk changes into the sessions branch. file: [226d4bc7] check-in: [5efb0294] user: drh branch: sessions, size: 9280
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: [f0725ee9] check-in: [7f00552b] user: drh branch: tkt-002caede898, size: 9149
2011-09-14
19:41
Merge latest changes from the trunk into the sessions branch. file: [a3308e58] check-in: [c00e45ed] user: dan branch: sessions, size: 9287
2011-09-05
14:20
Refactor the sqlite3VdbeRecordUnpack() interface to better accommodate the vdbesort.c module. file: [a10b360b] check-in: [f115b230] user: dan branch: trunk, size: 9156
2011-08-27
18:48
Experimental changes to improve the performance of OP_Next. file: [c1eeedac] check-in: [1a249845] user: dan branch: experimental, size: 9135
2011-08-26
19:20
Merge the latest trunk changes into the sessions branch. file: [ee8ba024] check-in: [eb036d6f] user: drh branch: sessions, size: 9148
2011-08-24
15:12
Fix some harmless compiler warnings. file: [2bf6ec77] check-in: [46f5a68b] user: drh branch: trunk, size: 9017
2011-06-20
10:44
Merge the latest trunk changes into the sessions branch. file: [322af148] check-in: [4c5e276c] user: drh branch: sessions, size: 9148
2011-06-03
20:11
Create and use a function especially for adding the ParseSchema opcode. This gives a small reduction in code and a small performance increase. file: [5cf09e7e] check-in: [957b2ab6] user: drh branch: trunk, size: 9017
2011-06-01
18:15
Refactor the SQL parameter processing so that parameter names for values that are optimized out of the prepare statement are not forgotten. file: [d9c61233] check-in: [b3aaf715] user: drh branch: trunk, size: 8966
2011-04-05
13:27
Pull the latest trunk changes (and hence the schema-parse-refactor changes) into the sessions branch. file: [44fd57ae] check-in: [03ca8342] user: drh branch: sessions, size: 9083
12:25
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. file: [8a675fef] check-in: [bf664b20] user: drh branch: trunk, size: 8952
2011-03-19
08:38
Fix a problem with INTEGER PRIMARY KEY columns and the pre-update hook. file: [edef9c4f] check-in: [24d4d5dd] user: dan branch: sessions, size: 9083
2010-07-26
13:58
Fix an issue with P4_MEM and the schema size measurement logic. Also fix a compiler warning. file: [4de0efb4] check-in: [8166f338] user: drh branch: experimental, size: 8952
12:05
Change the way SubProgram objects are deleted so that the code is the same for deletion and measurement. file: [e1b91019] check-in: [00e55102] user: dan branch: experimental, size: 9013
2010-07-24
11:28
Experimental code to measure memory consumed by database schemas and prepared statements. file: [7c5de1c7] check-in: [9aa30342] user: dan branch: experimental, size: 8998
2010-02-25
14:47
Expire pragma statements when reset, even if they were not run to completion. file: [471f6a3d] check-in: [78351d28] user: drh branch: trunk, size: 8881
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: [bea1f0cd] check-in: [545cfb3b] user: drh branch: trunk, size: 8845
2009-11-14
23:22
Optimizations to the main loop inside sqlite3VdbeExec() to help VDBE byte code run a few percent faster. file: [5f357506] check-in: [d622ac6a] user: drh branch: trunk, size: 8762
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: [65cd747e] check-in: [b9eab885] user: drh branch: trunk, size: 8742
2009-11-10
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. file: [7b06b21f] check-in: [f6c045f6] user: drh branch: trunk, size: 8689
2009-10-26
22:08
Remove some obsolete code within #if 0 that was causing developer concern. file: [449323a2] check-in: [1d64e945] user: drh branch: trunk, size: 8753
2009-10-19
18:11
Remove the sqlite3_reoptimize() API. The same functionality is now provided automatically to queries prepared using prepare_v2(). file: [3fedb212] check-in: [2c50b3d5] user: dan branch: trunk, size: 8834
2009-10-15
18:35
Add the experimental sqlite3_reoptimize() API. file: [1fb725c3] check-in: [9bd6f3d8] user: dan branch: experimental, size: 8837
2009-09-10
16:14
Fix a problem with the sqlite3VdbeMayAbort() assert failing following an OOM. file: [7d5075e3] check-in: [b3027863] user: dan branch: trunk, size: 8742
2009-09-09
11:37
Add a complicated assert() to check that statement transactions are opened when required. file: [13e00f57] check-in: [28aa1f4e] user: dan branch: trunk, size: 8730
2009-09-08
19:15
Combine the OP_Statement and OP_Transaction opcodes. file: [afd9c995] check-in: [aec9dbd8] user: dan branch: trunk, size: 8696
2009-08-28
18:53
Changes to support recursive triggers. file: [080fe6bc] check-in: [9b9c1921] user: dan branch: trunk, size: 8692
2009-07-24
17:58
Allow virtual tables to be used in shared-cache mode. (CVS 6928) file: [457b6c70] check-in: [5d9e767a] user: danielk1977 branch: trunk, size: 7891
2009-04-10
00:56
Force 8-byte alignment of sqlite3_value objects in the sqlite3VdbeUnpackRecord() primitive. Ticket #3777. (CVS 6479) file: [35a648bc] check-in: [2cc68272] user: drh branch: trunk, size: 7883
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: [d70a68be] check-in: [d9f6ffbc] user: danielk1977 branch: trunk, size: 7942
2008-10-31
10:53
Change the way sqlite3VdbeSetColName() is called so as to remove a few lines of code. This also fixes #3470. (CVS 5853) file: [03516f28] check-in: [bfce9142] user: danielk1977 branch: trunk, size: 7937
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: [41c99aaa] check-in: [00b17798] user: drh branch: trunk, size: 7918
2008-08-13
19:11
Additional changes toward fixing ticket #3292. (CVS 5562) file: [17bcc2b4] check-in: [0b92cbf5] user: drh branch: trunk, size: 7867
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: [ccca49ce] check-in: [055f173a] user: drh branch: trunk, size: 7917
2008-08-01
20:10
Bring test coverage up to 99%. (CVS 5522) file: [647fcf33] check-in: [2cd6bae8] user: drh branch: trunk, size: 7913
2008-06-25
00:12
The compound-select merge optimization passes quick.test with no errors. (CVS 5299) file: [c46155c2] check-in: [8bbfa978] user: drh branch: trunk, size: 7918
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: [1246ace5] check-in: [08311365] user: drh branch: trunk, size: 7787
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: [1e3722d4] check-in: [9883b406] user: shane branch: trunk, size: 7617
2008-05-01
17:03
Fix harmless compiler warnings. (CVS 5073) file: [f4bb7096] check-in: [227a6f67] user: drh branch: trunk, size: 7600
2008-04-11
14:56
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) file: [bfd84bda] check-in: [25899555] user: drh branch: trunk, size: 7554
2008-03-26
18:34
Changes to delay freeing buffers associated with vdbe memory cells until either sqlite3_finalize() or sqlite3_release_memory() is called. (CVS 4922) file: [f72201a0] check-in: [8c2f6952] user: danielk1977 branch: trunk, size: 7566
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: [ecca2e1c] check-in: [ee381b43] user: drh branch: trunk, size: 7518
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: [0fef6798] check-in: [0e1d84f2] user: drh branch: trunk, size: 7526
2008-03-22
01:07
Add the SQLITE_OMIT_DECLTYPE compile-time option. Remove more code when SQLITE_ENABLE_COLUMN_METADATA is not defined. (CVS 4906) file: [93acc03f] check-in: [8ef26646] user: drh branch: trunk, size: 7275
2008-01-17
17:27
Remove unused p4 element from the {quote: VdbeOpList} object. (CVS 4720) file: [58a7d931] check-in: [1c37d7b6] user: drh branch: trunk, size: 7054
2008-01-09
18:31
Fix the build for AIX and other systems where "char" is unsigned by default. (CVS 4699) file: [a9166e16] check-in: [47672af0] user: drh branch: trunk, size: 7099
2008-01-08
23:54
Registerify the comparison opcodes. (CVS 4697) file: [c686e1b7] check-in: [8862ce9c] user: drh branch: trunk, size: 7099
2008-01-03
11:50
Change the VdbeOp.p4 union to include specific pointer types for the various values of VdbeOp.p4type. (CVS 4667) file: [bb128757] check-in: [7e8330c8] user: danielk1977 branch: trunk, size: 7117
09:51
Change the OP_Insert opcode to read the key and data to insert from memory cells, not the stack. (CVS 4666) file: [433a955b] check-in: [46501f49] user: danielk1977 branch: trunk, size: 6390
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: [ad5fd7aa] check-in: [35da261d] user: danielk1977 branch: trunk, size: 6340
01:28
Revamp sqlite3VdbeAddOpList() so that the structure holds integer values for P1, P2, and P3. (CVS 4661) file: [0d29000e] check-in: [4dc507d8] user: drh branch: trunk, size: 6281
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: [c50dd0ad] check-in: [027875e4] user: drh branch: trunk, size: 6236
2008-01-02
17:25
Add operands p4 and p5 to the VdbeOp structure. (CVS 4659) file: [5c9ed634] check-in: [ad528735] user: drh branch: trunk, size: 6142
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: [a042e6d3] check-in: [051ec01f] user: drh branch: trunk, size: 5995
2007-11-14
06:48
Add an experimental API for retrieving the SQL source from a compiled statement: sqlite3_sql(). Ticket #2769. (CVS 4543) file: [79e09ff1] check-in: [d31f1e0d] user: danielk1977 branch: trunk, size: 5666
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: [856360de] check-in: [7e30fd6a] user: drh branch: trunk, size: 5696
2007-08-30
01:19
Fix for the sqlite3AbortOtherActiveVdbes() problem. (CVS 4328) file: [03a0fa17] check-in: [e40d40a5] user: drh branch: trunk, size: 5566
2007-08-28
22:24
Clean up the locking in the btree logic. (CVS 4316) file: [498e9dda] check-in: [967ab229] user: drh branch: trunk, size: 5574
02:27
Work toward correct btree locking in a multithreaded environment. (CVS 4307) file: [5b3ee0fd] check-in: [b8cc493b] user: drh branch: trunk, size: 5573
2007-05-08
21:45
Remove compiler warnings in the amalgamation. (CVS 3960) file: [001c5b25] check-in: [c5754530] user: drh branch: trunk, size: 5527
20:37
Fix the amalgamation generator so that all non-API functions have file scope. (CVS 3958) file: [a6c910b7] check-in: [e9f56ead] user: drh branch: trunk, size: 5543
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: [0025259a] check-in: [43fe7fc1] user: drh branch: trunk, size: 5595
2007-01-08
21:07
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) file: [f20886fb] check-in: [3401388d] user: drh branch: trunk, size: 5555
2006-11-09
00:24
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) file: [9720cae6] check-in: [f1efae92] user: drh branch: trunk, size: 5558
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: [258b5d1c] check-in: [29199eee] user: drh branch: trunk, size: 5429
01:04
Progress toward getting the virtual-table code generator to work. (CVS 3220) file: [f72e5c00] check-in: [3532f134] user: drh branch: trunk, size: 5350
2006-06-11
23:41
Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211) file: [190d85a3] check-in: [898ec36b] user: drh branch: trunk, size: 5273
2006-03-17
13:56
Miscellaneous code cleanup. (CVS 3143) file: [44ff995a] check-in: [8f60139f] user: drh branch: trunk, size: 5274
2006-02-10
03:06
Add a symbol P3_TRANSIENT to pass to VdbeSetColName() to make it copy the string parameter up to the first 0 byte. (CVS 3070) file: [80ba1c39] check-in: [6ebb8f9b] user: danielk1977 branch: trunk, size: 5228
02:27
Add the column_origin_name() etc. APIs. (CVS 3069) file: [12e2326f] check-in: [82f502cd] user: danielk1977 branch: trunk, size: 5157
2005-09-20
17:42
Code cleanup and simplification. Three new Mem opcodes added. The sqlite3VdbeJumpHere function added. (CVS 2730) file: [8729a4ee] check-in: [2471957f] user: drh branch: trunk, size: 4806
2005-09-07
21:22
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) file: [c8e10597] check-in: [17039ec3] user: drh branch: trunk, size: 4763
2005-08-19
01:07
More test coverage enhancements. (CVS 2600) file: [3b29a9af] check-in: [0b6cd5ac] user: drh branch: trunk, size: 4767
2005-08-12
22:56
Optimize LIKE and GLOB operators in the WHERE clause. Code passes all regression tests but still needs additional tests. (CVS 2581) file: [68e80f65] check-in: [3edbe8d6] user: drh branch: trunk, size: 4812
2005-05-19
08:43
Always use a more specific type (P3_FUNCDEF) instead of P3_POINTER as the P3 type of a vdbe instruction. (CVS 2463) file: [75e466d8] check-in: [79a41674] user: danielk1977 branch: trunk, size: 4864
2005-03-23
01:48
Fix a typo in vdbeInt.h. This was potentially a serious mistake, but we got lucky and it is benign. (CVS 2418) file: [7f586cb6] check-in: [f0d64dc8] user: drh branch: trunk, size: 4926
2005-03-09
12:26
Support for a future ALTER TABLE command to add columns with default values. (CVS 2367) file: [7e307333] check-in: [9d5abc1d] user: danielk1977 branch: trunk, size: 4934
2005-01-29
08:32
Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286) file: [bb918648] check-in: [b1b50f31] user: danielk1977 branch: trunk, size: 4832
2004-09-06
17:24
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) file: [067ca8d6] check-in: [3ddf5a9d] user: drh branch: trunk, size: 4820
2004-08-21
17:54
Optimizations to the code generator. (CVS 1899) file: [e081c72c] check-in: [bd6649c5] user: drh branch: trunk, size: 4819
2004-06-27
21:31
Remove unused routines from vdbeaux.c. Improve test coverage. (CVS 1746) file: [75b241c0] check-in: [792b3c75] user: drh branch: trunk, size: 4811
2004-06-21
08:18
Ensure sqlite3ErrorMsg() is used to report errors during compilation, sqlite3Error() during execution. Also remove unused param from sqlite3VdbeReset() and Finalize(). (CVS 1647) file: [2d87155e] check-in: [7a33daef] user: danielk1977 branch: trunk, size: 4953
06:50
Update sqlite3_changes() to match the documentation and add sqlite3_total_changes(). (CVS 1645) file: [05edb8ec] check-in: [ae2f4a09] user: danielk1977 branch: trunk, size: 4968
2004-06-19
14:49
Omit the sqlite3VdbeCode() routine. Use sqlite3NameFromToken() more to reduce the amount of code. (CVS 1639) file: [9ad64674] check-in: [99d0436e] user: drh branch: trunk, size: 4923
2004-06-05
10:22
Add the sqlite3_set_auxdata() and sqlite3_get_auxdata() APIs. (CVS 1532) file: [46f74444] check-in: [c2899b43] user: danielk1977 branch: trunk, size: 4963
2004-05-26
16:54
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) file: [e73f890e] check-in: [36e03162] user: drh branch: trunk, size: 4883
10:11
Add some tests for the new API. Many more to come. (CVS 1462) file: [948cafed] check-in: [d5659f2e] user: danielk1977 branch: trunk, size: 4820
2004-05-25
23:35
Move the sqlite3_exec() function to legacy.c. (CVS 1455) file: [ebd59ee7] check-in: [9385ad5c] user: danielk1977 branch: trunk, size: 4762
2004-05-21
10:08
Further work on the new API. All the functions to execute queries are there now. (CVS 1427) file: [391d5642] check-in: [fc94575d] user: danielk1977 branch: trunk, size: 4723
01:29
Sorting bug fixes. Now only 17 tests fail. (CVS 1422) file: [d6f66896] check-in: [0736b7e8] user: drh branch: trunk, size: 4771
2004-05-20
22:16
Add internal support for collating sequences. This breaks 244 tests. (CVS 1420) file: [5bf4ad99] check-in: [a6cb09d7] user: drh branch: trunk, size: 4316
13:54
sqlite3MemCompare now takes a CollSeq* argument. (CVS 1419) file: [e75fe13a] check-in: [5c1e47a2] user: drh branch: trunk, size: 4636
2004-05-18
23:21
Add definitions of the CollSeq and KeyInfo structures. (CVS 1399) file: [314e9c07] check-in: [cd1be815] user: drh branch: trunk, size: 4565
10:06
Fix many problems with manifest types and column affinity. Most things are working now. (CVS 1393) file: [1d0d0b57] check-in: [ad4a9641] user: danielk1977 branch: trunk, size: 3939
2004-05-13
05:16
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) file: [94457ca7] check-in: [9f2b6d9d] user: danielk1977 branch: trunk, size: 4001
2004-05-12
11:24
Add some more code to support manifest typing in indices. Not activated yet. (CVS 1362) file: [71c02a75] check-in: [2f16c9ef] user: danielk1977 branch: trunk, size: 4023
2004-05-08
10:56
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) file: [2dc4d116] check-in: [2bca9224] user: drh branch: trunk, size: 3989
08:23
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) file: [3cf970b0] check-in: [8af6474c] user: danielk1977 branch: trunk, size: 3937
2004-02-22
20:05
Use sqliteVdbeOp3 instead of sqliteVdbeChangeP3 where applicable. (CVS 1266) file: [ac987945] check-in: [51f1e8f7] user: drh branch: trunk, size: 3902
2004-02-21
13:31
More code cleanup and size reduction. (CVS 1256) file: [b1b22ffc] check-in: [8e3eda2a] user: drh branch: trunk, size: 3813
2004-02-14
23:59
Eliminate obsolete code associated with the older callback functionality. (CVS 1243) file: [b9f6f1b5] check-in: [2dbc4593] user: drh branch: trunk, size: 3423
2003-09-06
22:18
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) file: [3957844e] check-in: [990bb118] user: drh branch: trunk, size: 3445
01:10
The beginnings of changes to support pre-compiled SQL. Mostly untested, though all regression tests to pass. (CVS 1093) file: [3c51cb38] check-in: [912f47c7] user: drh branch: trunk, size: 3441
2003-07-22
09:24
Add experimental sqlite_reset() API (allows pre-compiled queries) (CVS 1060) file: [d853ed6c] check-in: [1d2fcb01] user: danielk1977 branch: trunk, size: 3404
2003-04-03
01:50
Use a intermediate table when inserting a TEMP table from a SELECT that reads from that same TEMP table. Ticket #275. (CVS 895) file: [985c24f3] check-in: [087d1e83] user: drh branch: trunk, size: 3353
2003-01-29
18:46
Better error messages on constraint violations. Additional tests and bug fixes for the callback-free API. (CVS 854) file: [ed43771f] check-in: [ccc82f1a] user: drh branch: trunk, size: 3316
14:06
The callback-free API is now working, though much more testing is need. (CVS 853) file: [162071f1] check-in: [162b2591] user: drh branch: trunk, size: 3316
2003-01-28
23:13
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) file: [30b808a3] check-in: [065fa818] user: drh branch: trunk, size: 3564
2003-01-01
23:06
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) file: [754eba49] check-in: [a1c071ea] user: drh branch: trunk, size: 3333
2002-09-08
00:04
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) file: [b7584044] check-in: [eb54d455] user: drh branch: trunk, size: 3160
2002-08-28
03:00
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) file: [7cfeb3aa] check-in: [723362e7] user: drh branch: trunk, size: 7842
2002-08-25
19:20
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) file: [52ec880c] check-in: [c602603e] user: drh branch: trunk, size: 7803
2002-06-21
23:01
Fix for bugs #77 and #80: Rework the LIMIT mechanism to be reentrant and to clean up the VDBE stack properly. (CVS 636) file: [a9292f2b] check-in: [9d552310] user: drh branch: trunk, size: 7668
2002-06-20
11:36
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) file: [9b6e632b] check-in: [cbbc858d] user: drh branch: trunk, size: 7703
2002-06-14
22:38
Make the LIMIT clause work even if the destination of the SELECT is something other than a callback. (Ticket #66) (CVS 619) file: [fba15f32] check-in: [699cf362] user: drh branch: trunk, size: 7379
2002-06-08
23:25
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) file: [1742d6f8] check-in: [8481e841] user: drh branch: trunk, size: 7346
2002-05-26
20:54
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) file: [b8706429] check-in: [90511737] user: drh branch: trunk, size: 7280
2002-05-23
22:07
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) file: [def669b9] check-in: [c53b0b92] user: drh branch: trunk, size: 7247
2002-05-15
08:30
Added FOR EACH ROW triggers functionality (CVS 562) file: [126a651b] check-in: [794bf67b] user: danielk1977 branch: trunk, size: 7189
2002-04-20
14:24
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) file: [67840a46] check-in: [51572bf7] user: drh branch: trunk, size: 7114
2002-02-28
03:31
Remove unused opcodes from the VDBE and fix a bug in the substr() function. (CVS 405) file: [f9be1f6e] check-in: [e8611e0c] user: drh branch: trunk, size: 7180
00:41
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) file: [8ab845e6] check-in: [50797fee] user: drh branch: trunk, size: 7378
2002-02-27
19:00
Revise the API for user-defined functions. (CVS 398) file: [785b2f17] check-in: [633951f0] user: drh branch: trunk, size: 7378
2002-02-24
03:25
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) file: [98e445d6] check-in: [1e037eb3] user: drh branch: trunk, size: 7378
2002-02-23
23:45
Added support for user-defined normal functions. Support for user-defined aggregates is pending. (CVS 390) file: [c3be0216] check-in: [c490a1ff] user: drh branch: trunk, size: 7345
2002-02-21
12:01
Change the SQLITE_MASTER format to version 2 in preparation for adding views. (CVS 386) file: [002bb8cf] check-in: [b2a9807f] user: drh branch: trunk, size: 7280
2002-02-19
15:00
Optimize simple min() and max() queries. (CVS 382) file: [b4d35e15] check-in: [cc5abfe3] user: drh branch: trunk, size: 7247
13:39
Change the name of the sanity_check PRAGMA to "integrity_check" and make it available on all compiles. (CVS 381) file: [20a66257] check-in: [c6e9048e] user: drh branch: trunk, size: 7214
2002-02-03
03:34
The VACUUM command now does a database sanity check. (CVS 364) file: [3d49d22b] check-in: [95d1f838] user: drh branch: trunk, size: 7214
2002-02-02
18:49
Get the ABORT conflict resolution algorithm working. (CVS 362) file: [3791edab] check-in: [9be4d4c6] user: drh branch: trunk, size: 7214
2002-01-29
18:41
Beginning to insert the infrastructure for ON CONFLICT clauses. (CVS 355) file: [5b1bd518] check-in: [e00a9ff8] user: drh branch: trunk, size: 7181
2002-01-28
15:53
Bug fix: The IN operator was not working if either side derived from an INTEGER PRIMARY KEY. (CVS 354) file: [22d4df31] check-in: [dbcfe198] user: drh branch: trunk, size: 7065
2001-12-22
14:49
Bug fixing in the new integer primary key code. (CVS 334) file: [e5cc6fb1] check-in: [29cab124] user: drh branch: trunk, size: 6999
2001-11-08
00:45
The new code for taking advantage of inequalities in WHERE clauses is in place. It appears to work. (CVS 305) file: [cd4c8647] check-in: [262bcd17] user: drh branch: trunk, size: 6966
2001-11-07
16:48
New Next opcode and indexing style implemented. (CVS 304) file: [da7c0107] check-in: [decbeb91] user: drh branch: trunk, size: 6999
14:22
Incremental update. We are in the middle of modifying the index system to support range queries without doing a complete table scan. (CVS 303) file: [a1170446] check-in: [e6ca23fa] user: drh branch: trunk, size: 7098
2001-11-06
04:00
Implement indices that occur in sort order and the LIMIT...OFFSET clause of SELECT statements. (CVS 301) file: [ea71a2c2] check-in: [eb07768a] user: drh branch: trunk, size: 6933
2001-11-04
18:32
Increase maximum row size to 1MB. (CVS 300) file: [c29e6fdf] check-in: [7dd58fad] user: drh branch: trunk, size: 6998
2001-11-01
14:41
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) file: [4a587ec5] check-in: [e1370276] user: drh branch: trunk, size: 6992
2001-10-19
16:44
Version 2.0.6 (CVS 291) file: [f8407fd6] check-in: [8467d84f] user: drh branch: trunk, size: 7091
2001-10-13
02:59
2.0.3 (CVS 287) file: [86fc2ef4] check-in: [75e90cf0] user: drh branch: trunk, size: 7058
01:06
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) file: [21e4aede] check-in: [288ef124] user: drh branch: trunk, size: 6958
2001-10-12
17:30
Fix an assertion failure when the disk fills up. Add tests for a full disk situation. (CVS 285) file: [adecb0f3] check-in: [0a7848b6] user: drh branch: trunk, size: 6666
2001-10-08
13:22
Support for temporary tables added. Still need more testing. (CVS 279) file: [7eb7e9e6] check-in: [9368c62e] user: drh branch: trunk, size: 6502
2001-09-27
15:11
Fixed the support of UNIQUE and PRIMARY KEY. (CVS 268) file: [c543a58f] check-in: [116fdad0] user: drh branch: trunk, size: 6436
2001-09-23
02:35
Fixes to the locking and rollback behavior. (CVS 261) file: [dc1d4414] check-in: [337b3d3b] user: drh branch: trunk, size: 6453
2001-09-16
00:13
Disclaimed copyright. Preparing for release 2.0. (CVS 250) file: [900b59b4] check-in: [4e926efe] user: drh branch: trunk, size: 6420
2001-09-15
00:57
Everything is working on Linux. This is release 2.0-Alpha-1. (CVS 246) file: [b9d60d90] check-in: [14474fa1] user: drh branch: trunk, size: 6975
2001-09-13
21:53
Many problems fixed. Many problems yet to go. (CVS 242) file: [9f32bd12] check-in: [62c7bd11] user: drh branch: trunk, size: 6875
14:46
The BTree changes are now integrated and the whole thing compiles and links. I have not yet tried to run it, though. (CVS 239) file: [6ee941ec] check-in: [a0a1e701] user: drh branch: trunk, size: 6842
13:46
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) file: [533068ed] check-in: [6ecc8b20] user: drh branch: trunk, size: 6842
2001-08-19
18:19
Add index access methods to the DBBE in preparation for adding a new DBBE for the btree.c module. (CVS 236) file: [5331b9a3] check-in: [c15f6ffc] user: drh branch: trunk, size: 6463
2001-04-04
11:48
Added transaction support (CVS 196) file: [dc1205da] check-in: [35a8feed] user: drh branch: trunk, size: 6463
2001-02-19
23:23
Repairs to the previous fix (CVS 186) file: [031b7dd7] check-in: [4fb52b48] user: drh branch: trunk, size: 6463
2001-01-15
22:51
continued progress toward version 2.0 (CVS 177) file: [d94224ad] check-in: [c6ffb7ec] user: drh branch: trunk, size: 6430
2000-10-16
22:06
Added an interrupt capability (CVS 153) file: [140cdec3] check-in: [f7ea08b9] user: drh branch: trunk, size: 6397
2000-10-11
19:28
Misc cleanup. Notes on compiling for Win95. (CVS 152) file: [8ca755f7] check-in: [3f0f1fa1] user: drh branch: trunk, size: 6395
2000-08-28
15:51
Added length() and substr() functions (CVS 143) file: [6413cd01] check-in: [0eef538f] user: drh branch: trunk, size: 6355
2000-07-28
14:32
added the sqlite_busy_handler() interface (CVS 109) file: [6c565324] check-in: [4fe8e51c] user: drh branch: trunk, size: 6288
2000-06-11
23:50
added the fcnt() function for testing (CVS 92) file: [5f58611b] check-in: [0f93c27c] user: drh branch: trunk, size: 6232
2000-06-06
21:56
:-) (CVS 62) file: [8f79f57c] check-in: [f4d9089c] user: drh branch: trunk, size: 6198
01:50
:-) (CVS 55) file: [49e0f9c6] check-in: [bd8b2645] user: drh branch: trunk, size: 6165
2000-06-05
21:39
added Agg opcodes to the vdbe (CVS 54) file: [7b3cd6b1] check-in: [e9ed5d2a] user: drh branch: trunk, size: 5966
18:54
:-) (CVS 52) file: [5fd02cb5] check-in: [c02268bd] user: drh branch: trunk, size: 5767
2000-06-04
12:58
rework the VDBE engine. NULL is now distinct from "" (CVS 49) file: [f20a3140] check-in: [6ea5cebf] user: drh branch: trunk, size: 5700
2000-05-31
20:00
added DISTINCT on select (CVS 27) file: [ab574c91] check-in: [1f0c4ffd] user: drh branch: trunk, size: 5667
02:27
:-) (CVS 20) file: [02b470d3] check-in: [01d85b35] user: drh branch: trunk, size: 5634
2000-05-30
16:27
:-) (CVS 15) file: [03de2663] check-in: [8d66c735] user: drh branch: trunk, size: 5533
2000-05-29
14:26
initial check-in of the new version (CVS 1) file: [e721ad30] check-in: [6f3655f7] user: drh branch: trunk, size: 5400 Added