/ File History
Login

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

History of src/update.c

2019-03-08
15:30
Merge all the latest enhancements from trunk. file: [eafa026e] check-in: [667cce3d] user: drh branch: begin-concurrent-pnu, size: 37637
2019-01-22
13:45
Make sure cursors are opened on all indexes for an UPDATE OR REPLACE regardless of whether or not the indexes are partial or contain columns that might need to be updated. file: [0b973357] check-in: [e148cdad] user: drh branch: trunk, size: 37213
2019-01-02
19:46
Merge changes from begin-concurrent-wal2. Also modify the unix-excl shm-locks on this branch so that it is not an error to attempt to release an EXCLUSIVE lock that is not held. file: [ddae32c4] check-in: [86685679] user: dan branch: begin-concurrent-pnu-wal2, size: 37644
2018-12-29
02:26
A new implementation of sqlite3VdbeMakeLabel() is faster and makes fewer memory allocations by deferring memory allocation until sqlite3VdbeResolveLabel() is called, at which point the code generator has a better idea of how big the relocation table needs to be. The sqlite3VdbeMakeLabel() routine now takes a Parse* parameter instead of Vdbe*. file: [4e630e47] check-in: [4a0929ac] user: drh branch: trunk, size: 37220
2018-11-20
16:02
Consolidate the two sqlite3SchemaToIndex() routines. file: [792c3c1c] check-in: [dfab7170] user: dan branch: reuse-schema1, size: 37315
2018-11-19
20:41
Fix a problem with virtual tables in shared schemas. file: [6659f40a] check-in: [84be9220] user: dan branch: reuse-schema1, size: 37316
2018-11-17
18:11
Fix further problems with the feature on this branch. file: [336eec2a] check-in: [6d7a7e5f] user: dan branch: reuse-schema1, size: 37274
2018-11-16
17:04
Fix further REUSE_SCHEMA issues. file: [34d648f4] check-in: [9780829a] user: dan branch: reuse-schema1, size: 37264
2018-11-15
21:20
Fix some problems with the feature on this branch. Many problems remain. file: [9e05b1eb] check-in: [31b6aee7] user: dan branch: reuse-schema1, size: 37257
2018-10-01
11:00
Ensure that the OP_VColumn opcode does set sqlite3_vtab_nochange() unless the OPFLAG_NOCHNG bit is set in P5. Fix for ticket [69d642332d25aa3b7315a6d385] file: [0c9714a1] check-in: [31ac8dba] user: drh branch: branch-3.25, size: 35178
2018-09-28
21:11
Merge latest begin-concurrent changes into this branch. file: [31d5208f] check-in: [6f3dd980] user: dan branch: begin-concurrent-pnu, size: 37629
2018-09-27
20:20
Ensure that the OP_VColumn opcode does set sqlite3_vtab_nochange() unless the OPFLAG_NOCHNG bit is set in P5. Fix for ticket [69d642332d25aa3b7315a6d385] file: [1816d56c] check-in: [322ab1fc] user: drh branch: trunk, size: 37205
2018-09-17
20:47
Further optimizations to the UPDATE logic to avoid making changes to partial indexes if none of the columns mentioned in the WHERE clause are modified by the UPDATE. file: [682f112c] check-in: [d1365a5b] user: drh branch: trunk, size: 37194
2018-09-16
18:23
Remove an unreachable branch from the index-on-expression optimization. file: [52d926be] check-in: [2df2cf4f] user: drh branch: trunk, size: 36067
15:01
Improved presentation on the new code that prevents unnecessary writes to expressions on indexes during an UPDATE when the expression does not reference any of the columns that are changing. file: [74feccd6] check-in: [c9f04529] user: drh branch: trunk, size: 36047
2018-09-15
21:38
Optimization: when doing an UPDATE on a table with indexes on an expression, do not update the expression indexes if they do not refer to any of the columns of the table being updated. file: [deb215e3] check-in: [a71b1016] user: drh branch: trunk, size: 36141
2018-08-04
15:53
Further logic simplifications that flow out of the omission of the column cache. file: [345ce35e] check-in: [7d9072b0] user: drh branch: omit-column-cache, size: 35167
2018-08-03
23:04
Completely remove the column cache logic, which has been a persistent source of bugs for many years. Due to recent enhancements to the performance of the OP_Column opcode, removing the column cache actually makes speed-check.sh run faster. Removing the column cache also saves about 1,800 bytes of code space. file: [42fe8a03] check-in: [3f5f60cd] user: drh branch: omit-column-cache, size: 35170
2018-07-12
19:39
Merge latest begin-concurrent changes with this branch. file: [baabeae5] check-in: [d33527d2] user: dan branch: begin-concurrent-pnu, size: 35908
2018-07-10
17:10
Further improvements to bytecode branch testing. Fix cases where the macros said a branch could not be taken when in fact it could be. Alter some window function branch coverage macros to indicate that comparison operands cannot be NULL. file: [7b7c768d] check-in: [76e42b70] user: drh branch: trunk, size: 35484
2018-06-06
17:12
Merge the 3.24.0 changes plus a few subsequent enhancements. file: [0710fc44] check-in: [be7004a9] user: drh branch: begin-concurrent-pnu, size: 35918
2018-05-24
23:51
When doing a one-pass UPDATE or DELETE on virtual tables, close the cursor prior to running VUpdate. This allows one-pass to work on virtual tables that do not allow concurrent reads and writes. Enhance rtree to take advantage of this new capability. file: [46dc24c6] check-in: [b816023c] user: drh branch: trunk, size: 35494
2018-05-15
11:55
Merge latest trunk changes into this branch. file: [b25b06e7] check-in: [72f39efa] user: dan branch: begin-concurrent-pnu, size: 35740
2018-04-26
18:34
The previous fix for ticket [d85fffd6ffe856092ed8da] in check-in [0a514e62ad1ebe5c12da8dae] did not completely address the probably in that it only worked for cases where the OP_SCopy that loaded the register was the last instruction in the sequence for the expression, which is not necessarily the case for expressions like CASE...END. This revision prevents the registered that will be recomputed from being cached in the first place. file: [5be2f501] check-in: [9fd0faf5] user: drh branch: trunk, size: 35316
18:01
Merge latest changes from trunk. Including the "ORDER BY ... LIMIT" optimization. file: [d46f8fb3] check-in: [83a4c9f0] user: dan branch: begin-concurrent-pnu, size: 35734
15:50
Ensure that new.* values of an UPDATE do not get clobbered after the BEFORE triggers run when unmodified columns of the row being updated are reloaded. Fix for ticket [d85fffd6ffe856092ed8da] file: [75ac1102] check-in: [0a514e62] user: drh branch: trunk, size: 35310
15:04
Clarification of the behavior of a BEFORE UPDATE trigger when the trigger changes the values of some of the columns used to compute new columns in the UPDATE. file: [2946cf3c] check-in: [7bb23c2a] user: drh branch: trunk, size: 34961
2018-04-24
19:22
Update this branch with latest changes from trunk. file: [cedbdad8] check-in: [2d8d13e4] user: dan branch: begin-concurrent-pnu, size: 35172
2018-04-21
03:06
Fix UPSERT so that it plays nicely with AUTOINCREMENT. file: [0d532819] check-in: [359725ab] user: drh branch: trunk, size: 34748
2018-04-20
20:09
Fix a harmless compiler warning. file: [78c2e91b] check-in: [d2ab24f5] user: drh branch: trunk, size: 34734
19:32
Avoid opening a statement journal on single-row UPDATEs without triggers or FK constraints. file: [9db686e6] check-in: [2772404b] user: drh branch: trunk, size: 34799
16:27
Minor simplification of the previous checkin. file: [ae56e307] check-in: [d1906689] user: drh branch: upsert-opt2, size: 34873
15:56
Avoid unnecessary cursor seeks during upsert processing. file: [2f460e57] check-in: [7c4b6d54] user: drh branch: upsert-opt2, size: 35012
13:18
Enhance UPSERT so that the UPDATE uses the same set of cursors as the INSERT. file: [86e65634] check-in: [c37f39d1] user: drh branch: trunk, size: 34018
00:40
Minor simplification of the cursor allocation logic for update. file: [74ba1a99] check-in: [fdf71be6] user: drh branch: trunk, size: 33888
2018-04-19
23:52
Fix the handling of "PRAGMA count_changes=ON" with UPSERT. Also improved the implementation of count_changes in other places, without changing the behavior. file: [cc691c8b] check-in: [c6f71115] user: drh branch: trunk, size: 33898
2018-04-16
13:00
Add support for the "excluded.*" names in the UPDATE clause of an upsert. file: [5787acf0] check-in: [0203f34f] user: drh branch: upsert, size: 34041
2018-04-13
01:15
Begin adding upsert logic. This is an incremental check-in. file: [f5210fb5] check-in: [80969643] user: drh branch: upsert, size: 33925
2018-04-12
19:51
Simple comment clarification. No code or logic changes. file: [a72ab172] check-in: [a26f9c9f] user: drh branch: upsert, size: 33922
2018-04-05
16:26
Fix an instance where an uninitialized VM register might be accessed. Fix for [093420fc0]. This problem was found by OSSFuzz. file: [97d4c951] check-in: [a3b02db7] user: dan branch: trunk, size: 33932
2018-03-02
18:26
Merge latest changes from begin-concurrent into this branch. file: [503fcd66] check-in: [8ade94ba] user: dan branch: begin-concurrent-pnu, size: 34345
2018-01-23
01:56
Enhance the PRAGMA noop_update statement so that the behavior persists across reprepare operations. file: [b1ff6055] check-in: [c25da6de] user: drh branch: noop-update-reprepare, size: 34277
2018-01-12
23:18
Improved comments. Slightly tighter implementation, but no big changes. file: [a90a32ff] check-in: [a1b3f285] user: drh branch: sqlite3_value_nochange, size: 33921
21:00
Add the experimental sqlite3_value_nochange() interface usable by xUpdate methods of virtual tables to see if a column has actually changed values. file: [7736ffc6] check-in: [8b7be15e] user: drh branch: sqlite3_value_nochange, size: 33715
00:30
Enable the one-pass optimization for DELETE and UPDATE on RTree. This is parked in a branch because is seems to make no measureable performance difference. file: [82f99065] check-in: [8b8314cb] user: drh branch: rtree-one-pass, size: 33763
2018-01-11
17:04
Add the sqlite3_vtab_nochange() method which virtual table implementations can use to optimize UPDATEs. file: [8bd52c38] check-in: [d444b1ff] user: drh branch: sqlite3_vtab_nochange, size: 33657
13:43
Fix typo in comment. No code changes. file: [f75a8bf4] check-in: [2c55571b] user: drh branch: trunk, size: 33651
2017-12-12
18:17
Merge latest begin-concurrent changes into this branch. file: [afb46178] check-in: [3fde0b4d] user: dan branch: begin-concurrent-pnu, size: 34196
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: [961bd126] check-in: [3925facd] user: drh branch: trunk, size: 33642
18:26
Fix the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables. This is a modified cherrypick of [dae4a97a]. file: [262a470e] check-in: [b2679d3b] user: dan branch: branch-3.8.9, size: 29302
2017-11-10
20:13
Omit some extra code from non-SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds. file: [2e7ef383] check-in: [72be33f9] user: dan branch: update-delete-limit-fix, size: 33772
2017-11-09
19:53
Add SQLITE_ENABLE_UPDATE_DELETE_LIMIT for views and WITHOUT ROWID tables. file: [5123fcb4] check-in: [584b88aa] user: dan branch: update-delete-limit-fix, size: 33601
2017-11-01
18:48
The "PRAGMA noop_update" command now requires SQLITE_ENABLE_NOOP_UPDATE and no longer requires SQLITE_DEBUG. file: [d36ee12b] check-in: [81baf67c] user: drh branch: begin-concurrent-pnu, size: 33552
2017-09-12
18:49
Add the highly-experimental "PRAGMA noop_update=TRUE" command. file: [2bb1d048] check-in: [de2e3717] user: drh branch: pragma-noop-update, size: 33539
2017-08-10
15:19
Experimental changes that allow a WITHOUT ROWID virtual table to be writable as long as it has only a single-column PRIMARY KEY. file: [5404be9e] check-in: [ab9ee4c1] user: drh branch: writable-vtab-without-rowid, size: 33128
2017-04-11
19:58
Avoid updating unaffected indexes on a table as part of an UPDATE that requires foreign key processing in some cases. file: [c443935c] check-in: [477bea9e] user: dan branch: fkey-optimization, size: 32756
2017-02-18
20:05
Add an optimization to OP_Column to speed up sequential OP_Column instructions that read earlier fields from the same cursor. Attempt to reorder OP_Column opcodes so as to take advantage of this. file: [bcfda1d1] check-in: [c1adf959] user: dan branch: sort-column-opcodes, size: 32803
2017-01-28
19:45
Avoid redundant table b-tree cursor seeks in UPDATE statements that use the two-pass strategy. file: [456d4a46] check-in: [dc555b10] user: dan branch: trunk, size: 32750
2017-01-16
16:43
Back out check-in [0b3174e0b1364c] and replace it with a better fix for ticket [91e2e8ba6ff2e2] - a fix that does not cause the problem identified by ticket [7ffd1ca1d2ad4ec]. file: [b356b29d] check-in: [06136652] user: drh branch: automatic-index-affinity, size: 32747
2017-01-12
16:21
Fix harmless compiler warnings in the UPDATE code generator. file: [4e21634d] check-in: [385db266] user: drh branch: trunk, size: 32753
2017-01-11
20:10
Fix a problem causing the pre-update hook to be passed an incorrect rowid value in some single-pass multi-row updates. file: [715bbfe2] check-in: [62257eb5] user: dan branch: onepass-update, size: 32753
19:03
Fix a problem with single-pass multi-row UPDATE statements that invoke REPLACE conflict handling. file: [4ed0fccc] check-in: [0a2b8e1b] user: dan branch: onepass-update, size: 32621
15:42
Fix a problem preventing UPDATE statements that use a range-scan on the PK index of a WITHOUT ROWID table from using a one-pass strategy. file: [117bb080] check-in: [cab86c90] user: dan branch: onepass-update, size: 32379
2017-01-10
20:04
Changes to allow some multi-row UPDATE statements to avoid the two-pass approach. file: [77a02122] check-in: [46db23cc] user: dan branch: onepass-update, size: 32299
2016-12-07
21:35
Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recently coded instruction. file: [1da7c462] check-in: [28883e8f] user: drh branch: trunk, size: 30773
2016-11-25
19:32
Remove the OP_RowKey opcode. Use OP_RowData in its place. file: [1b832110] check-in: [6ac7b07a] user: drh branch: trunk, size: 30802
2016-11-22
01:26
Remove unnecessary OP_Close opcodes for a size reduction and performance increase. file: [68714ed4] check-in: [32be7aae] user: drh branch: trunk, size: 30801
2016-11-10
14:24
Add the unpacked key fields to OP_IdxInsert for INSERT and UPDATE statements. file: [bb985477] check-in: [67602e40] user: drh branch: unpacked-IdxInsert, size: 31066
2016-11-09
00:10
Enhance the OP_IdxInsert opcode to optionally accept unpacked key material. file: [771335a3] check-in: [89d958ab] user: drh branch: unpacked-IdxInsert, size: 30988
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: [8179e699] check-in: [92a22f01] user: drh branch: zDbSName, size: 30975
2016-05-06
20:23
Simplification to the logic used to decide between OP_Seek and OP_NotExists. Use OP_NotExists for both DELETE and UPDATE. file: [4f05ea8c] check-in: [3a695263] user: drh branch: trunk, size: 30972
2016-03-30
12:56
Avoid compiler warnings and excess opcodes when SQLITE_ENABLE_PREUPDATE_HOOK is not used. Fix the EXPLAIN output for P4_TABLE opcodes. file: [3e67ab3c] check-in: [5ab46d76] user: drh branch: sessions, size: 30941
2016-03-16
01:16
Merge all recent enhancements from trunk. file: [14c6916d] check-in: [6a7ee04b] user: drh branch: sessions, size: 30796
2016-03-08
01:32
Add the ALLBITS macro as a shorthand for "(Bitmask)(-1)". file: [56b3db7e] check-in: [91bd619d] user: drh branch: trunk, size: 30210
2016-02-27
17:16
Experimental "PRAGMA onconflict=FAIL" statement to change the default ON CONFLICT algorithm to something other than ABORT. file: [3c911431] check-in: [3a0c347c] user: drh branch: pragma-onconflict, size: 30221
2016-02-13
14:07
Merge the changes for the 3.11.0 release candidate from trunk. file: [c0016d27] check-in: [4d7a802e] user: drh branch: sessions, size: 30800
2016-02-10
16:03
Omit NOT NULL checks on unchanging columns in an UPDATE. file: [a7eeeaff] check-in: [6a3aaedf] user: drh branch: trunk, size: 30214
2016-02-05
14:15
Merge enhancements from trunk. file: [52552d2f] check-in: [a533608c] user: drh branch: sessions, size: 30785
13:38
Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority cases where db is guaranteed to be not NULL. file: [310ca7ad] check-in: [0a802e96] user: drh branch: oom-handling, size: 30199
2016-02-04
02:34
Add and use the sqlite3VdbeZeroRegister() interface for coding the common operation of writing zero into a register. file: [37568d17] check-in: [1c8d3001] user: drh branch: zero-register, size: 30188
2015-12-02
20:40
Merge recent enhancements from trunk. file: [d8d675aa] check-in: [d1a1278d] user: drh branch: sessions, size: 30783
2015-11-26
19:33
Add the "colUsed" field to the sqlite3_index_info structure passed to virtual table xBestIndex methods. To indicate the subset of the virtual table columns that may be required by the current scan. file: [17332f9f] check-in: [116b2064] user: dan branch: vtab-colused, size: 30197
2015-10-30
16:50
Merge all the latest enhancements from trunk. file: [c2fff3b6] check-in: [395a153f] user: drh branch: sessions, size: 30580
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: [40e51cd0] check-in: [cdc92919] user: dan branch: btree-fordelete-flag, size: 29994
2015-10-17
01:00
Change the code generator for UPDATE to generate code in an order that might run more efficiently in many cases. file: [04ed5f03] check-in: [c6239bf9] user: drh branch: improved-update, size: 30174
2015-10-15
19:21
Enhance the use of the column cache for UPDATE statements, making them more efficient for the case where a column is modified to be an expression of other unmodified columns. file: [aa10336a] check-in: [871e091d] user: drh branch: trunk, size: 29991
2015-10-10
20:35
Pull in the latest 3.9.0 tweaks from trunk. file: [19b4edc4] check-in: [ed174ccf] user: drh branch: sessions, size: 30574
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: [dc376640] check-in: [9ddef84d] user: drh branch: trunk, size: 29988
2015-09-30
14:50
Merge recent enhancements from trunk, and especially the fix for ticket [1b266395d6bc10]. file: [9e102cc3] check-in: [b2face9a] user: drh branch: sessions, size: 30565
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: [a134027f] check-in: [7d272aa6] user: drh branch: trunk, size: 29979
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: [d8f0afe1] check-in: [59662cd2] user: drh branch: vtab-onepass, size: 29982
12:32
Fix compiler warnings. file: [e0169d20] check-in: [d1a07838] user: drh branch: vtab-onepass, size: 29993
10:11
Add tests for fts3 and onepass update/delete operations. Also fix a problem with onepass updates that do not affect any rows. file: [4fb82a24] check-in: [820c8044] user: dan branch: vtab-onepass, size: 30081
2015-09-28
20:03
Also allow UPDATE on virtual tables to use the onepass strategy. file: [779319e1] check-in: [1aa27d70] user: dan branch: vtab-onepass, size: 29956
2015-09-15
15:55
Merge the latest trunk enhancements with this branch. file: [04a06489] check-in: [b7469c44] user: dan branch: sessions, size: 29273
2015-09-14
10:47
Merge the latest trunk enhancements. file: [ce515721] check-in: [22ce9218] user: drh branch: sessions, size: 29269
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: [eb7ab3ff] check-in: [eaeb2b80] user: dan branch: onepass-delete, size: 28687
2015-09-03
14:48
Merge recent trunk enhancements. file: [352eb0f1] check-in: [6a513c05] user: drh branch: sessions, size: 29113
14:18
Merge enhancements from trunk. file: [3c5bc957] check-in: [1ab10cbf] user: drh branch: index-expr, size: 28683
13:46
Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help with code generation, especially on PRAGMAs. Rename sqlite3VdbeAddGoto() to just sqlite3VdbeGoto(). file: [795fba8e] check-in: [847387ec] user: drh branch: trunk, size: 28527
2015-09-02
18:19
Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for sqlite3VdbeAddOp2(v,OP_Goto,0,i). file: [bf0db561] check-in: [be78f413] user: drh branch: trunk, size: 28530
2015-09-01
18:52
Merge recent enhancements from trunk. file: [b551ee2d] check-in: [cb772366] user: drh branch: sessions, size: 29127
2015-08-25
19:24
Merge trunk enhancements. file: [e1bea2b6] check-in: [e8b02902] user: drh branch: index-expr, size: 28697
19:20
Use the sqlite3IndexColumnAffinity() routine to quickly and correctly find the affinity of an index column. file: [adc8b4b2] check-in: [1ee089a7] user: drh branch: trunk, size: 28541
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: [798196d7] check-in: [efaabdb7] user: drh branch: index-expr, size: 28696
2015-06-08
22:59
Code refactoring to try to shift FROM-clause subquery manifesting until after the query planner runs. Except this does not currently work because the query planner needs an estimated of the number of rows in the manifested table. Work in progress. file: [831a657b] check-in: [cabf2187] user: drh branch: view-optimization, size: 28546
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: [24dd6a45] check-in: [cdc0ca6f] user: drh branch: sessions, size: 29126
17:29
The SRT_Table type for the SelectDest object is now just an SRT_EphemTab for which the ephemeral table has already been allocated. file: [487747b3] check-in: [b9727e6b] user: drh branch: trunk, size: 28540
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: [250cefb9] check-in: [0a7f2051] user: dan branch: insert-select-opt, size: 28674
2014-10-31
14:53
Merge recent trunk enhancements, and in particular the improvements to the b-tree balancing logic, into the sessions branch. file: [d207deb7] check-in: [28b044a5] user: drh branch: sessions, size: 29244
2014-10-28
16:50
Fix a crash that could occur if the WHERE clause of an UPDATE statement on a view that does not feature a column named "rowid" contains a term such as "rowid=?". file: [3c4ecc28] check-in: [8523670d] user: dan branch: trunk, size: 28658
2014-09-29
18:47
Add the OPFLAG_MULTICOLUMN flag to the OP_Column opcode. Rearrange OP_Column instructions to take advantage of the new flag for a small performance increase file: [dcc1733c] check-in: [5e5d6e86] user: drh branch: faster-OP_Column, size: 28693
2014-09-08
15:04
Merge support for large files on Android from trunk. file: [b9e5295d] check-in: [c2885c6b] user: drh branch: sessions, size: 29236
2014-09-06
16:39
Fix typos in comments. No code changes. file: [729f6f18] check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 28650
2014-08-06
01:25
Merge the latest 3.8.6 beta changes from trunk. file: [b0f38fda] check-in: [68a6d5e2] user: drh branch: sessions, size: 29239
2014-08-04
21:26
Part of the change in the previous check-in was incorrect and can result in an incorrect UPDATE for WITHOUT ROWID tables. This check-in fixes the problem. file: [ea336ce7] check-in: [ee5f6eae] user: drh branch: IN-operator-improvements, size: 28653
18:50
Further enhancements to IN-operator processing. file: [510c59a2] check-in: [7fdf26da] user: drh branch: IN-operator-improvements, size: 28619
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: [41634404] check-in: [2f724cba] user: drh branch: deadend, size: 28612
2014-05-29
20:29
Merge trunk changes into the sessions branch. file: [0f16e1d5] check-in: [9f18e78f] user: drh branch: sessions, size: 29198
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: [01564b3c] check-in: [d16e575d] user: drh branch: trunk, size: 28612
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: [f2ded39e] check-in: [17349a49] user: drh branch: safer-malloc, size: 28610
2014-03-04
14:34
Merge the performance enhancements of trunk (and some obscure bug fixes) into the sessions branch. file: [7bb549d6] check-in: [7f51ad97] user: drh branch: sessions, size: 29193
2014-02-19
19:14
Add the VdbeCoverageNeverTaken() macro, and comments that better describe how the VDBE branch coverage measurement works. Add some tags to provide 100% VDBE branch coverage. file: [5b3e74a0] check-in: [c1e94169] user: drh branch: trunk, size: 28607
2014-02-17
22:40
Add logic to do test coverage measurements on the VDBE code. file: [16d6555a] check-in: [ce184c7b] user: drh branch: insert-optimization, size: 28614
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: [b126167e] check-in: [35b4d6e9] user: drh branch: insert-optimization, size: 28326
2014-02-05
18:15
Use a new opcode, OP_OpenHash, to indicate that ephemeral tables can be unordered, rather than using the BTREE_UNORDERED bit in the P5 field. file: [3d2bdfe2] check-in: [2997e181] user: drh branch: subquery-codegen-refactor, size: 28341
2014-01-28
18:06
Bring in the latest updates from trunk. file: [437c130e] check-in: [7b5f3773] user: drh branch: sessions, size: 28975
2014-01-24
22:58
Fixes for various clang warnings. file: [a7df6fff] check-in: [87bf6063] user: drh branch: trunk, size: 28389
2013-12-24
12:09
Merge the latest trunk changes into the sessions branch. file: [3143bbdf] check-in: [cfd110bf] user: drh branch: sessions, size: 28907
2013-12-22
22:45
Remove a condition that is always in the logic that handles reading default values for columns. file: [c2706a6e] check-in: [895af097] user: drh branch: trunk, size: 28321
2013-12-19
02:56
Omit an unnecessary OP_Null opcode from UPDATE. file: [47baf532] check-in: [72d11133] user: drh branch: trunk, size: 28332
2013-12-03
20:51
Merge in trunk changes. file: [4ada523d] check-in: [a2914d6b] user: drh branch: sessions, size: 28853
10:14
Remove an unnecessary branch from the UPDATE logic - one that was also unreachable except following an OOM on x64. file: [d1c2477d] check-in: [72f97277] user: drh branch: trunk, size: 28267
2013-11-26
18:00
Merge in performance enhancements from trunk. file: [046d7df2] check-in: [fc9ae839] user: drh branch: sessions, size: 28961
2013-11-19
02:34
Avoid seeking on the main data table during the first loop of an UPDATE if an index is sufficient to check the WHERE clause. file: [c05a0ee6] check-in: [57158d9d] user: drh branch: trunk, size: 28375
2013-11-17
02:42
Make sure one-pass DELETE for WITHOUT ROWID tables correctly positions the PRIMARY KEY cursor. Make the same fix for UPDATE. file: [cc3d8269] check-in: [6bd5750b] user: drh branch: optimize-delete, size: 28238
2013-11-16
23:16
Fix a couple of minor problems with the new delete logic. file: [18e9b11b] check-in: [a11243f8] user: drh branch: optimize-delete, size: 28191
20:13
Enhance the DELETE logic so that it can make use of WHERE_ONEPASS_DESIRED for rowid tables. file: [6a45368f] check-in: [8f479a72] user: drh branch: optimize-delete, size: 28271
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: [faee30d7] check-in: [5addd123] user: drh branch: sessions, size: 29028
16:55
Remove unreachable code, replacing it in most cases with assert() or NEVER() macros. file: [3de7e657] check-in: [924d63b2] user: drh branch: trunk, size: 28442
2013-11-08
15:19
Performance improvements: Avoid unnecessary seeks when doing a single-row UPDATE on a WITHOUT ROWID table. file: [95a640c5] check-in: [6f187a0f] user: drh branch: trunk, size: 28433
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: [79f10ddc] check-in: [74e3ee2e] user: drh branch: trunk, size: 28130
2013-11-07
21:32
Fix a compiler warning introduced by the previous check-in. file: [0e421a0d] check-in: [404bd98f] user: drh branch: trunk, size: 27955
21:25
Enable the WHERE_ONEPASS_DESIRED optimization for UPDATE operations on WITHOUT ROWID tables. file: [a1580fb4] check-in: [21530798] user: drh branch: trunk, size: 27953
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: [516e0ea0] check-in: [defd5205] user: drh branch: omit-rowid, size: 27364
2013-11-05
01:59
Add the conflict2.test script. Fix issues discovered by this script. file: [c60e6169] check-in: [294ed337] user: drh branch: omit-rowid, size: 27499
2013-11-04
18:34
Add another test case file for WITHOUT ROWID and fix the bugs that the new test file uncovered. file: [a804e718] check-in: [bc2a06eb] user: drh branch: omit-rowid, size: 27511
2013-11-01
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: [94d63d3e] check-in: [c525ac56] user: drh branch: omit-rowid, size: 27495
14:03
Improved VDBE comments on the constraint checker. Fix a missing write lock in the UPDATE logic. file: [fff9ac57] check-in: [3bed599e] user: drh branch: omit-rowid, size: 27043
12:42
Some UPDATE statements now working in WITHOUT ROWID tables. file: [fe12f3cd] check-in: [5c0eaea6] user: drh branch: omit-rowid, size: 26980
2013-10-31
20:34
Fix the Synopsis on OP_Concat. Added test_addop_breakpoint() during SQLITE_DEBUG. Enhanced sqlite3VdbeChangeToNoop() to omit the instruction if it is the most recent added. Continue to fix problems with UPDATE and WITHOUT ROWID. file: [5afafb53] check-in: [9b6d9e10] user: drh branch: omit-rowid, size: 26979
12:13
Moving UPDATE towards the iDataCur/iIdxCur representation. Still not working for WITHOUT ROWID, though. file: [3cabfcbd] check-in: [deacbd21] user: drh branch: omit-rowid, size: 26837
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: [3be9af55] check-in: [1adfca60] user: drh branch: omit-rowid, size: 26653
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: [103ab76c] check-in: [0d4fea74] user: drh branch: omit-rowid, size: 26766
2013-10-25
19:17
Progress toward getting UPDATE to work in WITHOUT ROWID tables. file: [e39378bc] check-in: [e557b7d8] user: drh branch: omit-rowid, size: 26503
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: [2bb5a267] check-in: [a106ce86] user: drh branch: omit-rowid, size: 24596
2013-10-10
20:13
Synchronize with the trunk. file: [be9831a7] check-in: [136445ba] user: drh branch: sessions, size: 25182
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: [f5182157] check-in: [e940b5de] user: dan branch: trunk, size: 24596
2013-08-29
15:08
Merge from trunk: (1) Recent bug fixes (2) STAT4 support (3) win32-longpath support. file: [8bacc585] check-in: [e7ebc8f7] user: drh branch: sessions, size: 25128
2013-08-06
20:01
When possible, use the multi-column samples in sqlite_stat4 to estimate the number of index rows scanned by a query plan. file: [7d9d38e4] check-in: [2973f5ca] user: dan branch: sqlite_stat4, size: 24542
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: [e3668141] check-in: [7e1acb39] user: drh branch: sessions, size: 25124
2013-08-01
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: [7f3fe64d] check-in: [fb9044d1] user: drh branch: partial-indices, size: 24538
2013-06-26
13:31
Bring the sessions branch up-to-date with all the latest trunk changes. file: [19daebf6] check-in: [086a1272] user: drh branch: sessions, size: 25101
2013-06-05
23:39
Move the definitions of the WhereLevel and WhereInfo objects out of sqliteInt.h and into where.c. This will facilitate future refactoring of the internal query planner data structures. file: [8e76c3d0] check-in: [1574653b] user: drh branch: nextgen-query-plan-exp, size: 24515
2013-05-08
18:50
Merge all recent trunk changes into the sessions branch. file: [2f6de22a] check-in: [ae6c4a09] user: drh branch: sessions, size: 25089
2013-05-06
13:22
Make sure the authorizer callback gets a valid pointer to "ROWID" for the column-name parameter when doing an UPDATE that changes the rowid. Fix for ticket [0eb70d77cb05bb2272]. file: [4c0c6864] check-in: [26a59bb8] user: drh branch: trunk, size: 24503
2013-03-28
01:19
Merge the changes for the 3.7.16.1 release candidate into the sessions branch. file: [beef58f5] check-in: [ee35a897] user: drh branch: sessions, size: 25028
2013-03-21
21:20
Many spelling fixes in comments. No changes to code. file: [a2a5631d] check-in: [6f6e2d50] user: mistachkin branch: trunk, size: 24442
2012-08-25
01:21
Merge the latest trunk changes into the sessions branch. file: [abb0fcab] check-in: [aa62d688] user: drh branch: sessions, size: 25029
00:49
Backport check-in [62678be3df35cd]: When the same index is used for all OR-terms in a WHERE clause, then try to use that index as a covering index. file: [e85ead70] check-in: [865dfcba] user: drh branch: branch-3.7.2, size: 24120
2012-08-24
18:44
Fix a problem to do with multi-or queries and automatic indexes. file: [28d2d098] check-in: [a3e26038] user: dan branch: multi-or-covering-index, size: 24443
2012-01-05
13:02
Merge all of the latest trunk changes into the sessions branch. file: [89de085a] check-in: [a9bcb432] user: drh branch: sessions, size: 25026
2011-12-09
16:21
Make no assumptions about the initial state of VDBE registers. file: [d3076782] check-in: [521d72bd] user: drh branch: uninit-vdbe-mem, size: 24440
2011-10-21
17:08
Merge the latest trunk enhancements into the sessions branch. file: [75095192] check-in: [8baef581] user: drh branch: sessions, size: 24844
2011-10-14
21:49
Add assert() statements and eliminate needless variable assignments in order to get the clang scan-build utility to report zero problems against the SQLite core. Clang's static analysis did find one real problem - but it was in the command-line shell, not in the SQLite core. file: [25e046a8] check-in: [60fee957] user: drh branch: trunk, size: 24258
2011-07-22
12:49
Merge the latest trunk changes into the sessions branch. file: [2d67e24d] check-in: [110cfd69] user: drh branch: sessions, size: 24796
2011-07-02
13:34
Cherrypick [45e581bff7] into the 3.7.2 branch. file: [c6be6a5a] check-in: [c593792c] user: dan branch: branch-3.7.2, size: 24117
2011-06-30
20:17
Experimental changes to improve optimization of DISTINCT queries. file: [74a6cfb3] check-in: [f7ba0219] user: dan branch: experimental, size: 24210
2011-06-20
10:44
Merge the latest trunk changes into the sessions branch. file: [a81bda22] check-in: [4c5e276c] user: drh branch: sessions, size: 24782
2011-06-10
18:33
When updating a field that requires foreign key constraints be checked, ensure that the indexes and tables are consistent when the FK logic is run. Otherwise, it may detect the inconsistency and report database corruption. file: [80d77311] check-in: [2b3d9996] user: dan branch: trunk, size: 24196
2011-05-05
15:46
Merge the latest trunk changes into the sessions branch. file: [f66b651c] check-in: [6883580e] user: drh branch: sessions, size: 24773
2011-04-25
18:49
Add support for on conflict clauses to fts3/fts4. file: [5bcb56e5] check-in: [6d2633a6] user: dan branch: vtab-conflict, size: 24187
2011-03-30
21:04
Add the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option. file: [3f3f3bb7] check-in: [66345214] user: drh branch: sessions, size: 24596
2011-03-23
22:48
Merge in all the latest changes from the trunk, and especially the interface changes to the SystemCall methods of the VFS. file: [f81e9b32] check-in: [9c3a6e47] user: drh branch: sessions, size: 24598
2011-03-19
08:38
Fix a problem with INTEGER PRIMARY KEY columns and the pre-update hook. file: [ca6d4ad2] check-in: [24d4d5dd] user: dan branch: sessions, size: 24591
2011-03-18
12:35
Merge all the latest trunk enhancements into the sessions branch. file: [aa39db6c] check-in: [94fd5bb6] user: drh branch: sessions, size: 24599
2011-03-16
19:59
Add the sqlite3_preupdate_new() API, for retrieving the new.* values from within a pre-update callback. file: [18a862e3] check-in: [526545c4] user: dan branch: sessions, size: 24692
2011-03-06
21:28
Remove dead code identified by the clang static analyzer. file: [81911be1] check-in: [01a79d5a] user: drh branch: trunk, size: 24010
2011-03-05
13:54
Fix an instance of signed arithmetic overflow and an one bit-shift overflow. Mark six other signed arithmetic overflow locations that need fixing. file: [c40aedd4] check-in: [04abab71] user: drh branch: trunk, size: 24113
2011-03-01
18:42
Add the experimental sqlite3_preupdate_hook() API. file: [1b9a82ed] check-in: [6145d7b8] user: dan branch: sessions, size: 24379
2010-08-30
22:15
Provide hints to the btree layer during the creation of transient tables for when it is possible for those tables to use a hash rather than a binary tree. No use is currently made of those hints, though assert() statement verify their accuracy. file: [227e6cd5] check-in: [4fead8e7] user: drh branch: trunk, size: 24103
2010-07-30
16:54
Fix typos in comments. No code or logic changes. file: [1521162d] check-in: [15c294ca] user: drh branch: trunk, size: 24060
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: [19c899c2] check-in: [4932f228] user: dan branch: trunk, size: 24066
2010-05-14
19:24
Make sure the value of an INTEGER PRIMARY KEY column supplied to triggers and especially to FK constraints really contains the ROWID and not the NULL that is stored in the column itself. Ticket [dd08e5a988d00dec]. file: [9859f205] check-in: [636f8609] user: drh branch: trunk, size: 24033
2010-02-25
14:44
Add some technically unnecessary variable initializations to silence compiler warnings. file: [1d7d70ac] check-in: [a2550597] user: dan branch: branch-3.6.1, size: 23663
2009-12-01
22:09
Add testcase() macros to make sure boundary cases in BEFORE UPDATE triggers are well tested. file: [c0dc6b75] check-in: [27175caa] user: drh branch: trunk, size: 24070
2009-11-27
12:12
Move [7d30880114] to the trunk. Add optimizations to reduce the number of opcodes used for BEFORE UPDATE triggers. file: [edf5649f] check-in: [1b7c5250] user: dan branch: trunk, size: 23950
2009-11-24
19:02
Recomputed unchanged column values in an UPDATE statement after running BEFORE triggers, in case the triggers have modified any of those values. file: [24041f79] check-in: [7d308801] user: drh branch: experimental, size: 22745
2009-11-10
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. file: [8efeb098] check-in: [f6c045f6] user: drh branch: trunk, size: 22318
2009-10-19
15:52
When generating WHERE clause terms internally for NATURAL and USING joins, identify the table by its position in the FROM list, not by its name or alias. Fix for [b73fb0bd64]. file: [8e8535f6] check-in: [6fe63711] user: dan branch: trunk, size: 22376
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: [2c8a6423] check-in: [edff3500] user: dan branch: trunk, size: 22420
2009-09-28
11:54
Fix some foreign key constraint related problems that occur when a row refers to itself. file: [a7a5f60b] check-in: [9e503e2d] user: dan branch: trunk, size: 22353
2009-09-24
09:05
Remove unused parameter from sqlite3CodeRowTrigger(). Fix header comments for this function and CodeRowTriggerDirect(). file: [5df5c39d] check-in: [0443f7c9] user: dan branch: trunk, size: 22293
2009-09-21
16:06
Fix compilation with OMIT_TRIGGER defined. Ticket [1ff6d29030]. file: [4fac66ec] check-in: [fb6ceed3] user: dan branch: trunk, size: 22301
2009-09-19
17:00
Check in implementation of foreign key constraints. file: [f720f463] check-in: [d5d39981] user: dan branch: trunk, size: 22168
2009-09-09
15:06
Add some tests that involve BEFORE UPDATE or BEFORE DELETE triggers messing with the row being updated or deleted. SQLite behaviour in this scenario is undefined, so the tests just check that the behaviour is relatively sane and there are no crashes. file: [e5f9f75a] check-in: [9a4c59a2] user: dan branch: trunk, size: 21728
2009-09-08
19:15
Combine the OP_Statement and OP_Transaction opcodes. file: [7a2c0dad] check-in: [aec9dbd8] user: dan branch: trunk, size: 21346
2009-09-07
04:38
Warning cleanup from the MSVC compile. file: [3e97974b] check-in: [26cd015c] user: shane branch: trunk, size: 21319
2009-09-03
19:43
Fix a VDBE stack overflow issue with the UPDATE statement. file: [7c8eaf12] check-in: [715cecb8] user: drh branch: branch-3.3.6, size: 16616
2009-08-31
15:27
More fixes for test cases. file: [12ffd68c] check-in: [85d9f23b] user: dan branch: trunk, size: 21315
2009-08-30
11:42
Fixes for new triggers scheme. file: [574464e0] check-in: [9eb91efd] user: dan branch: trunk, size: 22205
2009-08-28
18:53
Changes to support recursive triggers. file: [cddbcabb] check-in: [9b9c1921] user: dan branch: trunk, size: 21177
2009-08-08
18:01
Suppress various compiler warnings. (CVS 6963) file: [4da327f7] check-in: [257e9b57] user: drh branch: trunk, size: 24406
2009-07-27
10:05
When extracting values from a record to use in an UPDATEd version of that record, apply OP_RealAffinity if required. Fix for #3992. (CVS 6945) file: [245a652c] check-in: [3616766a] user: danielk1977 branch: trunk, size: 24395
2009-07-24
17:58
Allow virtual tables to be used in shared-cache mode. (CVS 6928) file: [7570d908] check-in: [5d9e767a] user: danielk1977 branch: trunk, size: 23980
2009-06-27
11:17
Fix an instance where sqlite3JumpHere() might be called with a negative address following an OOM fault. (CVS 6828) file: [a1bbe774] check-in: [49f22e55] user: drh branch: trunk, size: 23957
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: [b58db45e] check-in: [1330993d] user: drh branch: trunk, size: 23986
2009-05-28
01:00
Additional refinements to Expr handling. Restore compression of trigger expressions. Change Expr.zToken to Expr.u.zToken and added Expr.u.iValue. Remove an unnecessary ExprDup from CHECK constraint processing. And so forth. (CVS 6682) file: [6ae6c26a] check-in: [4ac2bdfb] user: drh branch: trunk, size: 23729
2009-05-27
10:31
Simplifications to the Expr object: Remove Expr.span completely and convert Expr.token into a char* Expr.zToken. Also simplify the Token object by removing the Token.dyn and Token.quoted fields. (CVS 6681) file: [3aec63a3] check-in: [7cb1c3ba] user: drh branch: trunk, size: 23729
2009-05-05
15:46
Changes to update.c to facilitate full coverage testing. (CVS 6604) file: [deb93032] check-in: [25a11b9e] user: drh branch: trunk, size: 23738
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: [e69ba30a] check-in: [cac4f3d8] user: danielk1977 branch: trunk, size: 23758
2009-04-24
15:46
Get rid of the special RowSet processing in where.c and move that into clients. Added the WHERE_DUPLICATES_OK option to eliminate an unnecessary RowSet during DELETE with a WHERE clause containing ORs. (CVS 6546) file: [5062f0f0] check-in: [98606bee] user: drh branch: trunk, size: 23744
2009-04-22
17:15
Eliminate the OP_VRowid opcode. The regular OP_Rowid now work for both regular and virtual tables. (CVS 6537) file: [96172028] check-in: [ecbef450] user: drh branch: trunk, size: 23777
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: [8ededddc] check-in: [3befe1ef] user: danielk1977 branch: trunk, size: 23811
2009-02-24
10:14
Reverse commit (6315) for now. (CVS 6317) file: [87158a23] check-in: [0e7c369c] user: danielk1977 branch: trunk, size: 23798
2009-02-23
17:33
Scan an index instead of a table for "SELECT count(*) FROM <tbl>" queries. Because an index is usually smaller than a table on disk, this saves some IO. (CVS 6315) file: [9c11bc0b] check-in: [294ba6f7] user: danielk1977 branch: trunk, size: 23830
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: [fce4fa29] check-in: [e43ed649] user: danielk1977 branch: trunk, size: 23798
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: [9edb83cc] check-in: [d9f6ffbc] user: danielk1977 branch: trunk, size: 23892
2008-12-23
23:56
Continuing improvements to the multi-index OR-clause optimizer. Added a few simple test cases. (CVS 6062) file: [8c4925f9] check-in: [55d4f493] user: drh branch: trunk, size: 23878
2008-12-10
22:15
Fix an issue with the new sqlite3Strlen30() introduced by check-in (6007). Additional casts for compiler warnings. (CVS 6011) file: [080889d2] check-in: [258722b6] user: drh branch: trunk, size: 23875
18:03
More explicit type casting to silence VC++. (CVS 6006) file: [3e022c24] check-in: [14e6d19c] user: drh branch: trunk, size: 23875
2008-12-04
20:40
Replace the VDBE Fifo object with the new RowSet object. (CVS 5977) file: [7143ac31] check-in: [39a0750b] user: drh branch: trunk, size: 23875
2008-11-19
09:05
Changes to avoid "unused parameter" compiler warnings. (CVS 5921) file: [37d03659] check-in: [88134322] user: danielk1977 branch: trunk, size: 23761
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: [f22a6f45] check-in: [bfce9142] user: danielk1977 branch: trunk, size: 23780
2008-10-09
18:48
Fix an assert() failure that can occur if the user attempts to set an into an integer primary key column to a text value in a table that has a BEFORE UPDATE trigger. (CVS 5787) file: [ed233298] check-in: [c2cf9d60] user: danielk1977 branch: trunk, size: 23776
2008-09-01
21:59
Omit prototype for and calls to sqlite3MaterializeView() if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_TRIGGER). (CVS 5655) file: [206fffc8] check-in: [9cf484fc] user: shane branch: trunk, size: 23718
2008-08-22
12:30
Allow the WHERE clause in an UPDATE or DELETE against a view with an INSTEAD OF trigger to refer to the view by name. Ticket #3298. (CVS 5589) file: [f2cf6f00] check-in: [7360e5d1] user: drh branch: trunk, size: 23645
2008-08-20
16:35
Refactor the name resolution procedures in the code generator. (CVS 5569) file: [9e3786e7] check-in: [daf730d1] user: drh branch: trunk, size: 23654
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: [79b77a3c] check-in: [e48f9697] user: drh branch: trunk, size: 23663
2008-07-09
16:51
Test coverage improvements on printf. (CVS 5385) file: [4e698fcc] check-in: [2d8f7beb] user: drh branch: trunk, size: 23637
2008-07-08
23:40
Remove obsolete code from select.c, including the "affinity" parameter to the sqlite3Select() module. (CVS 5380) file: [945242cc] check-in: [cbd3c158] user: drh branch: trunk, size: 23631
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: [2d7143b9] check-in: [133b7ee5] user: drh branch: trunk, size: 23634
2008-04-15
14:36
Do not attempt to omit unused columns of a view in an instead-of trigger since sometimes those columns can be used in ways that we do not expect. Ticket #3055. (CVS 5012) file: [57282dae] check-in: [f5fc42e9] user: drh branch: trunk, size: 23624
2008-04-10
13:33
First cut at optimizing single-row updates to use a one-pass algorithm. (CVS 4973) file: [d6f214aa] check-in: [fba97f78] user: drh branch: trunk, size: 23678
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: [6d5f7728] check-in: [91cc646e] user: drh branch: trunk, size: 23271
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: [e23e83cf] check-in: [c29ee0fe] user: drh branch: trunk, size: 23284
2008-03-25
09:47
Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912) file: [2aefd3c9] check-in: [04715364] user: danielk1977 branch: trunk, size: 23212
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: [d2c59643] check-in: [a42caa8f] user: drh branch: trunk, size: 23214
2008-02-12
16:52
When materializing a view for an UPDATE or DELETE make use of the WHERE clause to limit the number of rows materialized. Ticket #2938. (CVS 4782) file: [9b3be169] check-in: [5ab71c3a] user: drh branch: trunk, size: 23045
2008-01-19
03:35
Cleanup and simplification of constraint processing. Simplifications to the VM for better test coverage. (CVS 4729) file: [31edd9c9] check-in: [d9ebe9d7] user: drh branch: trunk, size: 23220
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: [2513c612] check-in: [706b41b7] user: drh branch: trunk, size: 23059
02:36
Registerification of the WHERE clause logic. (CVS 4716) file: [a4da9976] check-in: [b3a141b2] user: drh branch: trunk, size: 23105
2008-01-10
23:50
More work toward converting the VM into a register-based machine. (CVS 4704) file: [aad823f9] check-in: [8cbd4651] user: drh branch: trunk, size: 23105
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: [18f2f3af] check-in: [e3cf1c1c] user: drh branch: trunk, size: 22634
02:15
Continued work toward converting to a register-based VM. (CVS 4698) file: [93c7bca7] check-in: [92deff07] user: drh branch: trunk, size: 22637
2008-01-08
18:57
Finish registerizing the core logic of INSERT and UPDATE. (CVS 4696) file: [89ba3183] check-in: [5fd10367] user: drh branch: trunk, size: 22643
02:57
Progress toward registerification of the constraint checking logic for INSERT and UPDATE. (CVS 4693) file: [acd1c38d] check-in: [b9bf509e] user: drh branch: trunk, size: 22018
2008-01-06
00:25
Registerify the SRT_Subroutine destination for SELECT results. (CVS 4690) file: [38e9e4c2] check-in: [8201f717] user: drh branch: trunk, size: 22413
2008-01-05
17:39
First pass at optimizing max()/min() as described in #2853. Some refinements to come. (CVS 4687) file: [f322317e] check-in: [c449e04f] user: danielk1977 branch: trunk, size: 22404
05:20
Register-ify the OP_AddImm and all casting opcodes. Omit the OP_MemIncr opcode. (CVS 4683) file: [ac6cdfeb] check-in: [3e8a07dd] user: drh branch: trunk, size: 22393
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: [3dc74434] check-in: [cc149eb9] user: drh branch: trunk, size: 22394
2008-01-04
22:01
Implement the out2-prerelease opcode design pattern. (CVS 4681) file: [e57d0083] check-in: [fe057a88] user: drh branch: trunk, size: 22396
19:10
Some modifications to insert.c to work without using the stack. (CVS 4678) file: [b54161c6] check-in: [d9ac6bee] user: danielk1977 branch: trunk, size: 22403
13:57
Modify FifoRead and FifoWrite to work exclusively with memory cells. (CVS 4676) file: [eaacf592] check-in: [2c913908] user: danielk1977 branch: trunk, size: 22351
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: [a68e11e7] check-in: [61bfb77c] user: drh branch: trunk, size: 22344
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: [b4aa2e8b] check-in: [0b849805] user: drh branch: trunk, size: 22338
17:31
Modify OP_VUpdate to read arguments from a range of memory cells instead of from the stack. (CVS 4668) file: [b4b8790d] check-in: [955b15a0] user: danielk1977 branch: trunk, size: 22346
09:51
Change the OP_Insert opcode to read the key and data to insert from memory cells, not the stack. (CVS 4666) file: [9b90a5d5] check-in: [46501f49] user: danielk1977 branch: trunk, size: 22312
08:08
Combine the OP_Column and OP_DfltValue opcodes. (CVS 4664) file: [587df277] check-in: [c30f8206] user: danielk1977 branch: trunk, size: 22324
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: [c6712952] check-in: [35da261d] user: danielk1977 branch: trunk, size: 22372
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: [39ac597c] check-in: [027875e4] user: drh branch: trunk, size: 22412
2008-01-02
16:27
Combine the eDest and iParm arguments to sqlite3Select() into a single type - "SelectDest". (CVS 4657) file: [608ecf1f] check-in: [86dcdfe6] user: danielk1977 branch: trunk, size: 22359
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: [24ab2157] check-in: [f1966a8a] user: danielk1977 branch: trunk, size: 22255
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: [fee85700] check-in: [051ec01f] user: drh branch: trunk, size: 22791
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: [59124a9d] check-in: [e08a33ed] user: danielk1977 branch: trunk, size: 22783
2007-12-12
16:06
Fix some problems similar to #2832, but caused by triggers instead of an OR REPLACE clause. (CVS 4615) file: [57c07b63] check-in: [ee98ae17] user: danielk1977 branch: trunk, size: 21420
12:25
Fix database corrupting code generation error for UPDATE OR REPLACE. ticket #2832. Still need to add test cases and additional defensive logic to avoid future occurrences of similar problems. (CVS 4613) file: [e773be79] check-in: [18e10f81] user: drh branch: trunk, size: 21406
12:00
Add a new OP_StackDepth opcode to help detect VDBE stack leaks early, before they cause damage. For diagnostics in ticket #2832. (CVS 4612) file: [3725377d] check-in: [3fd6a267] user: drh branch: trunk, size: 21397
2007-11-11
18:36
Fix the code generation for UPDATE and DELETE so that BEFORE triggers that use RAISE(IGNORE) do not leave extra values on the stack. Ticket #2767 (CVS 4535) file: [2add92a6] check-in: [3391f413] user: drh branch: trunk, size: 21301
2007-08-16
10:09
More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) file: [e89b980b] check-in: [77b16713] user: danielk1977 branch: trunk, size: 21108
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: [b20d7730] check-in: [deb7ecd6] user: drh branch: trunk, size: 21082
2007-06-25
16:29
Fix for #2445. A bug in the lookupName() logic that could cause a crash when a WHERE clause used an alias to refer to an expression in the result-set of the SELECT, and that expression was itself a reference to a table column. (CVS 4122) file: [6b10becb] check-in: [044ca1c7] user: danielk1977 branch: trunk, size: 20896
2007-03-29
05:51
Change BtreeMoveto so that it can be biased to the right or to the center. Use a right bias when appending and a center bias when searching. This gives about a 15% reduction in calls to sqlite3VdbeRecordCompare. (CVS 3741) file: [3359041d] check-in: [ad4a6b1a] user: drh branch: trunk, size: 20860
2007-02-21
17:04
Modify the fix for #2244 to avoid using a vdbe label. (CVS 3653) file: [876b3142] check-in: [f7ce74b2] user: danielk1977 branch: trunk, size: 20865
16:52
Fix for an UPDATE on a virtual table when the WHERE clause matches zero rows. Ticket #2244. (CVS 3652) file: [9a05e12b] check-in: [43bf7978] user: danielk1977 branch: trunk, size: 20980
2007-02-07
01:06
Change the coding of PRAGMA count_changes so that it uses memory cells of the VM rather than the stack, to avoid problems with leftovers on the stack interfering with other operations. Ticket #2217. (CVS 3632) file: [bdfcf360] check-in: [2bd4b62a] user: drh branch: trunk, size: 20823
2006-06-27
13:20
Changes so that it will build with SQLITE_OMIT_VIRTUALTABLE=1. (CVS 3309) file: [951f95ef] check-in: [5612b287] user: drh branch: trunk, size: 20662
2006-06-24
11:51
A few more test cases to improve coverage of virtual table module related code. (CVS 3292) file: [e3f5b7e9] check-in: [255aa912] user: danielk1977 branch: trunk, size: 20599
2006-06-19
03:05
Add tests to ensure an INSERT/UPDATE/DELETE immediately after virtual table construction does not fail. (CVS 3270) file: [686b13db] check-in: [144d0eb1] user: danielk1977 branch: trunk, size: 20649
2006-06-17
09:39
Add tests (and fixes) for the virtual table transaction interface. (CVS 3265) file: [23a71cce] check-in: [8a5b121f] user: danielk1977 branch: trunk, size: 20675
06:31
When updating a view, invoke the authorization callback for reading the view before setting the authorization-context to the view name. (CVS 3264) file: [81e8d54a] check-in: [48d297c5] user: danielk1977 branch: trunk, size: 20644
03:27
Fixes for UPDATE statements on virtual tables. (CVS 3263) file: [37fb7bb2] check-in: [81c5a5b4] user: danielk1977 branch: trunk, size: 20644
2006-06-16
21:13
Rework the way UPDATE works for virtual tables. (CVS 3262) file: [4fb474fa] check-in: [2119e7bf] user: drh branch: trunk, size: 20620
16:08
Add code to invoke the virtual table transaction interface. Untested at this point. (CVS 3261) file: [d3b99190] check-in: [61251402] user: danielk1977 branch: trunk, size: 17599
2006-06-14
19:00
Added code to INSERT, DELETE and UPDATE virtual tables. The new code is mostly untested. (CVS 3248) file: [5e638a61] check-in: [32c97b88] user: drh branch: trunk, size: 17558
2006-06-11
23:41
Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211) file: [0186f094] check-in: [898ec36b] user: drh branch: trunk, size: 16498
2006-02-24
02:53
Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) file: [34add66f] check-in: [4b22e4b8] user: drh branch: trunk, size: 16500
2006-02-10
02:27
Add the column_origin_name() etc. APIs. (CVS 3069) file: [050a7e0d] check-in: [82f502cd] user: danielk1977 branch: trunk, size: 16512
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: [14be4ba2] check-in: [ac090f2a] user: danielk1977 branch: trunk, size: 16498
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: [261d75c7] check-in: [5d9c6aa9] user: drh branch: trunk, size: 16510
2006-01-10
17:58
Store collation sequence names instead of pointers in sharable schema data structures. (CVS 2904) file: [cd8ad5bb] check-in: [0f0213be] user: danielk1977 branch: trunk, size: 16501
2006-01-09
16:12
Fix some errors to do with attached databases and text encodings in shared-cache mode. (CVS 2895) file: [e09da54c] check-in: [3e75d3d5] user: danielk1977 branch: trunk, size: 16516
06:29
Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) file: [9a376125] check-in: [82b81f69] user: danielk1977 branch: trunk, size: 16516
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: [29ba0385] check-in: [23b587b0] user: danielk1977 branch: trunk, size: 16509
2006-01-05
11:34
Add the shared schema/pager modifications. Very few tests so far. (CVS 2859) file: [c72e9cbb] check-in: [deeda0dc] user: danielk1977 branch: trunk, size: 16602
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: [ec8e5406] check-in: [e1606658] user: danielk1977 branch: trunk, size: 16489
2005-11-14
22:29
Create separate affinities for INTEGER and REAL. (CVS 2766) file: [fec76651] check-in: [ce06c123] user: drh branch: trunk, size: 16476
2005-09-20
17:42
Code cleanup and simplification. Three new Mem opcodes added. The sqlite3VdbeJumpHere function added. (CVS 2730) file: [ac506fb7] check-in: [2471957f] user: drh branch: trunk, size: 16471
2005-09-08
01:58
Optimizations and refinements. Improvements to test coverage. (CVS 2667) file: [c2716c21] check-in: [7283f7c2] user: drh branch: trunk, size: 16498
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: [a9d2c5f5] check-in: [e2f822ac] user: drh branch: trunk, size: 16499
2005-07-08
13:08
Replace OP_List with OP_Fifo. This is the first step toward allowing recursive delete triggers and later foreign keys with cascading deletes. (CVS 2538) file: [49a9c618] check-in: [94c120bb] user: drh branch: trunk, size: 16401
2005-06-12
21:35
Update older opcode names to be more meaningful in light of the latest code design. (CVS 2506) file: [e96c7b34] check-in: [36f2da1f] user: drh branch: trunk, size: 16538
2005-04-22
02:38
Remove some vestigal code. Add the experimental sqlite3_transfer_bindings() API. (CVS 2446) file: [04ea9dd7] check-in: [88b39436] user: drh branch: trunk, size: 16550
2005-04-08
16:08
Fixed stack growth in update trigger on views (tkt #1169) (CVS 2443) file: [ddfd8afa] check-in: [99fcd556] user: kwel branch: trunk, size: 16554
2005-03-09
12:26
Support for a future ALTER TABLE command to add columns with default values. (CVS 2367) file: [42823d00] check-in: [9d5abc1d] user: danielk1977 branch: trunk, size: 16551
2005-01-29
08:32
Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286) file: [b6f4668c] check-in: [b1b50f31] user: danielk1977 branch: trunk, size: 14803
2005-01-19
23:24
Continued refactoring of the name resolution logic and query optimizer. (CVS 2236) file: [6e5c6eb6] check-in: [d8b2a7e0] user: drh branch: trunk, size: 14663
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: [48da2524] check-in: [0142ae6f] user: drh branch: trunk, size: 14654
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: [79a15111] check-in: [4a753439] user: drh branch: trunk, size: 14660
2004-12-25
01:03
Fix ticket #1046 by removing code and simplifying the query optimizer. Remarkably, this simplification also makes the optimizer do a better job. Ticket #1051 was fixed as a side-effect. (CVS 2172) file: [0979397c] check-in: [5fd1f471] user: drh branch: trunk, size: 14663
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: [aa92fa22] check-in: [4852186a] user: drh branch: trunk, size: 14623
14:06
Simplify the trigger logic for DELETE, INSERT, and UPDATE. (CVS 2157) file: [67a95e5c] check-in: [8e164ab2] user: drh branch: trunk, size: 14655
2004-11-23
01:47
More work on the implementation of cursors, but they are still not functioning. (CVS 2142) file: [d79d1936] check-in: [8b61d1ae] user: drh branch: trunk, size: 15117
2004-11-22
10:02
Back out changes allowing writes to tables that have open cursors. (CVS 2133) file: [24a605a4] check-in: [91acd87e] user: danielk1977 branch: trunk, size: 15122
2004-11-16
15:50
Perform deletes in a single pass. (CVS 2104) file: [395a2b27] check-in: [a2e1c35b] user: danielk1977 branch: trunk, size: 15126
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: [3cc67f60] check-in: [b0506bdd] user: drh branch: trunk, size: 15114
06:02
When using sqlite3NestedParse() to modify the sqlite_master table, do not code OP_Callback. (CVS 2063) file: [50ac56ab] check-in: [296a298c] user: danielk1977 branch: trunk, size: 15098
2004-11-04
04:42
All tests pass even if OMIT_TRIGGER is defined. (CVS 2053) file: [7b17b281] check-in: [c33b3a61] user: drh branch: trunk, size: 14943
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: [ee15b7ba] check-in: [be661acf] user: drh branch: trunk, size: 14902
2004-10-05
02:41
Add support for DEFERRED, IMMEDIATE, and EXCLUSIVE transactions. (CVS 2000) file: [174c3b59] check-in: [81ff8107] user: drh branch: trunk, size: 14577
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: [71570842] check-in: [4871c77f] user: drh branch: trunk, size: 14614
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: [0e003007] check-in: [3ddf5a9d] user: drh branch: trunk, size: 14739
2004-08-31
13:45
Simplifications and optimizations. Also: disable the corrupt.test for now. (CVS 1924) file: [bbe126c6] check-in: [8fd65e70] user: drh branch: trunk, size: 14739
2004-08-21
17:54
Optimizations to the code generator. (CVS 1899) file: [151f1869] check-in: [bd6649c5] user: drh branch: trunk, size: 14691
2004-06-21
06:50
Update sqlite3_changes() to match the documentation and add sqlite3_total_changes(). (CVS 1645) file: [b66b1896] check-in: [ae2f4a09] user: danielk1977 branch: trunk, size: 14922
2004-06-16
12:02
Trivial modifications to prevent compiler warnings. (CVS 1607) file: [f9a03233] check-in: [7974c9a6] user: danielk1977 branch: trunk, size: 14935
2004-06-13
00:54
More speed improvements. (CVS 1580) file: [6133c876] check-in: [c5ebc1c0] user: drh branch: trunk, size: 14927
2004-06-10
10:50
Add the sqlite3_collation_needed() API and fix some error handling cases involving unknown collation sequences. (CVS 1562) file: [168b6d52] check-in: [edf069b9] user: danielk1977 branch: trunk, size: 14929
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: [259f06e7] check-in: [3225de89] user: danielk1977 branch: trunk, size: 14857
2004-05-26
10:11
Add some tests for the new API. Many more to come. (CVS 1462) file: [96461bcf] check-in: [d5659f2e] user: danielk1977 branch: trunk, size: 14855
2004-05-25
23:35
Move the sqlite3_exec() function to legacy.c. (CVS 1455) file: [2b5ec85f] check-in: [9385ad5c] user: danielk1977 branch: trunk, size: 14866
2004-05-20
22:16
Add internal support for collating sequences. This breaks 244 tests. (CVS 1420) file: [1a5e9182] check-in: [a6cb09d7] user: drh branch: trunk, size: 14825
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: [1f6687f8] check-in: [8f249c45] user: drh branch: trunk, size: 14769
2004-05-18
09:58
Fix many problems with manifest types and column affinity. Most things are working now. (CVS 1392) file: [0cc7291d] check-in: [a62872aa] user: danielk1977 branch: trunk, size: 14780
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: [d14a0b0f] check-in: [202a470f] user: danielk1977 branch: trunk, size: 14651
2004-05-16
11:15
More changes to support the manifest type model. A few things are currently broken. (CVS 1385) file: [04492438] check-in: [a4af838f] user: danielk1977 branch: trunk, size: 14527
2004-05-14
11:00
Implement type affinity for table and index records (CVS 1375) file: [0441f8b6] check-in: [dbfe6e93] user: danielk1977 branch: trunk, size: 14453
2004-05-10
10:34
Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1338) file: [6ca82fc4] check-in: [2242423e] user: danielk1977 branch: trunk, size: 14418
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: [475465fc] check-in: [8af6474c] user: danielk1977 branch: trunk, size: 14417
2004-04-29
16:16
Fix a stack overflow problem with INSTEAD OF triggers. (CVS 1310) file: [bd391079] check-in: [5a33e0b0] user: drh branch: version_2, size: 14764
2004-02-22
20:05
Use sqliteVdbeOp3 instead of sqliteVdbeChangeP3 where applicable. (CVS 1266) file: [4c50328e] check-in: [51f1e8f7] user: drh branch: trunk, size: 14324
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: [e6eed1a4] check-in: [3383413a] user: rdc branch: trunk, size: 14357
2004-02-16
03:44
Remove the NullCallback opcode. Handle the empty_result_set pragma inside the sqlite_exec() function. (CVS 1244) file: [10459f44] check-in: [f7213485] user: drh branch: trunk, size: 14315
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: [24260b4f] check-in: [903adbe8] user: drh branch: trunk, size: 14315
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: [8e657c7b] check-in: [01398fb7] user: drh branch: trunk, size: 14175
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: [dc3b680b] check-in: [be7aed20] user: drh branch: trunk, size: 14201
2003-04-25
17:52
Report the correct authorization context in the authorization callback when coding an INSTEAD OF trigger on an update or delete. (CVS 936) file: [f40376ed] check-in: [67746833] user: drh branch: trunk, size: 14205
2003-04-24
01:45
Fix some issues with INSTEAD OF triggers. (CVS 930) file: [b7fa7c42] check-in: [206b1739] user: drh branch: trunk, size: 13881
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: [33014487] check-in: [c675a550] user: drh branch: trunk, size: 13328
2003-04-20
17:29
Added tests for the in-memory database backend. Also updated some comments in other modules. (CVS 924) file: [803c13ad] check-in: [fb89adf4] user: drh branch: trunk, size: 13302
2003-04-17
22:57
Fix triggers to work in an ATTACHed database. Ticket #295. (CVS 915) file: [7f1aa891] check-in: [1e5e00fb] user: drh branch: trunk, size: 13276
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: [a60470d0] check-in: [0b996959] user: drh branch: trunk, size: 13681
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: [b368369f] check-in: [1d3fc977] user: drh branch: trunk, size: 13297
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: [ab8c48ce] check-in: [8a593e9c] user: drh branch: trunk, size: 13341
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: [785e0e1c] check-in: [d2fb2bb5] user: drh branch: trunk, size: 13333
2003-03-20
01:16
Record the database name in addition to the table name for DELETE, INSERT, and UPDATE statements. (CVS 879) file: [5c644629] check-in: [a5d8fc95] user: drh branch: trunk, size: 13233
2003-03-19
03:14
Modifications to the VDBE to support more than one database file. (CVS 878) file: [c523bf6e] check-in: [875da9ee] user: drh branch: trunk, size: 13282
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: [f06afa9b] check-in: [45de93f9] user: drh branch: trunk, size: 13246
2003-01-12
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: [9f2e9105] check-in: [52d5007f] user: drh branch: trunk, size: 13136
2003-01-11
13:30
Remove the ColumnCount opcode, which had become a no-op. (CVS 821) file: [ab3182ea] check-in: [86deb12d] user: drh branch: trunk, size: 12844
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: [881e4c8e] check-in: [3f253afe] user: drh branch: trunk, size: 12890
2002-07-21
23:09
UPDATE triggers on TEMP tables were broken. (CVS 693) file: [f07e6ed2] check-in: [c080ed01] user: danielk1977 branch: trunk, size: 12861
2002-07-16
17:22
Fix for ticket #105: Fix the UPDATE command so that it works properly with indexed tables when there is a subquery in the WHERE clause. Add tests to verify correct operation. (CVS 680) file: [ddba82d1] check-in: [bbca16f8] user: drh branch: trunk, size: 12827
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: [494479cc] check-in: [b4737a16] user: drh branch: trunk, size: 12516
2002-06-29
02:20
Add a few more tests and fix a few bugs that the tests uncovered. (CVS 652) file: [06303bf3] check-in: [91c0db66] user: drh branch: trunk, size: 12512
2002-06-19
14:27
The query optimizer now attempts to satisfy an ORDER BY clause using an index. Sorting is still used if there are no suitable indices. (CVS 628) file: [6f6a4dcd] check-in: [f09e19b4] user: drh branch: trunk, size: 12638
2002-06-11
02:25
Add RAISE() function, which allows more advanced flow-control in trigger programs (ticket #55) (CVS 614) file: [05431e23] check-in: [d4a2fb10] user: danielk1977 branch: trunk, size: 12643
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: [f6837517] check-in: [a167b71d] user: drh branch: trunk, size: 12623
2002-05-23
22:07
Change the names of the PushList and PopList opcodes to ListPush and ListPop so that they will appear together with the other List opcodes in the documentation. (CVS 583) file: [1f8f7fde] check-in: [c53b0b92] user: drh branch: trunk, size: 12607
12:50
Partial fix for ticket #49. The correct result is computed, but now we have a memory leak. I'm not sure if the memory leak was pre-existing or a result of this change. (CVS 581) file: [82ada80c] check-in: [4d27ee41] user: drh branch: trunk, size: 12619
2002-05-21
11:38
Additional code cleanup resulting from a review of the new trigger code. (CVS 572) file: [46c4b3e8] check-in: [37dbdd55] user: drh branch: trunk, size: 12613
2002-05-19
23:43
Style fixes to triggers code in various *.c files (partial fix to ticket #39) (CVS 571) file: [6b1d80b5] check-in: [8a4195c7] user: danielk1977 branch: trunk, size: 12623
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: [f9b53d46] check-in: [690f9a16] user: drh branch: trunk, size: 12543
08:30
Added FOR EACH ROW triggers functionality (CVS 562) file: [2e8becd1] check-in: [794bf67b] user: danielk1977 branch: trunk, size: 12439
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: [7dd714a6] check-in: [6121e5ab] user: drh branch: trunk, size: 9146
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: [943b8219] check-in: [d5d3e79c] user: drh branch: trunk, size: 9084
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: [18971d26] check-in: [39fed2df] user: drh branch: trunk, size: 9172
2002-02-02
18:49
Get the ABORT conflict resolution algorithm working. (CVS 362) file: [95459f94] check-in: [9be4d4c6] user: drh branch: trunk, size: 9656
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: [3fb7c160] check-in: [d0e7cf4a] user: drh branch: trunk, size: 9651
2002-01-30
16:17
Added ON CONFLICT support to COPY. Updates to documentation. Bug fixes. (CVS 359) file: [c6215079] check-in: [cf1538d7] user: drh branch: trunk, size: 9851
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: [5ffd4bbd] check-in: [ac8a4189] user: drh branch: trunk, size: 9847
18:41
Beginning to insert the infrastructure for ON CONFLICT clauses. (CVS 355) file: [2ece9c43] check-in: [e00a9ff8] user: drh branch: trunk, size: 9672
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: [6f87a9aa] check-in: [dbcfe198] user: drh branch: trunk, size: 9609
2002-01-22
03:13
The right-hand side of an AS in a SELECT can be used within expressions of the WHERE, ORDER BY, GROUP BY, and/or HAVING clauses. (CVS 350) file: [f30a4792] check-in: [3684beab] user: drh branch: trunk, size: 9603
2002-01-14
02:56
Fix a bug that could cause UPDATE to fail for a table that contains both an INTEGER PRIMARY KEY and an index. (CVS 346) file: [5cb326ed] check-in: [96cd07a8] user: drh branch: trunk, size: 9597
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: [f9f48e78] check-in: [18e606f7] user: drh branch: trunk, size: 9597
2001-12-22
14:49
Bug fixing in the new integer primary key code. (CVS 334) file: [6a77d145] check-in: [29cab124] user: drh branch: trunk, size: 9419
2001-12-21
14:30
Added support for the INTEGER PRIMARY KEY column type. (CVS 333) file: [9c266e5c] check-in: [236a54d2] user: drh branch: trunk, size: 9416
2001-11-21
02:21
Attempting to add support for 64-bit platforms. (CVS 314) file: [365f6faf] check-in: [03673adb] user: drh branch: trunk, size: 8367
2001-11-07
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: [b1e315e2] check-in: [e6ca23fa] user: drh branch: trunk, size: 8375
2001-11-01
14:41
Remove cruft: restrict the number of sorters and lists in the VDBE to one since no more than one was ever used anyway. This eliminates several op-codes and simplifies the implementation of several others. (CVS 297) file: [4eeb154a] check-in: [e1370276] user: drh branch: trunk, size: 8375
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: [c916182c] check-in: [747bf1b3] user: drh branch: trunk, size: 8416
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: [0b287faf] check-in: [288ef124] user: drh branch: trunk, size: 7844
2001-10-08
13:22
Support for temporary tables added. Still need more testing. (CVS 279) file: [49a1edb1] check-in: [9368c62e] user: drh branch: trunk, size: 7956
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: [0449af17] check-in: [34c42967] user: drh branch: trunk, size: 7855
2001-09-23
02:35
Fixes to the locking and rollback behavior. (CVS 261) file: [8de22957] check-in: [337b3d3b] user: drh branch: trunk, size: 7842
2001-09-16
00:13
Disclaimed copyright. Preparing for release 2.0. (CVS 250) file: [a1952ad5] check-in: [4e926efe] user: drh branch: trunk, size: 7759
2001-09-15
00:57
Everything is working on Linux. This is release 2.0-Alpha-1. (CVS 246) file: [8a9d514c] check-in: [14474fa1] user: drh branch: trunk, size: 8314
2001-09-13
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: [ea8f2c07] check-in: [6ecc8b20] user: drh branch: trunk, size: 8237
2001-04-11
14:28
better handling of out-of-memory errors (CVS 207) file: [0cf78965] check-in: [86b30cd0] user: drh branch: trunk, size: 8031
2001-03-14
12:35
Fix a bug on systems where malloc(0) return NULL. Add code to detect this bug even on systems were it used not to occur. (CVS 190) file: [8365b392] check-in: [bda83e2b] user: drh branch: trunk, size: 7923
2001-01-15
22:51
continued progress toward version 2.0 (CVS 177) file: [9692fbac] check-in: [c6ffb7ec] user: drh branch: trunk, size: 7898
2000-06-21
13:59
:-) (CVS 104) file: [51b9ef74] check-in: [e1bf96a4] user: drh branch: trunk, size: 7892
2000-06-19
19:09
:-) (CVS 102) file: [162fc0b8] check-in: [8cce4d27] user: drh branch: trunk, size: 7872
2000-06-17
13:12
:-) (CVS 101) file: [d75df0f7] check-in: [6ed35a1d] user: drh branch: trunk, size: 7865
2000-06-07
23:51
:-) (CVS 74) file: [d8d90df7] check-in: [2ffeb850] user: drh branch: trunk, size: 7916
2000-06-06
13:54
added IN and BETWEEN operators (CVS 57) file: [18746f92] check-in: [54d19818] user: drh branch: trunk, size: 7979
2000-06-03
18:06
added default values (CVS 46) file: [3f05d508] check-in: [27c06786] user: drh branch: trunk, size: 7689
2000-06-02
01:17
:-) (CVS 34) file: [1f7284e0] check-in: [52338f4a] user: drh branch: trunk, size: 7684
2000-05-31
15:34
added aggregate functions like count(*) (CVS 21) file: [9194f548] check-in: [dee7a8be] user: drh branch: trunk, size: 7631 Added