/ File History
Login

History of src/insert.c

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: [5fa74146] check-in: [266a99f7] user: drh branch: upsert, size: 91964
2018-04-17
20:06
Fixes to the logic for constraint check reordering during upsert. Improved comments on constraint check bytecode. Add an assert that prevents the same label from being resolved more than once. file: [326dfb5d] check-in: [1ddbb0ff] user: drh branch: upsert, size: 91118
18:18
Simplification to the upsert logic. file: [771dc763] check-in: [f36d07a5] user: drh branch: upsert, size: 91084
18:16
Add some more simple test cases for UPSERT. And a minor fix. file: [6d9c6ab7] check-in: [27cd3b2f] user: dan branch: upsert, size: 91295
2018-04-16
13:00
Add support for the "excluded.*" names in the UPDATE clause of an upsert. file: [33f002c7] check-in: [0203f34f] user: drh branch: upsert, size: 91305
2018-04-14
20:24
Make sure constraint checks occur in the correct order, even in the presence of upserts. file: [be6ece16] check-in: [07fb30c3] user: drh branch: upsert, size: 91273
2018-04-13
21:55
First cut at logic to perform DO UPDATE for rowid tables. file: [04908e34] check-in: [a9080bc8] user: drh branch: upsert, size: 87607
18:59
Add infrastructure for doing an UPDATE as part of an UPSERT. Still no actual UPDATE code, however. file: [a5955b78] check-in: [6d3017f9] user: drh branch: upsert, size: 87555
16:29
Merge the preupdate hook change from trunk. file: [289011fe] check-in: [7353caab] user: drh branch: upsert, size: 87198
16:23
Remove an always-true branch from the preupdate hook logic. file: [752740e4] check-in: [0ab45188] user: drh branch: trunk, size: 86264
15:14
Get the ON CONFLICT DO NOTHING form of upsert working by mapping it into INSERT OR IGNORE. file: [c98142d2] check-in: [d07f05e9] user: drh branch: upsert, size: 87218
13:06
Back off of the extended upsert syntax that allows multiple ON CONFLICT clauses. The syntax now is exactly as in PostgreSQL and MySQL. Add support for WHERE clauses on the conflict-target phrase, for partial indexes. file: [86652dd3] check-in: [2c1b1987] user: drh branch: upsert, size: 86653
01:15
Begin adding upsert logic. This is an incremental check-in. file: [5139585f] check-in: [80969643] user: drh branch: upsert, size: 86621
2018-04-12
13:15
Add the Upsert object for holding upsert clause information. file: [aca5346d] check-in: [d83eaed5] user: drh branch: upsert, size: 86390
2018-04-07
15:04
More complete parsing of UPSERT, including UPSERT within a trigger. The sqlite3Insert() logic to actually perform the UPSERT is not yet implemented, however. file: [5e7a7dd6] check-in: [5cc2a5a3] user: drh branch: upsert, size: 86555
2018-03-16
18:46
Avoid writing the sqlite_sequence table when it has not actually changed. file: [b9ff71cc] check-in: [3e3849a9] user: drh branch: autoinc-enhancement, size: 86284
2018-01-02
18:11
In the constraint resolution logic, be careful not to cache column values in registers whose initialization might be bypassed by an OP_NoConflict opcode. Fix for ticket [dc3f932f5a147771] reported by OSSFuzz. file: [14686083] check-in: [2846458a] user: drh branch: trunk, size: 86005
2017-11-14
23:48
In the parse tree, combine LIMIT and OFFSET into a single expression rooted on a TK_LIMIT node, for a small code size reduction and performance increase, and a reduction in code complexity. file: [cb67cc56] check-in: [3925facd] user: drh branch: trunk, size: 85938
2017-10-31
03:40
Remove unnecessary NEVER() and ALWAYS() conditionals. file: [c7f33354] check-in: [1c80c75d] user: drh branch: trunk, size: 86002
2017-10-03
17:17
Remove an unused variable from sqlite3Insert() and fix harmless compiler warnings associated with -DSQLITE_MUTATION_TEST. file: [1f33ef4c] check-in: [7be760e9] user: drh branch: trunk, size: 85991
2017-08-01
19:53
Split the OP_Last opcode into OP_Last and OP_SeekEnd. Use OP_SeekEnd to position a cursor prior to appending. Ticket [cb91bf4290c211d]. file: [d2d1bf12] check-in: [3e02474c] user: drh branch: trunk, size: 86142
2017-07-26
19:59
Add the new sqlite3.mDbFlags field. Factor out bits of sqlite3.flags that do not interact with PRAGMA statements into sqlite3.mDbFlags. file: [b88a58ff] check-in: [3808a00f] user: drh branch: trunk, size: 86147
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: [487d2c1c] check-in: [22eda098] user: drh branch: index-on-date-func, size: 86132
2017-06-24
18:10
Consider the values bound to SQL variables when determining whether or not a partial index may be used. file: [bb70abf3] check-in: [7b59c353] user: dan branch: partial-index-variables, size: 86087
2017-06-03
20:09
Initialize a variable to zero to prevent an (incorrect) compiler warning of it potentially being uninitialized. file: [974499a3] check-in: [65182ce0] user: drh branch: trunk, size: 86081
2017-05-31
13:27
Remove a completely unnecessary memset() from the INSERT code generator. file: [ea52232b] check-in: [7d58836b] user: drh branch: trunk, size: 86017
2017-03-23
17:03
Remove an invalid assert() statement failing when VACUUMing a database that contains an index on a column explicitly declared "COLLATE BINARY". file: [d4bb3a13] check-in: [9f2e04d3] user: dan branch: trunk, size: 86051
2017-02-16
14:48
Always use the IsVirtual() macro to determine if a Table object is a virtual table. Slightly smaller and faster code. file: [3ed64afc] check-in: [6affb1c8] user: drh branch: trunk, size: 86161
2017-02-14
20:00
Enable the SQLITE_ENABLE_NULL_TRIM option for WITHOUT ROWID tables. file: [891f6789] check-in: [54836270] user: drh branch: trunk, size: 86185
2017-01-30
19:44
Experimental change to invoke the preupdate hook when WITHOUT ROWID tables are written. file: [444354c2] check-in: [856f8604] user: dan branch: preupdate-without-rowid, size: 86002
2017-01-25
20:55
Trim NULL values off the end of records when the SQLITE_ENABLE_NULL_TRIM compile-time option is used. Increase the size of the P5 operand to 16 bits. Fix a problem with short records in the sessions extension. file: [8183e177] check-in: [4801bd59] user: drh branch: trunk, size: 85777
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: [07ccec2c] check-in: [118ded40] user: drh branch: trim-nulls, size: 85739
2017-01-10
20:04
Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. file: [05e47e2d] check-in: [46db23cc] user: dan branch: onepass-update, size: 85141
2017-01-09
15:44
Modify the OP_RowData opcode so that when P3!=0 it is allowed to hold an ephemeral copy of the content. This avoids unnecessary memcpy() operations in the xfer-optimization and VACUUM. file: [7761fd63] check-in: [6e106acd] user: drh branch: trunk, size: 84949
2017-01-07
14:26
Critical fix to the previous check-in so that it works when there are BEFORE triggers that move the cursor before the OP_Delete has a chance to be applied. file: [3b7fbb14] check-in: [db2c0960] user: drh branch: trunk, size: 84973
03:26
Avoid an unnecessary btree seek while deleting an index entry due to a conflict on a REPLACE operation. file: [ad2a0b27] check-in: [f0495c51] user: drh branch: trunk, size: 84943
2017-01-05
06:57
Fix some problems with foreign key processing within REPLACE ops on WITHOUT ROWID tables with no triggers or auxiliary indexes. file: [7af46a3b] check-in: [c1220b1a] user: dan branch: replace-fix, size: 84937
2017-01-04
22:02
Improved the comment on the block of code the provides the performance optimization originally added by check-in [925840cfdb]. The original check-in omitted condition 4, which was the cause of bug [30027b613b]. file: [895995ac] check-in: [c6506b82] user: drh branch: replace-fix, size: 84728
20:13
Possible fix for [30027b61]. There may still be problems surrounding foreign key processing. file: [1e0c2b61] check-in: [71ccb1f4] user: dan branch: replace-fix, size: 84261
2016-12-08
01:38
More changes to take advantage of the sqlite3VdbeAppendP4() method. file: [91ba5d01] check-in: [83bc5e40] user: drh branch: trunk, size: 84131
2016-12-07
21:35
Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recently coded instruction. file: [4f92d50c] check-in: [28883e8f] user: drh branch: trunk, size: 84099
2016-11-25
19:32
Remove the OP_RowKey opcode. Use OP_RowData in its place. file: [2f8d2c1f] check-in: [6ac7b07a] user: drh branch: trunk, size: 84123
2016-11-21
21:33
Remove unnecessary OP_Close opcodes at the end of INSERT operations, resulting in smaller and faster code. file: [b07f9299] check-in: [abeddb6d] user: drh branch: trunk, size: 84122
2016-11-20
17:59
Fix harmless compiler warnings. file: [24a42864] check-in: [b3b7b42d] user: drh branch: trunk, size: 84390
2016-11-15
02:46
Make the VACUUM command about 9% faster by avoiding unnecessary calls to sqlite3BtreeMovetoUnpacked() while copying rowid tables. file: [0d6e59f9] check-in: [5ed0bd38] user: drh branch: trunk, size: 84407
2016-11-14
15:28
Avoid unnecessary calls to sqlite3ExprCacheAffinityChange() when generating OP_MakeRecord opcodes that do not change any register affinities. file: [d47f9b4f] check-in: [e211c579] user: drh branch: trunk, size: 84145
2016-11-11
18:19
Remove obselete and unused logic in the update code generator. Fix the sqlite3BtreeMovetoUnpacked() routine so that it remembers the rowid of the row that it landed on. file: [0db6364a] check-in: [1a587d72] user: drh branch: unpacked-IdxInsert, size: 84201
2016-11-10
17:01
When doing a REPLACE on a WITHOUT ROWID table with no secondary indexes, bypass the OP_NoConflict/OP_Delete sequence and directly overwrite any preexisting row, for a performance increase. file: [40c64f0a] check-in: [f7041cbb] user: drh branch: unpacked-IdxInsert, size: 84395
16:07
Remove C++ style comments. No code changes. file: [63bec2cb] check-in: [42f8aa62] user: drh branch: unpacked-IdxInsert, size: 84193
14:24
Add the unpacked key fields to OP_IdxInsert for INSERT and UPDATE statements. file: [ba2f1015] check-in: [67602e40] user: drh branch: unpacked-IdxInsert, size: 84367
2016-11-09
16:03
Fix a simple comment typo. No changes to code. file: [515af5f5] check-in: [51d0aed8] user: drh branch: unpacked-IdxInsert, size: 84174
00:10
Enhance the OP_IdxInsert opcode to optionally accept unpacked key material. file: [dff61f28] check-in: [89d958ab] user: drh branch: unpacked-IdxInsert, size: 84173
2016-11-08
19:22
Avoid superfluous cursor seeks in "INSERT OR REPLACE" statements. file: [8c134630] check-in: [bec5b6d4] user: dan branch: trunk, size: 84162
2016-10-03
02:59
Make sure the sqlite_sequence table is updated when an optional xfer optimization is used. Fix for ticket [7b3328086a5c1]. file: [2d5e197f] check-in: [81e4d4f8] user: drh branch: trunk, size: 83431
2016-09-16
11:53
Fix SQLITE_OMIT_AUTHORIZATION so that it compiles cleanly. file: [427e96ff] check-in: [a3e3b3e1] user: drh branch: trunk, size: 83394
2016-09-07
11:27
Fix a problem in internal function sqlite3OpenTableAndIndices causing an operand of an unrelated VM instruction to be overwritten. Fix for [ef360601]. file: [bceb8351] check-in: [e5c30f22] user: drh branch: branch-3.14, size: 83321
2016-08-26
12:00
Fix a problem in internal function sqlite3OpenTableAndIndices causing an operand of an unrelated VM instruction to be overwritten. Fix for [ef360601]. file: [3edb5a1b] check-in: [70901479] user: dan branch: trunk, size: 83549
2016-08-19
14:20
Add the capability to VACUUM an attached database by specifying the schema name as an argument to the VACUUM command. Since version 2.0, VACUUM has accepted an argument which was silently ignored. Now it has meaning. file: [a255eb79] check-in: [29d63059] user: drh branch: vacuum-attached-db, size: 83546
2016-08-18
14:33
Rename the Db.zName field to Db.zDbSName to make it more descriptive and to distinguish it from all of the other "zName" variables scattered throughout the code. file: [d5cd8315] check-in: [92a22f01] user: drh branch: zDbSName, size: 83321
2016-03-04
16:42
Merge recent enhancements from trunk. Default page size is 4096. Writes to statement journals are avoided. file: [8f4e9fcb] check-in: [456df336] user: drh branch: sessions, size: 83318
2016-02-27
21:16
Eliminate the need for the Column.zDflt (using Column.pDflt instead) to reduce the amount of memory needed to hold the schema. file: [723d5d70] check-in: [d8c94a46] user: drh branch: trunk, size: 82815
17:16
Experimental "PRAGMA onconflict=FAIL" statement to change the default ON CONFLICT algorithm to something other than ABORT. file: [b42e0c7e] check-in: [3a0c347c] user: drh branch: pragma-onconflict, size: 82722
2016-02-13
14:07
Merge the changes for the 3.11.0 release candidate from trunk. file: [d5391735] check-in: [4d7a802e] user: drh branch: sessions, size: 83112
2016-02-10
19:10
Add testcase() macros to the CHECK constraint avoidance logic. Avoid creating an unused VDBE label during CHECK constraint code generation. file: [9ca97272] check-in: [970881be] user: drh branch: trunk, size: 82609
18:24
Fix to previous check-in: Make sure CHECK constraints involving the ROWID are not ignored when the ROWID changes. file: [6699f029] check-in: [7782cb1d] user: drh branch: trunk, size: 82373
16:52
Omit unnecessary CHECK constraints in UPDATE statements, when none of the columns referenced in the CHECK constraint are modified. file: [5b715b72] check-in: [02fbdbc7] user: drh branch: trunk, size: 81787
16:03
Omit NOT NULL checks on unchanging columns in an UPDATE. file: [f2e7592b] check-in: [6a3aaedf] user: drh branch: trunk, size: 80662
2016-02-09
15:44
Merge enhancements and fixes from trunk. file: [76e3c2ff] check-in: [f040a5bb] user: drh branch: sessions, size: 80890
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: [046199e0] check-in: [ca72be86] user: drh branch: trunk, size: 80387
2016-02-05
14:15
Merge enhancements from trunk. file: [0c96c4f1] check-in: [a533608c] user: drh branch: sessions, size: 80901
13:38
Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority cases where db is guaranteed to be not NULL. file: [b8435936] check-in: [0a802e96] user: drh branch: oom-handling, size: 80398
01:55
Improvements to the way that OOM errors are processed. file: [e3e2811c] check-in: [c3ef0347] user: drh branch: oom-handling, size: 80394
2016-02-04
02:34
Add and use the sqlite3VdbeZeroRegister() interface for coding the common operation of writing zero into a register. file: [7a7a8249] check-in: [1c8d3001] user: drh branch: zero-register, size: 80387
2016-02-03
01:55
Enhance the internal sqlite3VdbeAddOpList() interface to automatically update jump destinations. Use this feature to simplify the AUTOINCREMENT code generator. file: [3e246229] check-in: [ae8b9d2e] user: drh branch: trunk, size: 80396
2016-02-02
02:22
Merge all recent enhancements from trunk. file: [ca97b03d] check-in: [f3f92001] user: drh branch: sessions, size: 80412
2016-01-27
15:49
Add assert() statements on the nExtraDelete variable in vdbe.c to try to verify that the FORDELETE and IDXDELETE flags are being generated correctly. Those flags are not currently generated correctly, and so the assert()s trip on this check-in. file: [410f52b9] check-in: [dde1db0d] user: drh branch: fordelete-assert, size: 79909
2016-01-20
11:33
Merge recent enhancements from trunk. file: [0be969e3] check-in: [327af5f6] user: drh branch: sessions, size: 80377
2016-01-16
15:12
Use sqlite3VdbeAddOp4() rather than a separate sqlite3VdbeChangeP4() call, for a slightly smaller and faster binary. file: [a00e6d8a] check-in: [a4258cd4] user: drh branch: trunk, size: 79874
2016-01-01
13:25
Merge the latest enhancements from trunk. file: [a2302c96] check-in: [c0be246a] user: drh branch: sessions, size: 80404
2015-12-30
16:51
Changes to the way that the default BINARY collating sequence is recorded result in a slightly smaller and slightly faster executable. More work could be done to make this cleaner. file: [6b45cc86] check-in: [2081d757] user: drh branch: trunk, size: 79901
15:18
Simplification to the xfer-optimization logic. file: [756ae328] check-in: [f35ba018] user: drh branch: trunk, size: 79805
2015-12-21
15:22
Ensure that the Expr objects that describe indexed expressions are not modified by code generation. Fix for an assert() problem found by Jon Metzman using AFL. file: [4622e544] check-in: [34073ce8] user: drh branch: trunk, size: 80060
2015-11-19
19:40
Merge the latest enhancements from trunk. file: [8ab83219] check-in: [7d6cfc79] user: drh branch: sessions, size: 80559
18:09
Fix a problem with VACUUM and __hidden__ columns. file: [e1d20ae8] check-in: [13995756] user: dan branch: trunk, size: 80056
16:46
Fix problems with INSERT INTO ... SELECT ... statements that write to tables with __hidden__ columns. file: [edb295a0] check-in: [59bd0ec7] user: dan branch: trunk, size: 80011
16:33
Create the new TK_ASTERISK token to represent the "*" in "SELECT *". Formerly that operator was TK_ALL, which was also used for UNION ALL. Less confusion if they operator symbols are distinct. file: [7aa0846b] check-in: [201ac6d4] user: drh branch: trunk, size: 79826
13:53
Only support the magic "__hidden__" column name prefix interpretation when compiled with SQLITE_ENABLE_HIDDEN_COLUMNS. file: [6677454f] check-in: [5490646b] user: drh branch: hidden-columns-in-tables, size: 79821
2015-11-18
21:22
Get the __hidden__ column mechanism working on views with INSTEAD OF triggers. file: [0cf9a847] check-in: [20c1e9ce] user: drh branch: hidden-columns-in-tables, size: 79918
18:43
If a table column name begins with "__hidden__" then do not include that column in "*" expansions in SELECT statements, nor fill in that column in an INSERT INTO that omits the column list. This branch is a proof-of-concept only and is not intended to ever be merged into trunk. file: [0b376795] check-in: [2dbffb3a] user: drh branch: hidden-columns-in-tables, size: 79822
2015-10-30
16:50
Merge all the latest enhancements from trunk. file: [0dbbde4b] check-in: [395a153f] user: drh branch: sessions, size: 80284
2015-10-22
20:54
Modifications to pass a flag to internal routine sqlite3BtreeCursor() when a cursor that is used solely for deleting b-tree entries, or for obtaining the components of keys to delete from other b-trees, is opened. file: [419a947f] check-in: [cdc92919] user: dan branch: btree-fordelete-flag, size: 79781
2015-10-15
18:04
Add the OP_IntCopy opcode - an optimized version of OP_SCopy that only works for integer values. file: [6dadbb67] check-in: [3a2f73a4] user: drh branch: trunk, size: 79645
2015-10-10
20:35
Pull in the latest 3.9.0 tweaks from trunk. file: [5f9bbe7f] check-in: [ed174ccf] user: drh branch: sessions, size: 80124
14:41
Compiler warning fixes: Rename some local variables from "j1" to avoid a name collision with the j1() bessel function in the math library. Omit a dummy initializer that gcc 4.6.3 does not like. file: [3c522beb] check-in: [9ddef84d] user: drh branch: trunk, size: 79621
2015-09-30
14:50
Merge recent enhancements from trunk, and especially the fix for ticket [1b266395d6bc10]. file: [a1e265bb] check-in: [b2face9a] user: drh branch: sessions, size: 80074
2015-09-29
17:20
Use symbolic names XN_ROWID and XN_EXPR in place of the (-1) and (-2) magic numbers in Index.aiColumn[]. Add asserts to help verify that Index.aiColumn[] is always used correctly. Fix one place in FK processing where Index.aiColumn[] was not being used correctly. file: [a9b7f200] check-in: [7d272aa6] user: drh branch: trunk, size: 79571
13:25
Create the sqlite3IsToplevel(Parse*) interface to check to see if a top-level VDBE is being coded (versus a trigger) and use that interface. file: [81d6bf39] check-in: [59662cd2] user: drh branch: vtab-onepass, size: 79483
2015-09-28
23:45
Avoid unnecessary cursors and seeking when running a DELETE against a WITHOUT ROWID table. file: [d0f8d6d6] check-in: [70ec88b2] user: drh branch: delete-without-rowid-opt, size: 79597
2015-09-15
15:55
Merge the latest trunk enhancements with this branch. file: [7708c631] check-in: [b7469c44] user: dan branch: sessions, size: 79997
13:42
Reformat some code to make it easier to merge with sessions. No logic changes. file: [9748a37e] check-in: [eade355f] user: drh branch: trunk, size: 79494
2015-09-14
14:45
Use symbolic names ONEPASS_OFF, ONEPASS_SINGLE, and ONEPASS_MULTI for the various modes of the one-pass optimization. file: [ace93aa2] check-in: [16e56bda] user: drh branch: trunk, size: 79469
10:47
Merge the latest trunk enhancements. file: [19b8749c] check-in: [22ce9218] user: drh branch: sessions, size: 79963
2015-09-12
19:26
Experimental change to use a single-pass approach for DELETE statements on non-virtual tables that do not fire triggers or require foriegn-key processing. file: [db8a34cf] check-in: [eaeb2b80] user: dan branch: onepass-delete, size: 79376
2015-09-03
14:48
Merge recent trunk enhancements. file: [b7e0cdf5] check-in: [6a513c05] user: drh branch: sessions, size: 79097
14:18
Merge enhancements from trunk. file: [076dc587] check-in: [1ab10cbf] user: drh branch: index-expr, size: 79385
13:46
Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help with code generation, especially on PRAGMAs. Rename sqlite3VdbeAddGoto() to just sqlite3VdbeGoto(). file: [bcff4a41] check-in: [847387ec] user: drh branch: trunk, size: 78519
2015-09-02
18:19
Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for sqlite3VdbeAddOp2(v,OP_Goto,0,i). file: [fe515193] check-in: [be78f413] user: drh branch: trunk, size: 78557
2015-09-01
18:52
Merge recent enhancements from trunk. file: [9301b3dd] check-in: [cb772366] user: drh branch: sessions, size: 79218
2015-08-27
18:24
Activate the ability to use expressions in indexes in a query. There are some test failures, but mostly this seems to work. file: [ef4da9af] check-in: [42f93f58] user: drh branch: index-expr, size: 79506
2015-08-26
18:04
Merge enhancements from trunk. file: [b459da14] check-in: [ec6ddb3d] user: drh branch: index-expr, size: 79425
2015-08-25
19:42
Move sqlite3IndexColumnAffinity() inside of SQLITE_ENABLE_STAT3_OR_STAT4. file: [c31b9253] check-in: [b3732a4e] user: drh branch: trunk, size: 78640
19:24
Merge trunk enhancements. file: [a836e16c] check-in: [e8b02902] user: drh branch: index-expr, size: 79688
19:20
Use the sqlite3IndexColumnAffinity() routine to quickly and correctly find the affinity of an index column. file: [0edf54c4] check-in: [1ee089a7] user: drh branch: trunk, size: 78903
16:57
Add code to maintain indexes with expression arguments across DELETE, INSERT, and UPDATE statements. Legacy tests pass, but the new code paths are still largely untested. The query planner currently makes no effort to use expression indexes. file: [602809df] check-in: [efaabdb7] user: drh branch: index-expr, size: 79457
2015-08-24
20:54
Remove some redundant code: Call sqlite3ResolveExprListNames() rather than calling sqlite3ResolveExprNames() in a loop - in two places. file: [ad9ebaaf] check-in: [bdaf6646] user: drh branch: trunk, size: 78672
2015-08-20
23:54
Merge recent trunk enhancements, include table-valued functions. file: [43e48fa6] check-in: [e9196d56] user: drh branch: sessions, size: 79251
2015-07-28
18:53
Fix the xfer optimization for WITHOUT ROWID tables so that it correctly updates the change count returned by sqlite3_changes(). file: [84202686] check-in: [eff43715] user: drh branch: trunk, size: 78673
2015-06-11
18:01
Merge recent trunk enhancements and fixes. file: [a81d4454] check-in: [c39cb0e2] user: drh branch: sessions, size: 79163
13:58
When generating code for partial indexes, be sure not to modify the index condition expression in the schema. file: [b5f8b35a] check-in: [e63d01c6] user: drh branch: trunk, size: 78585
2015-06-02
15:32
Rename SQLITE_AFF_NONE to SQLITE_AFF_BLOB. file: [d6e1623a] check-in: [bce3f041] user: drh branch: blob-affinity-rename, size: 78579
2015-05-22
23:26
Merge enhancements from trunk, including the new sqlite3_value_dup() API and the addition of the apSqlParam field in the sqlite3_rtree_query_info object of R-Tree. file: [6d9cde1a] check-in: [cdc0ca6f] user: drh branch: sessions, size: 79157
13:09
Fix two faulty assert statements discovered by fuzzing. file: [35b78169] check-in: [799817bf] user: drh branch: trunk, size: 78579
2015-04-23
13:49
Merge the latest trunk enhancements and fixes into the sessions branch. file: [533e0f08] check-in: [4e5f17d1] user: drh branch: sessions, size: 79156
2015-04-20
01:32
Merge all recent trunk enhancements and fixes into the sessions branch. file: [57381264] check-in: [b8ef1cde] user: drh branch: sessions, size: 79169
2015-04-19
23:40
Merge updates from trunk. file: [8176ba5b] check-in: [59d1a3bb] user: mistachkin branch: vsix2015, size: 78578
22:41
Fix a broken assert() and comparison for INSERT INTO ... SELECT when the SELECT uses an unknown collating sequence. file: [b152e714] check-in: [e73ac0cb] user: drh branch: trunk, size: 78591
21:43
Fix harmless compiler warnings seen with MSVC 2015. file: [f43325e7] check-in: [d05becd8] user: mistachkin branch: vsix2015, size: 78285
18:32
Bring comments on the INSERT code generator up-to-date. Fix the INSERT code generator so that it correctly handles inserts from a SELECT into a virtual table with non-terminal hidden columns. file: [9f5f25a9] check-in: [4ac81fac] user: drh branch: trunk, size: 78612
2015-04-15
14:14
Merge all recent trunk fixes and enhancements into the sessions branch. file: [6663d688] check-in: [e65e65f9] user: drh branch: sessions, size: 78876
2015-04-13
14:03
Remove an unreachable branch from the VACUUM logic. file: [305dd3f9] check-in: [65ace4b0] user: drh branch: trunk, size: 78298
2015-04-12
01:33
Merge all recent trunk enhancements into the sessions branch. file: [7d953730] check-in: [5f14f34f] user: drh branch: sessions, size: 78857
2015-04-10
08:28
Update this branch with the latest changes from sorter-opt. file: [5be66348] check-in: [08c0b19b] user: dan branch: insert-select-opt, size: 81921
2015-04-01
18:20
When vacuuming an index that uses no collations other than BINARY, assume that the order of index entries will not be changed by the VACUUM. file: [1cc9dc4e] check-in: [e403460b] user: dan branch: sorter-opt, size: 78279
2015-03-23
14:39
Set the OPFLAG_SEEKRESULT correctly in "INSERT INTO ... SELECT" statements. file: [9f92c04e] check-in: [6f7d9995] user: dan branch: insert-select-opt, size: 80415
2015-03-21
15:26
Do not use sorters for INSERT statements that insert multiple rows using the VALUES clause. file: [9073db4b] check-in: [93e28ea1] user: dan branch: insert-select-opt, size: 80343
07:03
Disable the sorter optimization used by INSERT INTO SELECT statements if the statement explicitly specifies REPLACE, IGNORE or FAIL conflict handling. file: [004d1f12] check-in: [d4215942] user: dan branch: insert-select-opt, size: 80300
2015-03-20
20:30
Where possible insert the set of new keys for each index in sorted order within "INSERT INTO ... SELECT" statements. file: [9e5d41e7] check-in: [0a7f2051] user: dan branch: insert-select-opt, size: 80177
2015-01-29
02:26
Experimental sqlite_db_config() setting to disable writing to all btrees except for one btree with a particular root page. file: [57b087ad] check-in: [23054110] user: drh branch: one-writable-btree, size: 76956
2014-10-20
16:34
Merge version-3.8.7 changes with this branch. file: [fef86ab8] check-in: [d380a648] user: dan branch: ota-update, size: 77210
2014-09-21
22:49
Merge all recent trunk changes into the sessions branch. file: [4f6df86b] check-in: [6406b77f] user: drh branch: sessions, size: 77351
2014-09-19
20:13
Fix the affinity on inserts into the ANALYZE tables. Change the affinity characters to be upper case, to make the P5 parameter of comparison operators easier to read. file: [5b9243a3] check-in: [3f3ca76a] user: drh branch: trunk, size: 76773
2014-09-17
15:20
Add tests and fixes for "PRAGMA ota_mode". file: [88755144] check-in: [39df35c4] user: dan branch: ota-update, size: 77210
2014-09-15
15:34
Merge latest trunk changes with this branch. file: [25e63641] check-in: [55b8011d] user: dan branch: ota-update, size: 77210
2014-09-08
15:04
Merge support for large files on Android from trunk. file: [92e95520] check-in: [c2885c6b] user: drh branch: sessions, size: 77351
2014-09-06
16:39
Fix typos in comments. No code changes. file: [0b073fad] check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 76773
2014-09-02
19:59
Add an experimental extension for applying bulk updates to databases. file: [62b0ceab] check-in: [2954ab50] user: dan branch: ota-update, size: 77213
2014-08-21
16:09
Merge all recent trunk changes, especially the fix for ticket [369d57fb8e5ccdff06f1], but also the skip-scan improvement and performance improvements in the b-tree code. file: [3d41db13] check-in: [0b9e2c32] user: drh branch: sessions, size: 77354
14:10
Fix a faulty assert() statement. Add comments to clarify the behavior of the sqlite3OpenTableAndIndices() routine in insert.c. Add test cases to verify that the assert() statement is not firing inappropriately. Ticket [369d57fb8e5ccdff06f1]. file: [d1a104e6] check-in: [7029b340] user: drh branch: trunk, size: 76776
2014-08-06
01:25
Merge the latest 3.8.6 beta changes from trunk. file: [b1f57e16] check-in: [68a6d5e2] user: drh branch: sessions, size: 77084
2014-08-04
15:12
Changed my mind: This opcode name changes mere creates unnecessary diff marks between older and newer versions without significantly improving readability. Was: Rename the IsNull opcode to IfNull and rename the NotNull opcode to IfNotNull. file: [604ec62e] check-in: [2f724cba] user: drh branch: deadend, size: 76514
2014-07-31
22:59
Refactoring: Change "pIndex->onError!=OE_None" to use a macro: "IsUniqueIndex(pIndex)". Easier to understand that way. file: [991e4964] check-in: [e75b26ee] user: drh branch: trunk, size: 76506
2014-05-29
20:29
Merge trunk changes into the sessions branch. file: [3f5e6cb2] check-in: [9f18e78f] user: drh branch: sessions, size: 77087
2014-05-27
18:18
Change the name of the Index.autoIndex field to Index.idxType and provide symbolic names for the various values of that field rather than using magic numbers. file: [a038daea] check-in: [d16e575d] user: drh branch: trunk, size: 76509
2014-05-26
20:00
Merge recent trunk changes into the sessions branch. file: [baf598f5] check-in: [a769c7e0] user: drh branch: sessions, size: 77072
2014-05-23
11:48
Make sure sufficient VDBE registers are allocated for an INSERT...SELECT when there is an idlist on the insert table that includes an explicit rowid. Ticket [e9654505cfda93610585fde5a9bbf2e730c8a8d5] file: [ac1a00ca] check-in: [9a2dd187] user: drh branch: trunk, size: 76494
2014-05-19
15:16
Changes to help ensure that a multiplication does not overflow when computing the number of bytes needed for a memory allocation, and cause a malfunction. No problems existing problems were discovered. However, these changes should help to ensure that no problems arise in the future. file: [d7cc294e] check-in: [17349a49] user: drh branch: safer-malloc, size: 76469
2014-04-28
18:02
Merge all recent trunk enhancements and fixes into the sessions branch. file: [2396a980] check-in: [e158812c] user: drh branch: sessions, size: 77042
2014-04-26
17:52
Allow the xfer optimization to proceed if the DEFAULT on the very first column of the two tables is different. This is a refinement of the fix for ticket [f67b41381a]. file: [ab34bea5] check-in: [349f4834] user: drh branch: trunk, size: 76464
14:07
Avoid transfering records between tables unless the default values for all columns are the same. Fix for [f67b41381a]. file: [08de2311] check-in: [f8c4c495] user: dan branch: trunk, size: 76369
2014-03-06
13:48
Merge the latest 3.8.4 tweaks from trunk. file: [e1ebd5d7] check-in: [1ed463d9] user: drh branch: sessions, size: 76693
01:56
Fix some incorrect comments and typos in comments. Add testcase() macros to some of the new record comparison code. file: [d8bb3053] check-in: [b83cfe89] user: drh branch: trunk, size: 76115
2014-03-04
14:34
Merge the performance enhancements of trunk (and some obscure bug fixes) into the sessions branch. file: [cb421bc5] check-in: [7f51ad97] user: drh branch: sessions, size: 76755
2014-02-25
19:38
Make sure temporary registers used within a co-routine are not also used outside of that co-routine, in order to prevent concurrent use of the same register for two different things. Ticket [8c63ff0eca81a9132d8] file: [3e875c32] check-in: [cc5eda54] user: drh branch: tkt-8c63ff0eca, size: 76215
2014-02-20
19:32
Fix a harmless shadowed-variable warning. file: [d3d11642] check-in: [82402909] user: drh branch: trunk, size: 76177
2014-02-19
14:20
Add the SQLITE_NOTNULL P5 code for comparison operations - really a composite of SQLITE_NULLEQ and SQLITE_JUMPIFNULL. This flag indicates that NULL operands are not possible and raises and assert() if NULL operands are seen. Also omit an unnecessary scan of the sqlite_sequence table when writing into an AUTOINCREMENT table. file: [429adb67] check-in: [d2c047f3] user: drh branch: trunk, size: 76183
2014-02-17
22:40
Add logic to do test coverage measurements on the VDBE code. file: [5d5e1d78] check-in: [ce184c7b] user: drh branch: insert-optimization, size: 76414
14:59
Avoid unnecessary calls to applyAffinity() during INSERT and UPDATE operations, especially for table that have indices and tables for which all columns have affinity "NONE". file: [ddc56dc8] check-in: [35b4d6e9] user: drh branch: insert-optimization, size: 75834
2014-02-16
01:55
Enhance the code generator for INSERT INTO ... SELECT so that the SELECT generates output directly in the registers that INSERT INTO will be using, in many cases, and OP_SCopy operations can thus be avoided. file: [36e61dd2] check-in: [aa2d8b0e] user: drh branch: insert-optimization, size: 75489
2014-02-11
04:30
Sync the latest trunk changes, and in particular the STAT4 IS NOT NULL fix. file: [985b61be] check-in: [b0067926] user: drh branch: sessions, size: 77995
2014-02-08
01:40
Change the OP_Trace opcode to OP_Init and give it the ability to jump to the initialization code at the bottom of the program, thus avoiding the need for an extra OP_Goto. file: [89526b03] check-in: [192dea97] user: drh branch: trunk, size: 77417
2014-02-07
19:18
Change the OP_InitCoroutine instruction to jump over the co-routine implementation. file: [b50cb5a5] check-in: [a522f364] user: drh branch: coroutine-refactor, size: 77398
18:27
Get rid of the OP_Undef and OP_IsUndef opcodes in favor of higher-level OP_InitCoroutine and OP_EndCoroutine. file: [5997c3fb] check-in: [1ec0e9dd] user: drh branch: coroutine-refactor, size: 77479
13:20
Add the OP_Undef and OP_IsUndef opcodes. With these, use the first register in the result register range as the flag to indicate EOF on an INSERT from a SELECT, rather than allocating a separate boolean register for that task. file: [fa98632f] check-in: [6fb74485] user: drh branch: coroutine-refactor, size: 78123
2014-02-06
14:59
Change more OP_OpenEphemeral operations to OP_OpenHash. file: [c6b4ba48] check-in: [881164cf] user: drh branch: subquery-codegen-refactor, size: 78785
2014-01-24
14:05
Bring in all the latest trunk changes, including the Common Table Expressions implementation. file: [a8a987ba] check-in: [9b43e559] user: drh branch: sessions, size: 79263
2014-01-18
08:27
Avoid spurious "no such table" errors in statements of the form "INSERT INTO tbl WITH xxx AS (...) SELECT * FROM xxx". file: [a4450f0c] check-in: [cccff8a0] user: dan branch: trunk, size: 78685
2014-01-13
15:12
Add code to handle non-recursive CTEs in the same way as SQL views. file: [cb4c8ad0] check-in: [a26f399b] user: dan branch: common-table-expr, size: 78443
2014-01-10
20:46
Allow a VALUES clause to be used any place that a SELECT statement can be used. file: [5ddb48c7] check-in: [c9ea7d19] user: drh branch: trunk, size: 78419
2014-01-03
16:03
Avoid some unnecessary OP_SCopy operations when inserting into a table with multiple indices. file: [e6b3d784] check-in: [429018b1] user: drh branch: trunk, size: 78027
2013-12-24
12:09
Merge the latest trunk changes into the sessions branch. file: [de6cd4bb] check-in: [cfd110bf] user: drh branch: sessions, size: 78415
2013-12-19
14:34
Remove an unneeded column-cache flush in aggregate SELECT and an unreachable branch in the INSERT logic. file: [f165ba41] check-in: [ffa092e1] user: drh branch: trunk, size: 77837
02:23
Omit one or more pointless instructions that occur in between OP_NoConflict and OP_Halt. file: [d1b3fd53] check-in: [61e2f357] user: drh branch: trunk, size: 77874
2013-11-26
18:00
Merge in performance enhancements from trunk. file: [db64e625] check-in: [fc9ae839] user: drh branch: sessions, size: 78315
2013-11-16
20:13
Enhance the DELETE logic so that it can make use of WHERE_ONEPASS_DESIRED for rowid tables. file: [3cf80123] check-in: [8f479a72] user: drh branch: optimize-delete, size: 77737
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: [0f4d5b41] check-in: [5addd123] user: drh branch: sessions, size: 78043
16:55
Remove unreachable code, replacing it in most cases with assert() or NEVER() macros. file: [63003c56] check-in: [924d63b2] user: drh branch: trunk, size: 77465
2013-11-08
16:54
Performance improvement: Avoid unnecessary seeks on REPLACE INTO for a WITHOUT ROWID table. file: [b3218fa5] check-in: [fd11afa5] user: drh branch: trunk, size: 77479
01:09
Optimize out a NotExists/NotFound opcode that occurs in UPDATE processing after constraint checks if there is no possiblity that the constraint checking code might have moved the cursor. file: [11d577c1] check-in: [74e3ee2e] user: drh branch: trunk, size: 77408
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: [325ef76a] check-in: [defd5205] user: drh branch: omit-rowid, size: 77393
02:36
Remove an unused variable. file: [24d982dc] check-in: [e9c1e419] user: drh branch: omit-rowid, size: 77652
2013-11-05
19:41
Fix conflict handling for the case when the rowid uses REPLACE but other unique constraints use FAIL or IGNORE. file: [66c8c999] check-in: [573cc274] user: drh branch: omit-rowid, size: 77671
16:39
Unless the destination table is completely empty, disable the xfer optimization for WITHOUT ROWID tables. file: [75592521] check-in: [3877c9f5] user: dan branch: omit-rowid, size: 76894
14:19
Add tests for updates of without-rowid tables that use non-BINARY collation sequences for the primary key columns. And a minor bugfix to the same. file: [37bbaf90] check-in: [99b1fa4b] user: dan branch: omit-rowid, size: 77051
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: [63660d2e] check-in: [54b22192] user: drh branch: omit-rowid, size: 77311
01:59
Add the conflict2.test script. Fix issues discovered by this script. file: [7f6a6200] check-in: [294ed337] user: drh branch: omit-rowid, size: 78480
2013-11-04
21:44
Bug fixes in the INSERT constraint checker. Refactor the Rowid handling logic for ANALYZE with STAT3/4. file: [b89a81a5] check-in: [1ea43c0f] user: drh branch: omit-rowid, size: 78233
15:23
Correctly handle changing counting when inserting and deleting on WITHOUT ROWID tables. Add more FOREIGN KEY test cases. file: [faa58c99] check-in: [d072bcd0] user: drh branch: omit-rowid, size: 77933
2013-11-02
22:29
Improved Synopsis on register comparison operators. Fix a bug on the constraint check generator. file: [62c2997b] check-in: [a7a18b65] user: drh branch: omit-rowid, size: 77772
2013-11-01
20:30
Fix sqlite3_analyzer so that it works with WITHOUT ROWID tables. Fix index generation for secondary indices that include fields from the PRIMARY KEY. file: [57fe5ae1] check-in: [f9769d70] user: drh branch: omit-rowid, size: 77772
17:08
Change the interface to sqlite3GenerateConstraintChecks() for improved lucidity and to fix issues in dealing with UPDATEs for WITHOUT ROWID tables. Make sure iDataCur and iIdxCur are initialized when processing DELETEs of a VIEW. UPDATE processing distinguishes between changes to ROWID and PRIMARY KEY. file: [4694b230] check-in: [c525ac56] user: drh branch: omit-rowid, size: 77837
14:03
Improved VDBE comments on the constraint checker. Fix a missing write lock in the UPDATE logic. file: [da74aded] check-in: [3bed599e] user: drh branch: omit-rowid, size: 77080
12:42
Some UPDATE statements now working in WITHOUT ROWID tables. file: [c04429bd] check-in: [5c0eaea6] user: drh branch: omit-rowid, size: 76997
2013-10-31
15:37
Improved comments and variable names in infrastructure routines of UPDATE, DELETE, and INSERT. file: [64eb6bf8] check-in: [ad90e762] user: drh branch: omit-rowid, size: 76980
12:13
Moving UPDATE towards the iDataCur/iIdxCur representation. Still not working for WITHOUT ROWID, though. file: [e8f06919] check-in: [deacbd21] user: drh branch: omit-rowid, size: 75408
11:15
Refactor the INSERT, DELETE, and UPDATE code generators to distinguish between the "data cursor" and the "first index cursor", which are no longer consecutive in the case of a WITHOUT ROWID table. file: [076f600e] check-in: [1adfca60] user: drh branch: omit-rowid, size: 76469
2013-10-30
20:22
Continue working to get UPDATE operational for WITHOUT ROWID tables. Fix PRAGMA integrity_check so that it works on WITHOUT ROWID tables. file: [4d832cca] check-in: [0d4fea74] user: drh branch: omit-rowid, size: 76733
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: [f8eea9f2] check-in: [6d9af606] user: drh branch: omit-rowid, size: 75292
2013-10-29
16:14
Improved comments on the constraint checking logic. file: [42e8dc61] check-in: [141a38a7] user: drh branch: omit-rowid, size: 75112
2013-10-26
15:40
Work on the UPDATE and INSERT logic. This is an incremental check-in so that can switch over to trunk to work on an unrelated issue there. file: [14ae816a] check-in: [086ec2a1] user: drh branch: omit-rowid, size: 74587
13:36
Replace the OP_IsUnique opcode with OP_NoConflict. This code simplification might be useful to move onto trunk even if this branch is never merged. file: [e8772841] check-in: [e6650e16] user: drh branch: omit-rowid, size: 71670
00:58
Minor refactoring of variable names and fixes to comments in insert.c. file: [684154a7] check-in: [ae61a343] user: drh branch: omit-rowid, size: 71613
2013-10-25
19:17
Progress toward getting UPDATE to work in WITHOUT ROWID tables. file: [976fc5c9] check-in: [e557b7d8] user: drh branch: omit-rowid, size: 71739
14:46
Basic DELETE operations now working on WITHOUT ROWID tables. file: [71b3d1f5] check-in: [9eafafa3] user: drh branch: omit-rowid, size: 71762
2013-10-24
19:48
Update the interface to the sqlite3GenerateRowDelete() utility so that it is able to handle WITHOUT ROWID tables. The implementation still needs to be completed. file: [a188b1ab] check-in: [85daf517] user: drh branch: omit-rowid, size: 71771
2013-10-23
23:37
Change the sqlite3OpenTable() utility to open the PRIMARY KEY index when reading a WITHOUT ROWID table. file: [c028df48] check-in: [247f3899] user: drh branch: omit-rowid, size: 71765
16:03
Get VACUUM and the xfer optimization working with WITHOUT ROWID. file: [288b9018] check-in: [579815ff] user: drh branch: omit-rowid, size: 71207
13:30
Some inserts and queries working for multi-column primary keys and WITHOUT ROWID. file: [f95fb9bf] check-in: [b21d831b] user: drh branch: omit-rowid, size: 70837
01:57
Some simple inserts and queries working on WITHOUT ROWID tables. file: [e8aeca40] check-in: [3f8016de] user: drh branch: omit-rowid, size: 70838
2013-10-22
18:01
The Index object now has nKeyCol and nColumn. nColumn is the total number of columns and nKeyCol is the number of key columns. Currently these always differ by one. Refactor aiColumn[] to be of type i16 instead of int. file: [c9db8609] check-in: [a106ce86] user: drh branch: omit-rowid, size: 70537
2013-10-10
20:13
Synchronize with the trunk. file: [feaa30b4] check-in: [136445ba] user: drh branch: sessions, size: 71110
2013-10-04
18:17
If an "INSERT INTO ... SELECT" can use the xfer optimization, pass the OPFLAG_BULKCSR hint to btree cursors used to update indices. This results in a tighter key packing. file: [9a3f578f] check-in: [087af29e] user: dan branch: trunk, size: 70588
2013-09-05
18:40
When preparing an UPDATE statement, avoid generating VDBE code for those foreign key related actions and constraint checks that may be seen to be unnecessary by considering the subset of table columns potentially modified by the UPDATE. file: [a271771d] check-in: [e940b5de] user: dan branch: trunk, size: 70544
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: [54ec6fd4] check-in: [7e1acb39] user: drh branch: sessions, size: 71060
2013-08-01
13:04
Fill out an initial implementation of the sqlite3ExprImpliesExpr() function. file: [a66bcdc9] check-in: [8e07aa2a] user: drh branch: partial-indices, size: 70538
03:36
Test cases and bug fixes for the partial index logic. file: [b09e0aa7] check-in: [6b73ae7c] user: drh branch: partial-indices, size: 70532
01:14
Add the logic to keep partial indices up to date through DML statements and when new partial indices are created. This new logic is untested except to verify that it does not interfere with full indices. file: [1e2eb1d4] check-in: [fb9044d1] user: drh branch: partial-indices, size: 70485
2013-02-13
13:42
Enhancements to the query planner to make use of indices for ORDER BY even when IN constraints are in the WHERE clause. Add extended error codes for all SQLITE_CONSTRAINT errors. file: [02f8a186] check-in: [7e14dc73] user: drh branch: sessions, size: 70384
2013-02-09
13:58
Add extended error codes for constraint errors. file: [f7cb141e] check-in: [54611046] user: drh branch: constraint-error-codes, size: 69862
2012-12-08
23:37
Pull the latest trunk changes into the sessions branch, and in particular the collating-sequence refactorization. file: [36c17b9b] check-in: [4f6d69ae] user: drh branch: sessions, size: 70214
04:10
Duplicating check constraint expressions prior to code generation is no longer required, and so it is removed. file: [dc197aa9] check-in: [1a9db8dc] user: drh branch: ticket-71e333e7, size: 69692
2012-12-06
20:19
Cherrypick [557c69055a3] and [0064bab7714] (OP_Once-related fixes for triggers). file: [abe16e63] check-in: [0d7b5d45] user: dan branch: branch-3.7.9, size: 67162
2012-12-03
19:42
Remove an unreachable condition. Replace it with an assert(). file: [d7ed04b1] check-in: [7d5fc1a3] user: drh branch: trunk, size: 69869
2012-10-26
13:34
Backport the shared-cache-fix branch. file: [ece0dfd2] check-in: [325364a9] user: drh branch: branch-3.7.14, size: 67881
2012-10-09
14:58
Merge the latest trunk changes, especially the ORDER BY optimizer enhancements but also other fixes, onto the sessions branch. file: [6273647b] check-in: [f1fbb8c5] user: drh branch: sessions, size: 70393
2012-10-08
23:25
Changes to facilitate full test coverage. file: [ad0d8943] check-in: [28d1eb40] user: drh branch: trunk, size: 69871
2012-10-05
18:35
Backport fixes to shared-cache mode, from the shared-cache-fix branch, to version 3.7.9 file: [ef88d0e4] check-in: [ac81ae49] user: drh branch: branch-3.7.9, size: 67108
16:30
Fix a problem with shared-cache mode and CHECK constraints causing one db handle to invoke a collation sequence function registered with another. file: [b1d413e7] check-in: [c2c776ab] user: dan branch: shared-cache-fix, size: 69804
2012-10-04
19:33
Shared-cache mode fixes for views and virtual tables. file: [aefc9795] check-in: [2b370dea] user: dan branch: shared-cache-fix, size: 69694
2012-09-28
13:05
Merge the latest trunk changes (especially "PRAGMA busy_timeout" and the ORDER BY query planner optimizations) into the sessions branch. file: [08ec5cec] check-in: [6ca8eae1] user: drh branch: sessions, size: 70237
2012-09-15
13:29
Factor out the code that generates a co-routine for evaluating the SELECT on the RHS of an INSERT statement so that the same code can potentially be reused in other places. file: [6e2aa7fb] check-in: [a93ee09c] user: drh branch: trunk, size: 69715
2012-08-31
14:23
Update with latest trunk changes. file: [8c5a3aba] check-in: [87995dc9] user: dan branch: sessions, size: 68314
2012-08-25
10:01
Fix all known instances of 'repeated the' style typos in comments. No changes to code. file: [b090d0a9] check-in: [9b19b847] user: mistachkin branch: trunk, size: 67792
2012-08-15
16:21
Merge all the latest trunk changes into the sessions branch. file: [49dd0445] check-in: [fc07a479] user: drh branch: sessions, size: 68318
2012-07-23
21:43
Refactor field names in the SelectDest object to make them distinct and easier to grep for. file: [770ed633] check-in: [b589f1ef] user: drh branch: trunk, size: 67796
2012-04-18
01:41
Import all the latest trunk changes into the sessions branch. file: [e32d8d0b] check-in: [87a0eab5] user: drh branch: sessions, size: 68308
2012-03-31
19:12
Fix a compiler warning by removing a redundant variable. file: [0bbffe75] check-in: [af602d87] user: drh branch: trunk, size: 67786
2012-03-30
17:30
Merge all recent trunk changes into the sessions branch. file: [56f11d8c] check-in: [fb9b9987] user: drh branch: sessions, size: 68319
15:48
When a named CHECK constraint fails, include the name of the constraint in the error message. file: [93eb9542] check-in: [1b75f301] user: drh branch: trunk, size: 67797
2012-03-07
19:13
If a CHECK constraint is named, report that name on the error message when the constraint fails. file: [82b1bc7a] check-in: [9a0f90d9] user: drh branch: named-check-constraints, size: 67835
2012-01-05
13:02
Merge all of the latest trunk changes into the sessions branch. file: [1c9a9a4d] check-in: [a9bcb432] user: drh branch: sessions, size: 67958
2012-01-04
12:57
Fix typos and comments and make minor changes to a few function names, as suggested by readership. file: [d7c69718] check-in: [e9d05cbb] user: drh branch: trunk, size: 67436
2011-12-09
16:59
Previous check-in broke auto-increment. This check-in appears to fix it. file: [ea820fe9] check-in: [28ffd39c] user: drh branch: uninit-vdbe-mem, size: 67435
16:21
Make no assumptions about the initial state of VDBE registers. file: [2d0162f7] check-in: [521d72bd] user: drh branch: uninit-vdbe-mem, size: 67428
2011-11-16
15:27
Where possible, take advantage of the rowid at the end of index records to optimize range constraints (<, >, <=, >=) on the rowid column. file: [8f283d67] check-in: [3b58f5f0] user: dan branch: trunk, size: 67381
2011-11-04
14:36
Update the xfer optimization code so that the xfer optimization can be used with INTEGER PRIMARY KEY ON CONFLICT ... as long as the destination table is initially empty. Improvements to the comments on the xfer optimization. New test cases added. file: [9794a963] check-in: [e3f368cd] user: drh branch: trunk, size: 67378
00:23
Make sure the INSERT INTO ... SELECT statement works correctly even when the destination table contains an INTEGER PRIMARY KEY ON CONFLICT... column. Ticket [676bc02b87176125]. file: [bfe25a1d] check-in: [6f9898db] user: drh branch: trunk, size: 67112
2011-10-11
12:58
Merge all the latest trunk changes into the sessions branch - especially the SQLITE_ENABLE_STAT3 enhancements. file: [25b1bdb2] check-in: [403431ca] user: drh branch: sessions, size: 67556
2011-09-30
12:01
Disable the xfer optimization if "PRAGMA count_changes=1" is configured. Ticket [c48d99d690]. file: [ca187835] check-in: [9ddfe1e4] user: dan branch: trunk, size: 67034
2011-05-05
15:46
Merge the latest trunk changes into the sessions branch. file: [1f1688a9] check-in: [6883580e] user: drh branch: sessions, size: 67487
2011-04-25
18:49
Add support for on conflict clauses to fts3/fts4. file: [3eea5a53] check-in: [6d2633a6] user: dan branch: vtab-conflict, size: 66965
2011-04-24
22:56
Disable the transfer optimization if the destination table contains any foreign key constraint and foreign key constraints are enabled. Ticket [6284df89debdf]. file: [cdee360e] check-in: [ddeea5ab] user: drh branch: trunk, size: 66893
2011-04-09
18:07
Merge the latest trunk changes into the sessions branch. file: [8796ca3f] check-in: [83705e90] user: drh branch: sessions, size: 66828
03:04
Back out the SQLITE_OMIT_UNIQUE_ENFORCEMENT compile-option. It is an unneeded complication. file: [acfb89fe] check-in: [927e955b] user: drh branch: trunk, size: 66306
2011-04-05
13:27
Pull the latest trunk changes (and hence the schema-parse-refactor changes) into the sessions branch. file: [ef33ce15] check-in: [03ca8342] user: drh branch: sessions, size: 67050
13:12
Merge the scheme-parse-refactor changes into trunk: (1) added sqlite3SchemaMutexHeld() asserts, (2) Use -1 instead of 0 to mean "all" in sqlite3ResetInternalSchema(), and other cosmetic changes. file: [6873a0b3] check-in: [5db4511d] user: drh branch: trunk, size: 66528
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: [4083e8af] check-in: [bf664b20] user: drh branch: trunk, size: 66410
2011-04-04
18:22
Add a description of access rules for the Schema object and lots of asserts to verify that the access rules are followed. file: [081d0dc2] check-in: [ae8374af] user: drh branch: schema-parse-refactor, size: 66503
2011-03-30
21:04
Add the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option. file: [e354eadb] check-in: [66345214] user: drh branch: sessions, size: 66910
2011-03-19
08:38
Fix a problem with INTEGER PRIMARY KEY columns and the pre-update hook. file: [c46747b4] check-in: [24d4d5dd] user: dan branch: sessions, size: 66832
2011-03-18
12:35
Merge all the latest trunk enhancements into the sessions branch. file: [b0d4150a] check-in: [94fd5bb6] user: drh branch: sessions, size: 66824
2011-03-12
05:55
Backport the SQLITE_OMIT_UNIQUE_ENFORCEMENT change from check-in [b86999436e] on the trunk. file: [9b6fa065] check-in: [668b91db] user: shaneh branch: branch-3.7.2, size: 66483
04:58
More tests for SQLITE_OMIT_UNIQUE_ENFORCEMENT and minor change to implementation. file: [8ffb544f] check-in: [b8699943] user: shaneh branch: trunk, size: 66385
2011-03-10
21:13
Skip unique constraint enforcement if compiled with SQLITE_OMIT_UNIQUE_ENFORCEMENT. file: [06133d9e] check-in: [ba85bf8c] user: shaneh branch: trunk, size: 66414
2011-03-06
21:28
Remove dead code identified by the clang static analyzer. file: [036cfac4] check-in: [01a79d5a] user: drh branch: trunk, size: 66163
2011-03-01
18:42
Add the experimental sqlite3_preupdate_hook() API. file: [c56a64b1] check-in: [6145d7b8] user: dan branch: sessions, size: 66699
2010-08-03
13:08
Fix the REPLACE conflict resolution so that it falls back to ABORT when a CHECK constraint fails. Ticket [c38baa3d969eab794]. file: [a4995747] check-in: [4e157b77] user: drh branch: trunk, size: 66260
2010-07-25
02:12
Further examples of using automatic deallocation to replace "delete" methods. file: [45d9a637] check-in: [da2f62c5] user: drh branch: malloc-enhancement, size: 66204
2010-07-24
19:08
Additional malloc sanity changes. Use sqlite3MemLink() on Index.zColAff and Table.zColAff as a proof of concept. file: [e21574be] check-in: [e5ecb159] user: drh branch: malloc-enhancement, size: 66258
16:34
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). file: [ba455ebb] check-in: [ac1f37a6] user: drh branch: malloc-enhancement, size: 66183
2010-06-28
10:15
Currently, if SQLite cannot find a table or index referred to by a query, it reloads the database schema from disk to see if the table or index has been added since the schema was cached in memory. Extend this behaviour to columns (which may have been added using ALTER TABLE) and fix some obscure cases related to tables and indexes (INDEXED BY, DROP TABLE etc.). file: [d9476f23] check-in: [4932f228] user: dan branch: trunk, size: 66167
2010-03-30
12:40
Do not crash when compiling an "INSERT INTO tbl DEFAULT VALUES" when tbl has either BEFORE or INSTEAD OF triggers attached to it. Ticket [f3162063fd]. file: [3a956768] check-in: [ca359a3e] user: dan branch: trunk, size: 66158
2010-02-25
14:44
Add some technically unnecessary variable initializations to silence compiler warnings. file: [223a368a] check-in: [a2550597] user: dan branch: branch-3.6.1, size: 61892
2010-02-18
08:19
Allow statements like "REPLACE INTO tbl(rowid) VALUES(...)" to run without a statement journal as long as there are no triggers, foreign keys or indexes. file: [76d6b44a] check-in: [0e422580] user: dan branch: trunk, size: 66127
2010-01-07
15:17
Fix the expression comparison logic to take the COLLATE operator into account. Ticket [360c6073e197] file: [11eeb4f2] check-in: [44bb1bfe] user: drh branch: trunk, size: 65450
2009-11-10
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. file: [f9c60989] check-in: [f6c045f6] user: drh branch: trunk, size: 65451
2009-10-01
16:09
If an update does not modify any child or parent key columns, omit foreign key processing for the statement. file: [2fe2ef7b] check-in: [edff3500] user: dan branch: trunk, size: 65517
2009-09-24
16:52
Fix a bug in the code for REPLACE conflict handling on IPK columns when there are no indexes on the table. Triggers and foreign key processing were being bypassed. file: [719465bf] check-in: [beb2094f] user: dan branch: trunk, size: 65517
11:31
Ensure foreign key related processing takes place when rows are deleted from the database by REPLACE conflict handling. file: [1691e772] check-in: [3f40c142] user: dan branch: trunk, size: 65672
09:05
Remove unused parameter from sqlite3CodeRowTrigger(). Fix header comments for this function and CodeRowTriggerDirect(). file: [60434447] check-in: [0443f7c9] user: dan branch: trunk, size: 65634
00:09
Make sure a transaction is available for rollback whenever a REDUCE conflict resolution occurs and there is the possibility to ABORT. Ticket [4a03edc4c8c] file: [3ff8f07a] check-in: [f0c56fa9] user: drh branch: trunk, size: 65642
2009-09-21
16:06
Fix compilation with OMIT_TRIGGER defined. Ticket [1ff6d29030]. file: [e4ca9ed8] check-in: [fb6ceed3] user: dan branch: trunk, size: 65570
2009-09-19
17:00
Check in implementation of foreign key constraints. file: [f20335f7] check-in: [d5d39981] user: dan branch: trunk, size: 65401
2009-09-08
19:15
Combine the OP_Statement and OP_Transaction opcodes. file: [755028b8] check-in: [aec9dbd8] user: dan branch: trunk, size: 65349
15:55
If recursive-triggers are enabled, fire DELETE triggers if database rows are removed as a result of OR REPLACE conflict resolution. file: [5cf80f9b] check-in: [85cb0c94] user: dan branch: trunk, size: 65391
13:40
Additional simplifications in support of structural testing. file: [06fe5049] check-in: [4ab8c841] user: drh branch: trunk, size: 64231
2009-09-01
12:16
More fixes and comment updates. file: [c90b07a1] check-in: [38a9327b] user: dan branch: trunk, size: 64146
2009-08-31
15:27
More fixes for test cases. file: [845f0f5a] check-in: [85d9f23b] user: dan branch: trunk, size: 64265
2009-08-30
11:42
Fixes for new triggers scheme. file: [5b548c80] check-in: [9eb91efd] user: dan branch: trunk, size: 64385
2009-08-28
18:53
Changes to support recursive triggers. file: [5bddd3d6] check-in: [9b9c1921] user: dan branch: trunk, size: 64347
2009-08-13
19:21
If a binary operator in a WHERE clause that should be performed with no affinity conversions applied to its operands (see http://www.sqlite.org/datatype3.html) is optimized by index lookup, do not apply any conversions to the key value before looking it up in the index. Fix for [93fb9f89d6]. file: [95625f99] check-in: [e72186f2] user: dan branch: trunk, size: 64999
2009-07-24
17:58
Allow virtual tables to be used in shared-cache mode. (CVS 6928) file: [a4bbd811] check-in: [5d9e767a] user: danielk1977 branch: trunk, size: 64805
2009-06-23
20:28
Enhance autoincrement so that it works with triggers that also do autoincrement inserts, even multiple inserts into the same table. Ticket #3928 (CVS 6807) file: [94e51344] check-in: [1330993d] user: drh branch: trunk, size: 64647
2009-05-29
19:00
Enhance the sqlite3VdbeGetOp() routine so that it always returns a pointer to VdbeOp, even following an OOM fault. This simplifies error handling in callers. Cleanup to the column cache logic and the expr.c source module. (CVS 6691) file: [69ef88ce] check-in: [ede06dac] user: drh branch: trunk, size: 63360
2009-05-04
11:42
Speed up INSERT operations that add data to UNIQUE or PRIMARY KEY indexes by rationalizing duplicate seek operations. (CVS 6599) file: [050536ea] check-in: [cac4f3d8] user: danielk1977 branch: trunk, size: 63395
2009-05-03
01:01
More changes to insert.c to facilitate full coverage testing. (CVS 6596) file: [35d73660] check-in: [46c4ec96] user: drh branch: trunk, size: 63086
2009-05-02
15:46
Simplifications to the uniqueness constraint failure error message generation code. (CVS 6595) file: [a655cd5e] check-in: [8f3cac76] user: drh branch: trunk, size: 62786
00:28
When checking indices for xfer compatibility, compare collating sequences by string, not by pointer. (CVS 6590) file: [0805018a] check-in: [7d2b80c7] user: drh branch: trunk, size: 62949
2009-05-01
15:17
Fix an error message that is generated if the number of columns do not match on an INSERT into a virtual table with hidden columns. (CVS 6588) file: [bd12b428] check-in: [795b453c] user: drh branch: trunk, size: 62924
02:08
Fix processing of BEFORE triggers on INSERT statements with RHS SELECTs that insert a NULL into the INTEGER PRIMARY KEY. Ticket #3832. (CVS 6583) file: [76667db0] check-in: [4a1f6a3a] user: drh branch: trunk, size: 62916
2009-04-30
00:11
Remove an always-true test from delete.c. Move the sqlite3OpenTable() routine from delete.c to insert.c since it is not used in delete.c. (CVS 6571) file: [cdb0f64e] check-in: [71756dc8] user: drh branch: trunk, size: 62893
2009-02-28
10:47
Instead of linking temporary triggers on non-temporary tables into the Table.pTrigger list, search the temp schema for them on demand. Fix for #3688. (CVS 6329) file: [71286d08] check-in: [3befe1ef] user: danielk1977 branch: trunk, size: 62175
2009-02-20
10:58
Instead of using SetNumColumns, specify the number of columns in a table or index using the P4 argument. (CVS 6310) file: [529a1b98] check-in: [e43ed649] user: danielk1977 branch: trunk, size: 62065
03:02
Add the OP_HaltIfNull opcode and use it to simplify prepared statements for INSERTs and UPDATEs of tables with NOT NULL columns. (CVS 6308) file: [69764f49] check-in: [feccad8d] user: drh branch: trunk, size: 62104
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: [6bd2464e] check-in: [d9f6ffbc] user: danielk1977 branch: trunk, size: 62038
2008-12-10
21:19
Additional work at eliminating silly compiler warnings. (CVS 6010) file: [f6db1e6f] check-in: [ea01d437] user: drh branch: trunk, size: 62026
19:26
Never use strlen(). Use our own internal sqlite3Strlen30() which is guaranteed to never overflow an integer. Additional explicit casts to avoid nuisance warning messages. (CVS 6007) file: [c34dab7d] check-in: [c872d554] user: drh branch: trunk, size: 61936
17:20
Remove or rename local variables that shadow other variables or parameters. (CVS 6005) file: [665a0e74] check-in: [e7e9fa4f] user: drh branch: trunk, size: 61918
2008-11-19
09:05
Changes to avoid "unused parameter" compiler warnings. (CVS 5921) file: [73c4b337] check-in: [88134322] user: danielk1977 branch: trunk, size: 61865
2008-11-17
19:18
Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914) file: [47d2c273] check-in: [8009220c] user: danielk1977 branch: trunk, size: 61952
2008-11-03
20:55
Change the name of the Cursor object to VdbeCursor. (CVS 5857) file: [d61998cb] check-in: [fdb98fd8] user: drh branch: trunk, size: 61923
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: [1858f297] check-in: [bfce9142] user: danielk1977 branch: trunk, size: 61934
2008-08-20
16:35
Refactor the name resolution procedures in the code generator. (CVS 5569) file: [110cca78] check-in: [daf730d1] user: drh branch: trunk, size: 61922
2008-07-28
19:34
Implement the "lookaside" memory allocation cache. Use of this cache makes the speed1.test script run about 15% faster. Added new interfaces to control the cache. (CVS 5488) file: [89cd9af5] check-in: [e48f9697] user: drh branch: trunk, size: 61833
2008-07-08
23:40
Remove obsolete code from select.c, including the "affinity" parameter to the sqlite3Select() module. (CVS 5380) file: [e8efc17d] check-in: [cbd3c158] user: drh branch: trunk, size: 61774
22:28
Added macros to convert between 32-bit ints and 64-bit ptrs to avoid compiler warnings. (CVS 5378) file: [d20fb21e] check-in: [6cdb6841] user: shane branch: trunk, size: 61779
19:34
Completely rework the sqlite3SetString() primitive so that it honors the SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374) file: [6203674c] check-in: [8ed04b1e] user: drh branch: trunk, size: 61765
2008-07-04
10:56
Fix for explicitly inserting a NULL value into the rowid column of a virtual table. (CVS 5343) file: [9af927a8] check-in: [a7f3b431] user: danielk1977 branch: trunk, size: 61771
2008-06-24
12:46
Fix a problem in sqlite3ExprIsInteger() causing failures on select1-4.9.2. Other bug fixes in compound-merge. The compound-merge is still disabled in this check-in using "#if 0" due to additional bugs. (CVS 5295) file: [f8c7da31] check-in: [95037e6d] user: drh branch: trunk, size: 61579
00:32
The compound-select merge optimization is mostly working with this check-in. But there are still a few problems and so the optimization is disabled by and "#if 0". This check-in is to synchronize with the other changes happening in parallel. (CVS 5291) file: [4656c523] check-in: [e2ba324c] user: drh branch: trunk, size: 61579
2008-06-20
15:24
Change the SRT_Subroutine mode into SRT_Coroutine. Use co-routines in the INSERT processing logic. (CVS 5255) file: [93231fd0] check-in: [6b9d92fc] user: drh branch: trunk, size: 61634
2008-06-06
15:04
Remove the subroutine return stack from the VDBE. Return addresses for subroutines are now stored in registers. (CVS 5191) file: [c2ead6c3] check-in: [ef1956ee] user: drh branch: trunk, size: 59685
2008-05-29
03:20
When initializing the sqlite_sequence entry for an AUTOINCREMENT table, make sure the value is an reasonable integer even if the initial insert failed. Ticket #3148. (CVS 5175) file: [e3277f31] check-in: [7e684785] user: drh branch: trunk, size: 59588
2008-04-28
18:46
Make sure that transactions are started on all virtual tables that changes in a single statement, not just the first. Ticket #3083. Need to add test cases. (CVS 5063) file: [77f0829b] check-in: [133b7ee5] user: drh branch: trunk, size: 59540
2008-04-27
18:40
Remove all references to sqlite3_intptr_t. (CVS 5051) file: [9d59bf8e] check-in: [6a94d197] user: drh branch: trunk, size: 59530
2008-04-11
15:36
Additional reductions in the use of memset(). (CVS 4988) file: [5208f16d] check-in: [38746c54] user: drh branch: trunk, size: 59548
2008-04-01
05:07
Fix the CSE mechanism so that it takes into account column affinity changes that might be imposed by comparison operators. (CVS 4949) file: [6974a1d0] check-in: [91cc646e] user: drh branch: trunk, size: 59551
2008-03-31
23:48
Avoid duplicate OP_Column opcodes by remembering prior results. This is similar to CSE, but only applies to columns. (CVS 4943) file: [803299d2] check-in: [c29ee0fe] user: drh branch: trunk, size: 59572
2008-03-25
09:47
Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912) file: [c491fbd4] check-in: [04715364] user: danielk1977 branch: trunk, size: 59427
2008-03-19
20:42
Undefine the "isView" macro when compiling with SQLITE_OMIT_VIEW so that the macro does not interfer with subsequent modules in the amalgamation. (CVS 4888) file: [358c8059] check-in: [a42caa8f] user: drh branch: trunk, size: 59481
2008-03-06
09:58
Handle non-autoconf build correctly with new changes (CVS 4832) file: [3eb3d0b7] check-in: [e2a9f5f1] user: mlcreech branch: trunk, size: 59317
07:35
Use intptr_t definition to silence warnings about ptr-int casts (CVS 4824) file: [6c64040d] check-in: [54839a84] user: mlcreech branch: trunk, size: 59282
2008-02-13
18:25
Where possible, avoid freeing buffers allocated for vdbe memory cells in case they can be reused. (CVS 4783) file: [b313f5ec] check-in: [990237e2] user: danielk1977 branch: trunk, size: 59275
2008-01-25
15:04
Error messages says "no such view" instead of "no such table" when trying to DROP a VIEW that does not exist. (CVS 4750) file: [d422fda2] check-in: [50815a82] user: drh branch: trunk, size: 59205
2008-01-21
16:22
Miscellaneous test coverage improvements. (CVS 4734) file: [a741d7f0] check-in: [720bc20a] user: drh branch: trunk, size: 59202
2008-01-19
03:35
Cleanup and simplification of constraint processing. Simplifications to the VM for better test coverage. (CVS 4729) file: [969b543e] check-in: [d9ebe9d7] user: drh branch: trunk, size: 59231
2008-01-17
16:22
Registerification of the VDBE is complete. The operand stack has been removed from the code. All instructions operate out of registers only. (CVS 4718) file: [ed16eaf9] check-in: [706b41b7] user: drh branch: trunk, size: 59508
02:36
Registerification of the WHERE clause logic. (CVS 4716) file: [8a90ba2d] check-in: [b3a141b2] user: drh branch: trunk, size: 59556
2008-01-12
12:48
Continuing work toward converting the VM into a register machine. (CVS 4707) file: [a19d9f51] check-in: [a6dddebc] user: drh branch: trunk, size: 59755
2008-01-10
23:50
More work toward converting the VM into a register-based machine. (CVS 4704) file: [405cf055] check-in: [8cbd4651] user: drh branch: trunk, size: 59345
03:46
Continuing work toward registerizing the code generator. (CVS 4703) file: [b8406b40] check-in: [173698c9] user: drh branch: trunk, size: 58717
2008-01-09
23:04
All essential opcodes can now operate out of registers and completely avoid the stack. Many still optionally use the stack to support legacy code generation, but the stack is not required. The next step is to update all code generation to avoid using the stack. (CVS 4700) file: [8630ee92] check-in: [e3cf1c1c] user: drh branch: trunk, size: 58876
02:15
Continued work toward converting to a register-based VM. (CVS 4698) file: [4443b902] check-in: [92deff07] user: drh branch: trunk, size: 58866
2008-01-08
23:54
Registerify the comparison opcodes. (CVS 4697) file: [c79591d6] check-in: [8862ce9c] user: drh branch: trunk, size: 58875
18:57
Finish registerizing the core logic of INSERT and UPDATE. (CVS 4696) file: [e46f25f5] check-in: [5fd10367] user: drh branch: trunk, size: 58820
02:57
Progress toward registerification of the constraint checking logic for INSERT and UPDATE. (CVS 4693) file: [3a451020] check-in: [b9bf509e] user: drh branch: trunk, size: 59022
2008-01-07
19:20
Registerify the AUTOINCREMENT processing and the OP_IsNull and OP_NotNull operators. (CVS 4692) file: [9c1a6501] check-in: [aa48867c] user: drh branch: trunk, size: 58551
2008-01-06
00:25
Registerify the SRT_Subroutine destination for SELECT results. (CVS 4690) file: [20325a8c] check-in: [8201f717] user: drh branch: trunk, size: 57685
2008-01-05
05:20
Register-ify the OP_AddImm and all casting opcodes. Omit the OP_MemIncr opcode. (CVS 4683) file: [70829937] check-in: [3e8a07dd] user: drh branch: trunk, size: 57590
04:06
Get rid of OP_Dup, OP_MemStore, OP_MemLoad, and OP_MemMove. Replace with OP_Copy, OP_SCopy, and OP_Move. Add the infrastructure for operation properties in1, in2, in3, out2, and out3 but do not yet use any of these. (CVS 4682) file: [fb46be04] check-in: [cc149eb9] user: drh branch: trunk, size: 57591
2008-01-04
22:01
Implement the out2-prerelease opcode design pattern. (CVS 4681) file: [907fa2df] check-in: [fe057a88] user: drh branch: trunk, size: 57837
19:10
Some modifications to insert.c to work without using the stack. (CVS 4678) file: [9011065e] check-in: [d9ac6bee] user: danielk1977 branch: trunk, size: 57859
13:24
Modify the code generated for a DELETE to use registers instead of the vdbe stack. (CVS 4675) file: [7a8c8259] check-in: [173f2813] user: danielk1977 branch: trunk, size: 57156
2008-01-03
23:44
Change the sqlite3ExprCode() function so that callers can request that the result of the expression be left on the stack or in a register. (CVS 4673) file: [ecffad8e] check-in: [61bfb77c] user: drh branch: trunk, size: 57089
18:03
Registers (aka memory cells) in the VM are now numbered starting with 1 instead of 0. A register number of 0 means "no such register". (CVS 4669) file: [febae80d] check-in: [0b849805] user: drh branch: trunk, size: 57071
17:31
Modify OP_VUpdate to read arguments from a range of memory cells instead of from the stack. (CVS 4668) file: [b5e3def1] check-in: [955b15a0] user: danielk1977 branch: trunk, size: 57081
11:50
Change the VdbeOp.p4 union to include specific pointer types for the various values of VdbeOp.p4type. (CVS 4667) file: [b952904a] check-in: [7e8330c8] user: danielk1977 branch: trunk, size: 57020
09:51
Change the OP_Insert opcode to read the key and data to insert from memory cells, not the stack. (CVS 4666) file: [195072a6] check-in: [46501f49] user: danielk1977 branch: trunk, size: 57025
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: [c76fbbed] check-in: [35da261d] user: danielk1977 branch: trunk, size: 57064
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: [6c8bbffd] check-in: [027875e4] user: drh branch: trunk, size: 57334
2008-01-02
16:27
Combine the eDest and iParm arguments to sqlite3Select() into a single type - "SelectDest". (CVS 4657) file: [5b806110] check-in: [86dcdfe6] user: danielk1977 branch: trunk, size: 57133
11:50
Take advantage of the fact that b-tree cursors need not be closed while other cursors modify their tables to simplify trigger program generation code. (CVS 4654) file: [1946d8c7] check-in: [f1966a8a] user: danielk1977 branch: trunk, size: 57075
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: [355c4826] check-in: [051ec01f] user: drh branch: trunk, size: 57539
2008-01-01
19:02
Optimize trigger compilation to avoid populating the OLD.* and NEW.* pseudo-tables with data that will never be used. Some testing to come. (CVS 4651) file: [3c82c974] check-in: [e08a33ed] user: danielk1977 branch: trunk, size: 57591
2007-12-14
16:11
Fix a typo in the previous check-in. Also simplify a line in select.c. (CVS 4631) file: [2b145fca] check-in: [86f45d7b] user: drh branch: trunk, size: 57571
15:12
Fix an out-of-memory NULL pointer defer in the code generator. Ticket #2843. (CVS 4630) file: [dc29839e] check-in: [b821b6ed] user: drh branch: trunk, size: 57571
2007-12-12
17:42
Try to find some more stack leaks by adding OP_StackDepth to loops in DML statements. None were found. (CVS 4617) file: [c7e1867a] check-in: [12c3029b] user: danielk1977 branch: trunk, size: 57557
2007-11-27
14:46
Update the version number to 3.5.3. Fix some minor testing problems. (CVS 4563) file: [a090c725] check-in: [f4c8f2d1] user: drh branch: trunk, size: 57453
2007-11-23
15:02
Make sure that INSERT INTO ... SELECT ... always uses an ephemeral intermediate table if the SELECT clause refers to the destination table, even if the SELECT clause is compound or uses the destination table in a subquery. This fixes a long-standing bug that can cause an infinite loop for some SQL statements. (CVS 4552) file: [86fe24ca] check-in: [492b39b6] user: drh branch: trunk, size: 57413
2007-09-03
17:30
Remove an unreachable case from xferOptimization(). Also other minor test coverage improvements. (CVS 4383) file: [df9712e1] check-in: [75af7189] user: danielk1977 branch: trunk, size: 56988
2007-08-29
13:45
Be careful to verify the schema cookie when running the xfer optimization on INSERT statements. (CVS 4322) file: [b11e5ca0] check-in: [d8ef7024] user: drh branch: trunk, size: 56988
2007-08-16
12:24
Combine sqlite3DbOfVdbe() and sqlite3VdbeDb() into a single function. (CVS 4236) file: [633322ae] check-in: [ba80ee59] user: drh branch: trunk, size: 56945
04:30
Half-way through a major refactoring of the memory allocation. I have not even attempted to compile so I am certain there are countless errors. (CVS 4231) file: [bca11ad7] check-in: [deb7ecd6] user: drh branch: trunk, size: 56949
2007-07-23
19:39
The REPLACE conflict resolution falls back to FAIL when on a CHECK constraint violation. Ticket #2525. (CVS 4178) file: [ca135e91] check-in: [b213614a] user: drh branch: trunk, size: 56861
2007-06-26
10:38
Allow virtual tables to mark columns as 'hidden'. Hidden columns do not show up in "*" expansion, the implicit column list of an INSERT statement, or the results of a "PRAGMA table_info" statement. (CVS 4127) file: [89d18442] check-in: [7f887a6a] user: danielk1977 branch: trunk, size: 56892
2007-05-04
13:15
Eliminate all uses of sprintf() and strcpy(). These were not being misused. But getting rid of them removes a library dependency. And it avoids warnings from the OpenBSD compiler. Ticket #2336. (CVS 3916) file: [e595ca26] check-in: [ba4845b3] user: drh branch: trunk, size: 56378
2007-04-18
14:24
Minor changes (mainly to assert() macros) to handle malloc failure in vtab operations. (CVS 3851) file: [413cc069] check-in: [175156d1] user: danielk1977 branch: trunk, size: 56208
2007-04-10
18:17
Preliminary fix for ticket #2291. This fixes the immediate problem. But we really need to write more tests for the xfer optimization in order to look for other related problems before closing this ticket. (CVS 3835) file: [f3cd1785] check-in: [34fec312] user: drh branch: trunk, size: 56193
2007-04-01
23:49
Fix some warnings about unused and uninitialized variables. (CVS 3788) file: [967be8c1] check-in: [18aec1dd] user: drh branch: trunk, size: 56364
2007-03-31
13:00
The XFER optimization works if the target table lacks an integer primary key and is not empty as long as it has no indices. It always has and continues to work if the target table was empty. (CVS 3779) file: [664e4cca] check-in: [2c62ffcb] user: drh branch: trunk, size: 56364
2007-03-29
13:35
Fix a bug in XFER optimization introduced by check-in (3736). (CVS 3744) file: [aa61e778] check-in: [3714ac17] user: drh branch: trunk, size: 56106
05:51
Change BtreeMoveto so that it can be biased to the right or to the center. Use a right bias when appending and a center bias when searching. This gives about a 15% reduction in calls to sqlite3VdbeRecordCompare. (CVS 3741) file: [bdd1e2b4] check-in: [ad4a6b1a] user: drh branch: trunk, size: 56083
00:08
Patch so the the code compiles with -DSQLITE_OMIT_CHECK=1. (CVS 3737) file: [80b1cc84] check-in: [72cea358] user: drh branch: trunk, size: 55470
2007-03-28
18:04
Improvements to the XFER Optimization of the INSERT statement. (CVS 3736) file: [4233b644] check-in: [53fff7d1] user: drh branch: trunk, size: 55437
2007-03-27
12:04
Get the -DSQLITE_OMIT_XFER_OPT option working. Run speed tests on a full regression. Add the script for generating sqlite3.c. (CVS 3723) file: [9dbb62ba] check-in: [42c03851] user: drh branch: trunk, size: 55327
2007-02-24
15:18
Additional test cases added. Improvements to the INSERT transfer optimization. (CVS 3662) file: [72cb64b6] check-in: [2bf5475b] user: drh branch: trunk, size: 55325
13:53
Additional tests and some improvements to the INSERT transfer optimization. More testing is needed. (CVS 3661) file: [e0a6288f] check-in: [83098581] user: drh branch: trunk, size: 55308
13:23
Make sure the INSERT xfer optimization does not trigger if the CHECK constraints on the two tables are not identical. Ticket #2252. (CVS 3660) file: [e1398c41] check-in: [6fc18275] user: drh branch: trunk, size: 54952
2007-02-13
15:01
Add a new algorithm for handling INSERT which reduces fragmentation on a VACUUM. Ticket #2075. More testing needed. (CVS 3643) file: [c7cb4894] check-in: [9f56a878] user: drh branch: trunk, size: 54786
2006-08-29
18:46
Bug fix: Get INSERT INTO ... SELECT working when the target is a virtual table. (CVS 3374) file: [e9526ced] check-in: [79124857] user: drh branch: trunk, size: 40307
2006-08-25
23:42
Add support for INSERT INTO ... DEFAULT VALUES. Tickets #299, #1940. (CVS 3368) file: [924d3cdd] check-in: [bc84cb54] user: drh branch: trunk, size: 40291
2006-06-19
03:05
Add tests to ensure an INSERT/UPDATE/DELETE immediately after virtual table construction does not fail. (CVS 3270) file: [63f01d3f] check-in: [144d0eb1] user: danielk1977 branch: trunk, size: 40292
2006-06-16
16:08
Add code to invoke the virtual table transaction interface. Untested at this point. (CVS 3261) file: [5c1fddd7] check-in: [61251402] user: danielk1977 branch: trunk, size: 40210
06:17
Arrange for sqlite3_last_insert_rowid() to work with virtual tables. (CVS 3259) file: [09440829] check-in: [afa39a46] user: danielk1977 branch: trunk, size: 40175
2006-06-15
07:29
Simple tests and fixes for writing to virtual tables. (CVS 3252) file: [eba160c6] check-in: [88fa510e] user: danielk1977 branch: trunk, size: 40175
2006-06-14
19:00
Added code to INSERT, DELETE and UPDATE virtual tables. The new code is mostly untested. (CVS 3248) file: [bda00a0e] check-in: [32c97b88] user: drh branch: trunk, size: 40167
2006-06-11
23:41
Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211) file: [2c3eeb4b] check-in: [898ec36b] user: drh branch: trunk, size: 39684
2006-03-15
16:26
Fix CHECK constraints to use alternative conflict resolution. Ticket #1717. (CVS 3137) file: [1ae4b8ff] check-in: [c0d20fa9] user: drh branch: trunk, size: 39682
2006-03-06
20:55
Code changes resulting from Coverity analysis. http://scan.coverity.com/ Found 1 potential segfault in sqlite3_mprintf(). Also 2 failures to fclose() following a malloc() failure. And lots of cases where unnecessary conditionals could be removed from the code. (CVS 3126) file: [2b0eb1f7] check-in: [e510e6dd] user: drh branch: trunk, size: 39433
2006-02-24
02:53
Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) file: [ae51e360] check-in: [4b22e4b8] user: drh branch: trunk, size: 39449
2006-02-10
02:27
Add the column_origin_name() etc. APIs. (CVS 3069) file: [67b3dc11] check-in: [82f502cd] user: danielk1977 branch: trunk, size: 39469
2006-01-24
12:09
Rename some variables to avoid hiding others. Also add "static" to two function signatures that were missing it. (CVS 3024) file: [7e931b7f] check-in: [d86f18a4] user: danielk1977 branch: trunk, size: 39455
2006-01-20
18:10
More compiler warnings fixed - or in some cases comments are added to explain that the compiler is wrong. (CVS 2984) file: [4d37e285] check-in: [507653a9] user: drh branch: trunk, size: 39447
2006-01-18
16:51
Use a global variable protected by a mutex instead of thread-specific-data to record malloc() failures. (CVS 2972) file: [4f338c85] check-in: [ac090f2a] user: danielk1977 branch: trunk, size: 39454
2006-01-11
21:41
Automatically deallocate thread-specific data when it is no longer being used. Ticket #1601. Also implemented the suggestion of ticket #1603. Memory management is now off by default at compile-time. The sqlite3_enable_memory_management() API has been removed. (CVS 2919) file: [a5595cf8] check-in: [5d9c6aa9] user: drh branch: trunk, size: 39486
2006-01-10
17:58
Store collation sequence names instead of pointers in sharable schema data structures. (CVS 2904) file: [33778513] check-in: [0f0213be] user: danielk1977 branch: trunk, size: 39456
2006-01-09
06:29
Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) file: [16610475] check-in: [82b81f69] user: danielk1977 branch: trunk, size: 39623
2006-01-08
18:10
Get LIMIT and OFFSET working again for negative limits and offsets. Ticket #1586. (CVS 2889) file: [59f8c1f9] check-in: [b2ac0be0] user: drh branch: trunk, size: 39603
2006-01-07
13:21
In shared-cache mode, lock all required tables before beginning to execute the body of the statement program. (CVS 2881) file: [66f2e745] check-in: [23b587b0] user: danielk1977 branch: trunk, size: 39611
2006-01-05
11:34
Add the shared schema/pager modifications. Very few tests so far. (CVS 2859) file: [d167f9d4] check-in: [deeda0dc] user: danielk1977 branch: trunk, size: 39936
2005-12-15
15:22
Add the sqlite3_update_hook() API. (CVS 2820) file: [a5629e46] check-in: [36229018] user: danielk1977 branch: trunk, size: 39771
2005-12-06
12:52
Some elements of the new malloc() failure handling. Not all cases work properly yet. Also, library is not threadsafe if malloc() fails right now. (CVS 2800) file: [53934791] check-in: [e1606658] user: danielk1977 branch: trunk, size: 39656
2005-11-24
13:15
Fix incorrect type conversions when copying from a table into itself. Ticket #1536. (CVS 2773) file: [da031c3e] check-in: [a2e55a38] user: drh branch: trunk, size: 39638
2005-11-14
22:29
Create separate affinities for INTEGER and REAL. (CVS 2766) file: [e57626da] check-in: [ce06c123] user: drh branch: trunk, size: 39576
2005-11-03
02:15
Add the ignore_check_constraints pragma. VACUUM works even on a database that contains table entries that violate check constraints. (CVS 2757) file: [e04b27e0] check-in: [be83bfee] user: drh branch: trunk, size: 39576
01:22
CHECK constraints that evaluate to NULL pass. (CVS 2755) file: [c8f12b46] check-in: [55b314a2] user: drh branch: trunk, size: 39528
00:41
First cut at supporting CHECK constraints. Everything appears to work, but much more testing is needed as well as documentation. (CVS 2754) file: [b814e8d7] check-in: [2313d912] user: drh branch: trunk, size: 39528
2005-11-01
15:48
Omit the SQLITE_AFF_INTEGER type affinity. All numeric values are now of type real, though an integer representation is still sometimes used internally for efficiency. (CVS 2753) file: [b7757ac3] check-in: [e0d6f61c] user: drh branch: trunk, size: 39127
2005-09-20
17:42
Code cleanup and simplification. Three new Mem opcodes added. The sqlite3VdbeJumpHere function added. (CVS 2730) file: [1f51566d] check-in: [2471957f] user: drh branch: trunk, size: 39181
2005-07-21
18:23
Split the OP_Integer opcode into OP_Integer and OP_Int64. This allows comments to be added to OP_Integer. Cleanup in the optimizer. Allow terms of the FROM clause to be reordered automatically. (CVS 2556) file: [484c73bc] check-in: [e2f822ac] user: drh branch: trunk, size: 39447
2005-07-08
17:13
Change the name of the OpenTemp opcode to OpenVirtual which is more descriptive of what it does. (CVS 2541) file: [c4533240] check-in: [3bb9ce5f] user: drh branch: trunk, size: 39404
2005-06-24
03:53
NULL values in a row of a unique index cause the row to be distinct. Ticket #1301. More testing and optimization needs to be done on this before closing the ticket. (CVS 2526) file: [d6175250] check-in: [06a71b16] user: drh branch: trunk, size: 39401
2005-06-12
21:35
Update older opcode names to be more meaningful in light of the latest code design. (CVS 2506) file: [8c0868a9] check-in: [36f2da1f] user: drh branch: trunk, size: 39449
2005-03-21
01:20
Fix an infinite loop in the code generator for INSERT. Ticket #1140. (CVS 2410) file: [34c25c33] check-in: [876d09d9] user: drh branch: trunk, size: 39464
2005-03-16
12:15
Fix some memory leaks that can occur if a memory allocation fails. (CVS 2388) file: [7e6b123b] check-in: [9a358fc3] user: danielk1977 branch: trunk, size: 39459
2005-02-08
08:42
Fix a buggy interaction between "INSERT ... SELECT" processing and optimization (2170). (CVS 2319) file: [0456649d] check-in: [c54ad212] user: danielk1977 branch: trunk, size: 39485
2005-01-29
08:32
Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286) file: [6ab59684] check-in: [b1b50f31] user: danielk1977 branch: trunk, size: 39079
2005-01-20
11:32
Extend the influence of a couple of SQLITE_OMIT_** macros a little bit. (CVS 2243) file: [037eb466] check-in: [5b1a9bf6] user: danielk1977 branch: trunk, size: 38980
2005-01-19
23:24
Continued refactoring of the name resolution logic and query optimizer. (CVS 2236) file: [e5f9a24e] check-in: [d8b2a7e0] user: drh branch: trunk, size: 38729
2005-01-18
04:00
Refinements to the name resolution logic. Change the name of the keywordhash.c file to keywordhash.h. (CVS 2229) file: [18d506e1] check-in: [0142ae6f] user: drh branch: trunk, size: 38726
2005-01-17
22:08
Infrastructure changes to handle name resolution differently. This is needed to fix various long-standing problems with column names in joins. It will also make the implementation of correlated subqueries easier. (CVS 2228) file: [0acf8a8c] check-in: [4a753439] user: drh branch: trunk, size: 38728
2005-01-14
01:22
Improved test coverage on insert.c. (CVS 2210) file: [2a8fadfd] check-in: [c772f751] user: drh branch: trunk, size: 38729
2005-01-10
02:48
Fix an assertion failure due to interaction between the count_changes pragma and triggers. (CVS 2187) file: [f6b69e40] check-in: [6c7bec1b] user: danielk1977 branch: trunk, size: 38772
2004-12-07
15:41
Only evaluate expressions once for UPDATE and INSERT statements that have BEFORE triggers. Fix for ticket #980. (CVS 2158) file: [0b9077c6] check-in: [4852186a] user: drh branch: trunk, size: 38742
14:06
Simplify the trigger logic for DELETE, INSERT, and UPDATE. (CVS 2157) file: [094972cc] check-in: [8e164ab2] user: drh branch: trunk, size: 38734
2004-11-13
03:48
Autoincrement is now working and has regression tests. (CVS 2095) file: [9524a6c3] check-in: [10c712a2] user: drh branch: trunk, size: 39154
2004-11-12
03:56
Autoincrement code installed. Simple smoke-testing only. No regression tests developed yet. (CVS 2091) file: [e80b009f] check-in: [8fde833c] user: drh branch: trunk, size: 37772
2004-11-09
12:44
Port the "DEFAULT CURRENT_TIME" etc. functionality from an earlier fork of sqlite. (CVS 2082) file: [8bd40dc5] check-in: [0d27c8ff] user: danielk1977 branch: trunk, size: 36615
2004-11-05
17:17
Create table now works with sqlite3NestedParse. This changed uncovered a latent bug in xprintf which is also fixed. (CVS 2069) file: [3fd6e00c] check-in: [b0506bdd] user: drh branch: trunk, size: 36676
06:02
When using sqlite3NestedParse() to modify the sqlite_master table, do not code OP_Callback. (CVS 2063) file: [b6ad8e90] check-in: [296a298c] user: danielk1977 branch: trunk, size: 36602
2004-11-04
04:42
All tests pass even if OMIT_TRIGGER is defined. (CVS 2053) file: [17f66e2c] check-in: [c33b3a61] user: drh branch: trunk, size: 36447
2004-10-31
02:22
Insert #ifdefs that can optionally remove features at compiletime resulting in a database engine with a smaller footprint. (CVS 2034) file: [64a37165] check-in: [be661acf] user: drh branch: trunk, size: 36412
2004-10-05
02:41
Add support for DEFERRED, IMMEDIATE, and EXCLUSIVE transactions. (CVS 2000) file: [7e8ce883] check-in: [81ff8107] user: drh branch: trunk, size: 36135
2004-09-19
02:15
Add comments to unused P3 fields of selected instructions when NDEBUG is not defined. This makes VDBE program dumps more readable during debugging. (CVS 1973) file: [2c10c001] check-in: [4871c77f] user: drh branch: trunk, size: 36172
2004-09-17
17:23
The INSERT code generator does a better job of detecting if the table being written into is used in the SELECT on the right-hand side. ticket #901. (CVS 1961) file: [1f2d34d6] check-in: [709bb22d] user: drh branch: trunk, size: 36131
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: [bfd21070] check-in: [3ddf5a9d] user: drh branch: trunk, size: 36056
2004-08-21
17:54
Optimizations to the code generator. (CVS 1899) file: [fc1ce65a] check-in: [bd6649c5] user: drh branch: trunk, size: 36056
2004-07-24
17:38
Prepared statements now work with CREATE and DROP. All tests pass. No memory leaks. (CVS 1866) file: [bedcba37] check-in: [ebdb661e] user: drh branch: trunk, size: 36123
2004-06-21
06:50
Update sqlite3_changes() to match the documentation and add sqlite3_total_changes(). (CVS 1645) file: [d99ffe87] check-in: [ae2f4a09] user: danielk1977 branch: trunk, size: 36147
2004-06-17
07:53
Remove redundant opcodes OP_MakeKey and OP_MakeIdxKey. (CVS 1612) file: [1428887f] check-in: [a71a9ff1] user: danielk1977 branch: trunk, size: 36163
2004-06-16
12:00
Trivial modifications to prevent compiler warnings. (CVS 1606) file: [15575e57] check-in: [6001c5e1] user: danielk1977 branch: trunk, size: 36115
2004-06-10
10:50
Add the sqlite3_collation_needed() API and fix some error handling cases involving unknown collation sequences. (CVS 1562) file: [68c7f3dd] check-in: [edf069b9] user: danielk1977 branch: trunk, size: 36113
2004-05-31
08:55
Remove the <ON CONFLICT> clause from BEGIN (CVS 1501) file: [4268d9e3] check-in: [9029274b] user: danielk1977 branch: trunk, size: 35912
2004-05-29
11:24
Transform OP_HexBlob and OP_String8 to OP_Blob and OP_String the first time they are executed. (CVS 1492) file: [0c7966db] check-in: [3225de89] user: danielk1977 branch: trunk, size: 36170
2004-05-26
10:11
Add some tests for the new API. Many more to come. (CVS 1462) file: [dd117e8b] check-in: [d5659f2e] user: danielk1977 branch: trunk, size: 36166
2004-05-25
23:35
Move the sqlite3_exec() function to legacy.c. (CVS 1455) file: [48bb15bf] check-in: [9385ad5c] user: danielk1977 branch: trunk, size: 36177
2004-05-20
22:16
Add internal support for collating sequences. This breaks 244 tests. (CVS 1420) file: [e510d62d] check-in: [a6cb09d7] user: drh branch: trunk, size: 36136
02:42
Bug fix associated with OP_SetNumColumns in insert.c. Also changed a variable name in OP_Column. (CVS 1413) file: [04865f0a] check-in: [bf2181f1] user: drh branch: trunk, size: 36128
2004-05-19
14:56
Change opcode names and comments to better describe the operation of the incrKey flag. OP_MoveTo becomes OP_MoveGe. (CVS 1407) file: [0ee4c403] check-in: [8f249c45] user: drh branch: trunk, size: 36131
2004-05-18
09:58
Fix many problems with manifest types and column affinity. Most things are working now. (CVS 1392) file: [60cc57b8] check-in: [a62872aa] user: danielk1977 branch: trunk, size: 36142
01:23
Omit the '\0' at the end of UTF-8 strings on disk (it is implied). Also don't store the number of rows at the beginning of each table record. (CVS 1390) file: [72d9dd0b] check-in: [202a470f] user: danielk1977 branch: trunk, size: 36074
2004-05-17
10:48
More changes to support the new types model. Compound SELECTs are currently broken. (CVS 1389) file: [656a648a] check-in: [0f6c9b05] user: danielk1977 branch: trunk, size: 35950
2004-05-16
11:15
More changes to support the manifest type model. A few things are currently broken. (CVS 1385) file: [76e13b73] check-in: [a4af838f] user: danielk1977 branch: trunk, size: 35949
2004-05-14
11:00
Implement type affinity for table and index records (CVS 1375) file: [5d4d1a59] check-in: [dbfe6e93] user: danielk1977 branch: trunk, size: 34716
2004-05-11
07:11
Remove code dealing with old file formats. (CVS 1354) file: [1e63d277] check-in: [dfde1121] user: danielk1977 branch: trunk, size: 33203
2004-05-10
10:34
Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1337) file: [2d082257] check-in: [ba2ba242] user: danielk1977 branch: trunk, size: 33236
2004-05-08
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: [954c0dda] check-in: [8af6474c] user: danielk1977 branch: trunk, size: 33232
2004-02-24
01:05
Refactor parts of write operations. (CVS 1268) file: [c0485ee2] check-in: [5b0147ae] user: drh branch: trunk, size: 33057
2004-02-22
20:05
Use sqliteVdbeOp3 instead of sqliteVdbeChangeP3 where applicable. (CVS 1266) file: [c59f59fb] check-in: [51f1e8f7] user: drh branch: trunk, size: 32844
2004-02-20
22:53
Fixed behaviour of last_insert_rowid() with triggers and add last_statement_change_count() function that works correctly with triggers. (CVS 1251) file: [ad2902c1] check-in: [3383413a] user: rdc branch: trunk, size: 33150
2004-02-16
03:44
Remove the NullCallback opcode. Handle the empty_result_set pragma inside the sqlite_exec() function. (CVS 1244) file: [f0a95cb6] check-in: [f7213485] user: drh branch: trunk, size: 33035
2003-12-06
21:43
Always use "(char*)0" to terminate the argument list of sqliteSetString(). This is needed for 64-bit systems that use a 32-bit integer by default. (CVS 1126) file: [01f66866] check-in: [656c9038] user: drh branch: trunk, size: 33035
2003-08-05
13:13
Provide a more informative error message when a uniqueness constraint fails. Ticket #419. (CVS 1068) file: [dc200ae0] check-in: [086aa1c9] user: drh branch: trunk, size: 33028
2003-06-04
16:24
Fix a bug in UPDATE OR REPLACE that was introduced by check-in (999). Also clean up some compiler warnings for VC++. (CVS 1005) file: [fc4c26a0] check-in: [af6f2bdf] user: drh branch: trunk, size: 32318
12:23
Avoid corrupting indices when doing a REPLACE on a table with an INTEGER PRIMARY KEY that also has another index. Ticket #334. (CVS 999) file: [6a61c6d1] check-in: [e813faae] user: drh branch: trunk, size: 32326
2003-06-01
01:10
Add the ability to INSERT or UPDATE using the "rowid" column even on tables that lack an integer primary key. (CVS 991) file: [e34301f4] check-in: [903adbe8] user: drh branch: trunk, size: 32098
2003-05-17
17:35
Fix problems with TEMP indices that lead to corrupt databases. These problems were discovered while working on ticket #317. No sure yet if that ticket is fixed. (CVS 981) file: [2f26b95c] check-in: [01398fb7] user: drh branch: trunk, size: 31910
2003-05-16
02:30
Make sure the ON CONFLICT clause on a BEGIN overrides the conflict resolution specified by an index. This fixes a bug reported on the newsgroup. (CVS 975) file: [fac16589] check-in: [0f92736d] user: drh branch: trunk, size: 31945
2003-05-02
14:32
VDBE cursors numbers for tables in a join do not have to be consecutive. This is one step on the road to fixing ticket #272. (CVS 947) file: [c230a8c2] check-in: [be7aed20] user: drh branch: trunk, size: 31876
2003-04-24
01:45
Fix some issues with INSTEAD OF triggers. (CVS 930) file: [19882be1] check-in: [206b1739] user: drh branch: trunk, size: 31874
2003-04-22
20:30
Update the authorizer API so that it reports the database that table and indices belong to and so that it reports when actions are taken in response to a trigger. (CVS 928) file: [350167db] check-in: [c675a550] user: drh branch: trunk, size: 31952
2003-04-20
17:29
Added tests for the in-memory database backend. Also updated some comments in other modules. (CVS 924) file: [ae9ffb52] check-in: [fb89adf4] user: drh branch: trunk, size: 31812
2003-04-15
19:22
Get triggers working on tables with INTEGER PRIMARY KEYs. Ticket #291. This may also fix #159. Still need to add tests so both bugs remain open for the time being. (CVS 908) file: [45d27e3e] check-in: [0b996959] user: drh branch: trunk, size: 31545
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: [e2f5e7fe] check-in: [087d1e83] user: drh branch: trunk, size: 29995
2003-03-31
02:12
Add the sqliteErrorMsg() function and use it to generate error message text during parsing and code generation. This simplifies the code somewhat and makes it easier to handle names with a database prefix. (CVS 891) file: [dad4d914] check-in: [1d3fc977] user: drh branch: trunk, size: 29615
2003-03-27
13:50
Regression tests now work - except for some changes in error message text. The library is now safe to use for experimental work. (CVS 885) file: [95e7ab3f] check-in: [8a593e9c] user: drh branch: trunk, size: 29954
12:51
Changes to the "sqlite" structure that allow simultaneous operations on multiple database files. Many regession tests pass - but not all of them. Do not use this version except for debugging SQLite itself. (CVS 883) file: [8d23a2d9] check-in: [d2fb2bb5] user: drh branch: trunk, size: 30056
2003-03-20
01:16
Record the database name in addition to the table name for DELETE, INSERT, and UPDATE statements. (CVS 879) file: [1f31bdec] check-in: [a5d8fc95] user: drh branch: trunk, size: 30049
2003-03-19
03:14
Modifications to the VDBE to support more than one database file. (CVS 878) file: [02ac6147] check-in: [875da9ee] user: drh branch: trunk, size: 30065
2003-01-29
18:46
Better error messages on constraint violations. Additional tests and bug fixes for the callback-free API. (CVS 854) file: [13c2ef89] check-in: [ccc82f1a] user: drh branch: trunk, size: 29991
2003-01-13
23:27
Revise the sqlite_set_authorizer API to provide more detailed information about the SQL statement being authorized. Only partially tested so far. (CVS 830) file: [db954e95] check-in: [45de93f9] user: drh branch: trunk, size: 29640
2003-01-12
19:33
The initial round of tests for the sqlite_set_authorizer() API. More are needed before release. Ticket #215. (CVS 829) file: [d19a7390] check-in: [5707b3d5] user: drh branch: trunk, size: 29687
18:02
Initial check-in of the code for the new sqlite_set_authorizer() API function. The code is mostly untested at this point. (CVS 827) file: [0ea9427f] check-in: [52d5007f] user: drh branch: trunk, size: 29615
2003-01-11
13:30
Remove the ColumnCount opcode, which had become a no-op. (CVS 821) file: [74018ec7] check-in: [86deb12d] user: drh branch: trunk, size: 29547
2002-09-14
13:47
Do not put a write lock on the main database file when writing to a temporary table. (CVS 750) file: [764300a0] check-in: [3f253afe] user: drh branch: trunk, size: 29593
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: [a2f54550] check-in: [723362e7] user: drh branch: trunk, size: 29547
2002-07-31
00:32
Fix for ticket #104: Make triggers on views work properly even after closing and reopening the database. Also fixed an unrelated bug in the version 2.6.0 database format upgrade logic. The upgrade logic bug was found while testing the trigger fixes. (CVS 697) file: [8aefc998] check-in: [04973fc2] user: drh branch: trunk, size: 24963
2002-07-18
00:34
Fix for ticket #107: Fix a design defect in indices that was causing queries to fail when using an index on a column containing an empty string. This fix is an incompatible file-format change. (CVS 681) file: [9bc79486] check-in: [20d152fc] user: drh branch: trunk, size: 24781
2002-07-05
21:42
All the code is now in place for SQLite to distinguish between NUMERIC and TEXT datatypes. Still need to turn on the new code and test it. (CVS 659) file: [4511e06a] check-in: [b4737a16] user: drh branch: trunk, size: 24781
2002-06-19
20:32
Fix for ticket #75: Autoincrement INTEGER PRIMARY KEY fields on an INSERT even if the data is coming from a SELECT statement. (CVS 630) file: [4bb40ed9] check-in: [d599f75b] user: drh branch: trunk, size: 24702
2002-06-11
02:25
Add RAISE() function, which allows more advanced flow-control in trigger programs (ticket #55) (CVS 614) file: [3a90bb98] check-in: [d4a2fb10] user: danielk1977 branch: trunk, size: 24723
2002-06-06
18:54
Added the %fallback directive to the lemon parser generator and used this in the parser to make the parse tables much smaller. This reduced the size of the library by 15K. (CVS 605) file: [4b0bd942] check-in: [7ac5bd29] user: drh branch: trunk, size: 24695
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: [24b4e146] check-in: [90511737] user: drh branch: trunk, size: 24217
2002-05-24
02:04
Split the IdList structure into IdList and SrcList. SrcList is used to represent a FROM clause and IdList is used for everything else. This change allows SrcList to grow to support outer joins without burdening the other uses of IdList. (CVS 584) file: [bbbd803d] check-in: [a167b71d] user: drh branch: trunk, size: 24208
2002-05-21
12:56
Fix for ticket #45: Allow an UPDATE statement to change the INTEGER PRIMARY KEY to itself without triggering a constraint error. (CVS 573) file: [5b6586bb] check-in: [592da134] user: drh branch: trunk, size: 24206
11:38
Additional code cleanup resulting from a review of the new trigger code. (CVS 572) file: [bc98bfe7] check-in: [37dbdd55] user: drh branch: trunk, size: 23956
2002-05-19
23:43
Style fixes to triggers code in various *.c files (partial fix to ticket #39) (CVS 571) file: [5233701a] check-in: [8a4195c7] user: danielk1977 branch: trunk, size: 24031
2002-05-15
11:44
Remove all tabs from the beginning of source code lines. Replace tabs with the appropriate number of spaces. (CVS 565) file: [26ca700f] check-in: [690f9a16] user: drh branch: trunk, size: 24024
08:30
Added FOR EACH ROW triggers functionality (CVS 562) file: [9f89b395] check-in: [794bf67b] user: danielk1977 branch: trunk, size: 23759
2002-04-12
10:08
Fix for bug #15: Add the sqlite_changes() API function for retrieving the number of rows that changed in the previous operation. (CVS 526) file: [31233f44] check-in: [6e71493b] user: drh branch: trunk, size: 20774
03:55
Fix for bug #16: Check for invalid functions in the VALUES clause of an INSERT statement. (CVS 525) file: [80105ff6] check-in: [43a77f01] user: drh branch: trunk, size: 20771
2002-04-09
03:28
Fix for bug #11: Output the correct row count when and INSERT does an IGNORE action. (CVS 524) file: [9ddb3b05] check-in: [bb83642e] user: drh branch: trunk, size: 20672
03:15
Fix for bug #10: Pop the stack by the right amount on an IGNORE so that the stack does not grow without bound. (CVS 523) file: [bae1964a] check-in: [f46acfc3] user: drh branch: trunk, size: 20741
2002-03-31
18:29
When an attempt is made to insert an explicit NULL into an INTEGER PRIMARY KEY column, automatically convert the NULL value into a unique integer key. This was already happening when an implied NULL was inserted - when the INTEGER PRIMARY KEY column was omitted from the list of columns being inserted. Patches from Christian Werner. (CVS 510) file: [903ff262] check-in: [9e3cf4aa] user: drh branch: trunk, size: 20741
2002-03-03
18:59
VIEWs are bound to tables when they are used, not when they are first entered. This works around the problem of what to do if a table is deleted that a view refers to. (CVS 415) file: [42bfd145] check-in: [6121e5ab] user: drh branch: trunk, size: 20413
2002-03-02
17:04
Subquery flattening is implemented and passes all regression tests. We still need to add addition tests to the suite to further exercise the flattener, however. (CVS 408) file: [4fb3428f] check-in: [d5d3e79c] user: drh branch: trunk, size: 20227
2002-02-23
02:32
Code to implement CREATE VIEW is in place. A quick smoke test shows that it works, but there are probably still many bugs. (CVS 387) file: [164d2d5e] check-in: [39fed2df] user: drh branch: trunk, size: 20290
2002-02-19
13:39
Change the name of the sanity_check PRAGMA to "integrity_check" and make it available on all compiles. (CVS 381) file: [eae5aa2e] check-in: [c6e9048e] user: drh branch: trunk, size: 20582
2002-02-18
13:56
Allow general expressions in the VALUES clause of an INSERT statement. (CVS 376) file: [9453cbba] check-in: [ec1f3fae] user: drh branch: trunk, size: 20583
2002-02-03
19:06
Fix a serious bug in INSERT when the source is a SELECT. (CVS 366) file: [98edfd1a] check-in: [20ea7375] user: drh branch: trunk, size: 20305
00:56
Five-algorithm conflict resolution appears to be working. (CVS 363) file: [173da7b0] check-in: [0115518f] user: drh branch: trunk, size: 20305
2002-02-02
18:49
Get the ABORT conflict resolution algorithm working. (CVS 362) file: [051e909c] check-in: [9be4d4c6] user: drh branch: trunk, size: 20180
2002-01-31
15:54
Change to five conflict resolution algorithms: ROLLBACK, ABORT, FAIL, IGNORE, and REPLACE. This checkin is code only. Documentation and tests are still needed. Also, ABORT is not fully implemented. (CVS 360) file: [42e89cb2] check-in: [d0e7cf4a] user: drh branch: trunk, size: 20104
2002-01-30
16:17
Added ON CONFLICT support to COPY. Updates to documentation. Bug fixes. (CVS 359) file: [37971598] check-in: [cf1538d7] user: drh branch: trunk, size: 19404
04:32
Better testing of the ON CONFLICT logic. (CVS 358) file: [5de9d858] check-in: [9bbddb8e] user: drh branch: trunk, size: 19392
00:54
More bug fixes in the ON CONFLICT enhancement. (CVS 357) file: [b942f99e] check-in: [8229b5f6] user: drh branch: trunk, size: 19354
2002-01-29
23:07
The new ON CONFLICT logic is in and passes the legacy tests. But the new capabilities have not been tested and are likely broken. (CVS 356) file: [35c3e17b] check-in: [ac8a4189] user: drh branch: trunk, size: 19392
18:41
Beginning to insert the infrastructure for ON CONFLICT clauses. (CVS 355) file: [47531661] check-in: [e00a9ff8] user: drh branch: trunk, size: 17328
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: [e3a3b5a1] check-in: [dbcfe198] user: drh branch: trunk, size: 11188
2002-01-06
17:07
Comment updates most. Also some small changes to the VDBE. (CVS 339) file: [813c3771] check-in: [9b0be4fc] user: drh branch: trunk, size: 11182
2002-01-04
03:09
An attempt to delete a single row using a WHERE clause that specifies the rowid would result in an error if the rowid did not exist. This problem has been resolved. (CVS 338) file: [7b36ce2e] check-in: [011be9a9] user: drh branch: trunk, size: 11135
2001-12-31
02:48
Comment changes. Change the use of BTree so that either the key is an integer or the data is empty. (CVS 337) file: [74e249cf] check-in: [18e606f7] user: drh branch: trunk, size: 11136
2001-12-22
21:48
Bug fix in the out-of-order INSERT. (CVS 336) file: [78c11efb] check-in: [a26d0880] user: drh branch: trunk, size: 10701
14:49
Bug fixing in the new integer primary key code. (CVS 334) file: [8119b42a] check-in: [29cab124] user: drh branch: trunk, size: 10701
2001-12-21
14:30
Added support for the INTEGER PRIMARY KEY column type. (CVS 333) file: [18353ee0] check-in: [236a54d2] user: drh branch: trunk, size: 10735
2001-11-07
16:48
New Next opcode and indexing style implemented. (CVS 304) file: [3526be77] check-in: [decbeb91] user: drh branch: trunk, size: 9141
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: [962f2773] check-in: [e6ca23fa] user: drh branch: trunk, size: 8988
2001-10-15
00:44
Added support for the COUNT_CHANGES pragma in order to help out the ODBC driver. Fixed a but on count(*) when applied to empty tables. (CVS 289) file: [b65c1d4b] check-in: [747bf1b3] user: drh branch: trunk, size: 8988
2001-10-13
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: [ae283e85] check-in: [288ef124] user: drh branch: trunk, size: 8316
2001-10-08
13:22
Support for temporary tables added. Still need more testing. (CVS 279) file: [a48ba850] check-in: [9368c62e] user: drh branch: trunk, size: 8224
2001-10-06
16:33
Adding table column query capability to support ODBC. (CVS 278) file: [01dd6dde] check-in: [b63b3f36] user: drh branch: trunk, size: 8123
2001-09-27
03:22
Added basic support for enforcement of UNIQUE on indices and primary keys. Support for addition constraints is to follow. (CVS 267) file: [0552c2a4] check-in: [34c42967] user: drh branch: trunk, size: 8375
2001-09-23
02:35
Fixes to the locking and rollback behavior. (CVS 261) file: [061e531d] check-in: [337b3d3b] user: drh branch: trunk, size: 8362
2001-09-16
00:13
Disclaimed copyright. Preparing for release 2.0. (CVS 250) file: [b34860ea] check-in: [4e926efe] user: drh branch: trunk, size: 8275
2001-09-15
00:57
Everything is working on Linux. This is release 2.0-Alpha-1. (CVS 246) file: [750a44c0] check-in: [14474fa1] user: drh branch: trunk, size: 8820
2001-09-14
03:24
All tests now pass. But there are still issues. For example, inserts are way too slow. And additional tests are needed for new features. (CVS 243) file: [edf098ec] check-in: [e7b65e37] user: drh branch: trunk, size: 8743
2001-09-13
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: [1072c0dd] check-in: [a0a1e701] user: drh branch: trunk, size: 8740
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: [51d21e65] check-in: [6ecc8b20] user: drh branch: trunk, size: 8720
2001-04-11
14:28
better handling of out-of-memory errors (CVS 207) file: [aa528e20] check-in: [86b30cd0] user: drh branch: trunk, size: 8511
2001-01-15
22:51
continued progress toward version 2.0 (CVS 177) file: [4bc1cab8] check-in: [c6ffb7ec] user: drh branch: trunk, size: 8343
2000-06-21
13:59
:-) (CVS 104) file: [f146f149] check-in: [e1bf96a4] user: drh branch: trunk, size: 8334
2000-06-17
13:12
:-) (CVS 101) file: [b1434c7c] check-in: [6ed35a1d] user: drh branch: trunk, size: 8300
2000-06-07
23:51
:-) (CVS 74) file: [ac4edfff] check-in: [2ffeb850] user: drh branch: trunk, size: 6629
15:11
:-) (CVS 70) file: [93f9e36b] check-in: [d3baa046] user: drh branch: trunk, size: 6698
14:42
:-) (CVS 1697) file: [8bd762bb] check-in: [5d773b5d] user: drh branch: trunk, size: 6696
2000-06-05
18:54
:-) (CVS 52) file: [5e69dd70] check-in: [c02268bd] user: drh branch: trunk, size: 5325
2000-06-04
12:58
rework the VDBE engine. NULL is now distinct from "" (CVS 49) file: [ddae33b3] check-in: [6ea5cebf] user: drh branch: trunk, size: 5284
2000-06-03
18:06
added default values (CVS 46) file: [62951015] check-in: [27c06786] user: drh branch: trunk, size: 5144
2000-06-02
13:27
:-) (CVS 37) file: [747aad76] check-in: [2b55f9b7] user: drh branch: trunk, size: 4971
01:17
:-) (CVS 34) file: [5d713f4a] check-in: [52338f4a] user: drh branch: trunk, size: 4874
2000-05-31
15:34
added aggregate functions like count(*) (CVS 21) file: [bd34716d] check-in: [dee7a8be] user: drh branch: trunk, size: 4874 Added