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

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

History of src/delete.c

2019-10-16
12:18
Initial experimental code for generated column support. Non-functional. file: [fd10ac32] check-in: [11d472c1] user: drh branch: generated-columns, size: 37364
2019-01-17
15:40
Revamp the SrcList allocator routines to be methods of Parse instead of being methods of the "sqlite3" object, so that they can leave better error messages when the SrcList object grows too large. file: [d08c9e01] check-in: [df08d472] user: drh branch: trunk, size: 37309
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: [209cd834] check-in: [4a0929ac] user: drh branch: trunk, size: 37305
2018-11-28
08:02
Fixes for SQLITE_OMIT_VIRTUAL_TABLE builds. file: [f7938125] check-in: [9bcdec85] user: dan branch: trunk, size: 37290
2018-11-20
16:02
Consolidate the two sqlite3SchemaToIndex() routines. file: [65e16dc1] check-in: [dfab7170] user: dan branch: reuse-schema1, size: 37357
2018-11-19
20:41
Fix a problem with virtual tables in shared schemas. file: [326f92e6] check-in: [84be9220] user: dan branch: reuse-schema1, size: 37358
2018-11-17
18:45
Merge latest trunk changes into this branch. file: [4a49ac22] check-in: [9fdd1868] user: dan branch: reuse-schema1, size: 37339
18:11
Fix further problems with the feature on this branch. file: [b6dba448] check-in: [6d7a7e5f] user: dan branch: reuse-schema1, size: 36892
2018-11-16
17:04
Fix further REUSE_SCHEMA issues. file: [b8079168] check-in: [9780829a] user: dan branch: reuse-schema1, size: 36887
2018-11-15
21:20
Fix some problems with the feature on this branch. Many problems remain. file: [70817a92] check-in: [31b6aee7] user: dan branch: reuse-schema1, size: 36846
2018-11-07
16:46
Performance improvement in subroutine that decides whether or not a table is read-only. file: [cec65c0e] check-in: [6e4968b0] user: drh branch: read-only-shadow, size: 37251
2018-11-06
19:26
Enable DEFENSIVE mode by default for tests. This requires lots of case of turning DEFENSIVE off in order to dodgy things to the database for testing purposes. No all of those cases are yet handled, so "make test" does not run to completion. file: [36825ff2] check-in: [a1d6c671] user: drh branch: read-only-shadow, size: 37121
15:57
Turn on defensive mode for running test scripts. Does not yet work. file: [d058ed72] check-in: [1c1d24ed] user: drh branch: read-only-shadow, size: 37097
14:03
Only allow shadow table to be written from within a recursive SQL call. Omit the SQLITE_PREPARE_SHADOW flag. Some tests are failing because the tests depend on being able to write to shadow tables. file: [5217cecc] check-in: [d890c658] user: drh branch: read-only-shadow, size: 37073
13:37
Add enforcement of read-only on shadow tables. This does not currently work since some virtual tables are attempting to update shadow tables using sqlite3_exec(). file: [51c469c1] check-in: [f79b47c9] user: drh branch: read-only-shadow, size: 36971
2018-11-03
17:31
Correct the internal logic for SQLITE_DBCONFIG_DEFENSIVE. file: [e1ac11c0] check-in: [76094345] user: drh branch: dbconfig-defensive, size: 36804
16:09
Add the SQLITE_DBCONFIG_DEFENSIVE flag. file: [2ddd40f4] check-in: [af3f29d4] user: drh branch: dbconfig-defensive, size: 36831
2018-09-18
21:35
In the Expr object, the Expr.eX field determines what value is stored in the Expr.x union. This mostly works, but there are issues identified by valgrind. file: [07a7ecf1] check-in: [8849a463] user: drh branch: expr-simplify, size: 36780
2018-08-04
15:53
Further logic simplifications that flow out of the omission of the column cache. file: [107e28d3] check-in: [7d9072b0] user: drh branch: omit-column-cache, size: 36812
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: [3838d883] check-in: [3f5f60cd] user: drh branch: omit-column-cache, size: 36873
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: [4c8c7604] check-in: [b816023c] user: drh branch: trunk, size: 36942
2018-04-20
19:46
Avoid the use of statement journals on DELETEs of a single row without triggers or foreign keys. file: [b0f90749] check-in: [20bf5800] user: drh branch: trunk, size: 36869
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: [333aca55] check-in: [c6f71115] user: drh branch: trunk, size: 36800
2018-01-12
16:44
Experimental change to include changes made to the sqlite_stat1 table in changesets generated by the sessions module. sqlite_stat1 entries in such changesets are ignored by legacy clients. file: [20c87884] check-in: [bd46c442] user: dan branch: sessions-stat1, size: 36817
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: [f0f08da5] check-in: [8b8314cb] user: drh branch: rtree-one-pass, size: 36875
2017-12-08
14:07
Make sure the bComplex variable in sqlite3DeleteFrom() is initialized when compiling with -DSQLITE_OMIT_TRIGGER. file: [74667ad9] check-in: [e526d0c4] user: drh branch: trunk, size: 36766
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: [e6a70fb5] check-in: [3925facd] user: drh branch: trunk, size: 36766
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: [7a9df721] check-in: [b2679d3b] user: dan branch: branch-3.8.9, size: 33893
2017-11-10
20:13
Omit some extra code from non-SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds. file: [f97cc2a9] check-in: [72be33f9] user: dan branch: update-delete-limit-fix, size: 37215
16:14
Fix a problem involving "DELETE/UPDATE...LIMIT" statements that use an INDEXED BY clause. file: [2b9f2d34] check-in: [09f94c2c] user: dan branch: update-delete-limit-fix, size: 37044
15:42
Fix a problem with (DELETE...LIMIT) statements against WITHOUT ROWID tables with a single column PK. file: [cd86beec] check-in: [35477a3d] user: dan branch: update-delete-limit-fix, size: 37017
2017-11-09
19:53
Add SQLITE_ENABLE_UPDATE_DELETE_LIMIT for views and WITHOUT ROWID tables. file: [001653cc] check-in: [584b88aa] user: dan branch: update-delete-limit-fix, size: 36904
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: [21a5f181] check-in: [ab9ee4c1] user: drh branch: writable-vtab-without-rowid, size: 35984
2017-07-19
19:48
Allow indexes to be created on date/time functions as long as the 'now' date and the 'localtime' and 'utc' modifiers are not used. file: [939bd15e] check-in: [0a5e1c04] user: drh branch: index-on-date-func, size: 35873
2017-06-02
15:44
Change the name of the OP_Seek opcode into OP_DeferredSeek for better clarity of function. No functional code changes. file: [3213547e] check-in: [ab33d299] user: drh branch: trunk, size: 35841
2017-05-18
18:17
Fix a documentation typo. No changes to code. file: [bc2bfc22] check-in: [cfa4aa20] user: drh branch: doc-type, size: 35833
2017-05-11
13:43
New requirements marks and documentation for the authorizer. file: [665e7056] check-in: [3980ea09] user: drh branch: trunk, size: 35832
2017-01-27
17:02
Fix a problem causing the pre-update hook to be invoked by DROP TABLE statements. file: [0d9d5549] check-in: [fbb6bf1b] user: dan branch: trunk, size: 35541
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: [8a444fea] check-in: [06136652] user: drh branch: automatic-index-affinity, size: 35504
2017-01-07
14:47
Improvements to the iIdxNoSeek optimization of sqlite3GenerateRowDelete() so that it is automatically disabled for BEFORE triggers but works in all other cases. file: [a84f6229] check-in: [3178ec4c] user: drh branch: trunk, size: 35343
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: [4220f4fe] check-in: [db2c0960] user: drh branch: trunk, size: 35094
03:26
Avoid an unnecessary btree seek while deleting an index entry due to a conflict on a REPLACE operation. file: [1a443ced] check-in: [f0495c51] user: drh branch: trunk, size: 35114
2016-12-14
14:07
Refactor the Table.nRef field as Table.nTabRef for easier grepping. file: [c8bc10d1] check-in: [9cae4c2e] user: drh branch: trunk, size: 35090
2016-12-07
21:35
Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recently coded instruction. file: [42768e67] check-in: [28883e8f] user: drh branch: trunk, size: 35087
2016-12-06
22:47
Performance improvement and size reduction in the Expr node allocator function sqlite3PExpr(). file: [a6881ec5] check-in: [2a81763e] user: drh branch: trunk, size: 35091
2016-11-25
19:32
Remove the OP_RowKey opcode. Use OP_RowData in its place. file: [cac97d11] check-in: [6ac7b07a] user: drh branch: trunk, size: 35100
2016-11-22
01:26
Remove unnecessary OP_Close opcodes for a size reduction and performance increase. file: [99949851] check-in: [32be7aae] user: drh branch: trunk, size: 35099
2016-11-09
00:10
Enhance the OP_IdxInsert opcode to optionally accept unpacked key material. file: [6cac3a6c] check-in: [89d958ab] user: drh branch: unpacked-IdxInsert, size: 35394
2016-09-22
18:53
Remove the internal sqlite3CodeOnce() interface, replacing it with a direct call to sqlite3VdbeAddOp0(v,OP_Once). Slightly smaller and faster. file: [cb3f6300] check-in: [c3774c6a] user: drh branch: trunk, size: 35381
2016-09-16
11:53
Fix SQLITE_OMIT_AUTHORIZATION so that it compiles cleanly. file: [e91a11e0] check-in: [a3e3b3e1] user: drh branch: trunk, size: 35375
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: [76c084f0] check-in: [92a22f01] user: drh branch: zDbSName, size: 35420
2016-05-06
16:06
In the WHERE generator, when building code for a DELETE operation, make sure that seeks to the main table are not deferred. This is a better fix for the [16c9801ceba49] bug than the previous. file: [4aba4214] check-in: [150dd09e] user: drh branch: ticket-16c9801ce, size: 35414
2016-05-04
19:04
Fix typo in comment. No changes to code. file: [912908de] check-in: [6c43ba1c] user: mistachkin branch: trunk, size: 35397
14:45
Only disable the one-pass DELETE optimization if the WHERE clause contains a correlated subquery. Uncorrelated subqueries are allowed. This is a refinement of check-in [3f221f592a9a1] that is the fix for ticket [dc6ebeda9396087]. file: [3f16e7ce] check-in: [aae38969] user: drh branch: trunk, size: 35400
2016-05-02
12:18
Disable the multi-row one-pass DELETE optimization when the WHERE clause contains a subquery. Fix for ticket [dc6ebeda9396087]. file: [362f89f8] check-in: [3f221f59] user: drh branch: trunk, size: 35420
2016-04-11
01:06
Factor out the common operation of setting the Expr.x.pSelect field of an Expr object into a subroutine. file: [78eb9991] check-in: [6a5cceee] user: drh branch: trunk, size: 35317
2016-02-05
14:15
Merge enhancements from trunk. file: [eeac28b3] check-in: [a533608c] user: drh branch: sessions, size: 35621
13:38
Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority cases where db is guaranteed to be not NULL. file: [48802aa3] check-in: [0a802e96] user: drh branch: oom-handling, size: 35240
2016-02-04
02:34
Add and use the sqlite3VdbeZeroRegister() interface for coding the common operation of writing zero into a register. file: [b08e36ce] check-in: [1c8d3001] user: drh branch: zero-register, size: 35229
2016-02-02
02:22
Merge all recent enhancements from trunk. file: [b6d96db8] check-in: [f3f92001] user: drh branch: sessions, size: 35619
2016-01-27
16:26
Change the name of the BTREE_IDXDELETE flag to BTREE_AUXDELETE, to better reflect its purpose. file: [33ed87dc] check-in: [1d3bf6be] user: drh branch: fordelete-assert, size: 35238
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: [db231a98] check-in: [dde1db0d] user: drh branch: fordelete-assert, size: 35281
2016-01-21
17:06
Add a new hint bit on the flags parameter of sqlite3BtreeDelete(). The new BTREE_IDXDELETE bit indicates that the call is to delete an index entry corresponding to a table row that has already been deleted. file: [f02e4623] check-in: [ac2cbadd] user: drh branch: btree-fordelete-flag, size: 35257
2015-12-12
19:23
Update some stale comments in delete.c. No changes to code. file: [ddc1a526] check-in: [f59a3326] user: dan branch: onepass-delete-or, size: 39417
17:31
Add further tests for the changes on this branch. Also fix a memory-leak that could follow a malloc failure. file: [a7ada4d4] check-in: [21526012] user: dan branch: onepass-delete-or, size: 38982
2015-12-11
13:59
Merge recent changes from trunk. Also remove unused variables to permit compiling with -Werror. file: [93f68145] check-in: [57b700ba] user: drh branch: onepass-delete-or, size: 38946
2015-12-09
10:06
Add simple tests and bugfixes for DELETE statements that qualify for the OR-optimization. file: [5f5bd961] check-in: [10ca7357] user: dan branch: onepass-delete-or, size: 39161
2015-12-08
19:50
Experimental optimization for DELETE statements with WHERE clauses that qualify for the OR-optimization. file: [97d9d981] check-in: [d52376df] user: dan branch: onepass-delete-or, size: 39074
2015-11-19
19:40
Merge the latest enhancements from trunk. file: [86e3940d] check-in: [7d6cfc79] user: drh branch: sessions, size: 35529
17:55
When manifesting a view as part of an DELETE or UPDATE, be sure to include the hidden columns in the manifestation. file: [00af9f08] check-in: [28df5dc4] user: drh branch: trunk, size: 35148
2015-10-30
16:50
Merge all the latest enhancements from trunk. file: [9dddc443] check-in: [395a153f] user: drh branch: sessions, size: 35487
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: [c4c6fb9d] check-in: [cdc92919] user: dan branch: btree-fordelete-flag, size: 35106
2015-09-30
14:50
Merge recent enhancements from trunk, and especially the fix for ticket [1b266395d6bc10]. file: [4545c9f7] check-in: [b2face9a] user: drh branch: sessions, size: 35420
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: [35c939eb] check-in: [7d272aa6] user: drh branch: trunk, size: 35039
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: [46bb5e21] check-in: [59662cd2] user: drh branch: vtab-onepass, size: 35039
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: [174b1403] check-in: [820c8044] user: dan branch: vtab-onepass, size: 35050
2015-09-28
23:45
Avoid unnecessary cursors and seeking when running a DELETE against a WITHOUT ROWID table. file: [514980fc] check-in: [70ec88b2] user: drh branch: delete-without-rowid-opt, size: 35005
15:20
Changes to allow DELETE operations on virtual tables to use the onepass strategy under some circumstances. file: [b454df59] check-in: [e73f919f] user: dan branch: vtab-onepass, size: 35112
2015-09-24
14:26
Merge all the latest trunk enhancements into the sessions branch. file: [d14f8693] check-in: [c91065f8] user: drh branch: sessions, size: 35222
2015-09-19
18:11
Add an assert() statement to delete.c. file: [371df4fc] check-in: [40fce67e] user: dan branch: trunk, size: 34841
2015-09-15
15:55
Merge the latest trunk enhancements with this branch. file: [fb64e308] check-in: [b7469c44] user: dan branch: sessions, size: 35154
13:42
Reformat some code to make it easier to merge with sessions. No logic changes. file: [5ab483f1] check-in: [eade355f] user: drh branch: trunk, size: 34773
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: [249a2876] check-in: [16e56bda] user: drh branch: trunk, size: 34762
14:08
Fix a compiler warning and providing missing VdbeCoverage() calls. file: [33dedc27] check-in: [2edd2e5e] user: drh branch: trunk, size: 34597
10:47
Merge the latest trunk enhancements. file: [7949fe60] check-in: [22ce9218] user: drh branch: sessions, size: 33375
2015-09-12
19:50
Fix compiler warnings in delete.c. file: [18b9c93e] check-in: [0a4d285e] user: dan branch: onepass-delete, size: 34563
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: [d5a2dc4a] check-in: [eaeb2b80] user: dan branch: onepass-delete, size: 34624
2015-09-03
14:48
Merge recent trunk enhancements. file: [8dbf37c9] check-in: [6a513c05] user: drh branch: sessions, size: 33291
14:18
Merge enhancements from trunk. file: [6792c80d] check-in: [1ab10cbf] user: drh branch: index-expr, size: 32984
13:46
Add the sqlite3VdbeLoadString() and sqlite3VdbeMultiLoad() routines to help with code generation, especially on PRAGMAs. Rename sqlite3VdbeAddGoto() to just sqlite3VdbeGoto(). file: [5b483598] check-in: [847387ec] user: drh branch: trunk, size: 32900
2015-09-02
18:19
Add the sqlite3VdbeAddGoto(v,i) routine as a shorthand for sqlite3VdbeAddOp2(v,OP_Goto,0,i). file: [e1efb66d] check-in: [be78f413] user: drh branch: trunk, size: 32906
2015-09-01
18:52
Merge recent enhancements from trunk. file: [6ecf6e84] check-in: [cb772366] user: drh branch: sessions, size: 33319
2015-08-25
19:24
Merge trunk enhancements. file: [224e5c9a] check-in: [e8b02902] user: drh branch: index-expr, size: 33012
19:20
Use the sqlite3IndexColumnAffinity() routine to quickly and correctly find the affinity of an index column. file: [813be7b5] check-in: [1ee089a7] user: drh branch: trunk, size: 32928
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: [07ba8cc1] check-in: [efaabdb7] user: drh branch: index-expr, size: 33003
2015-06-11
18:01
Merge recent trunk enhancements and fixes. file: [b998fbc3] check-in: [c39cb0e2] user: drh branch: sessions, size: 33310
17:58
Merge trunk fixes. file: [81fc0453] check-in: [1df8cbbe] user: drh branch: view-optimization, size: 32922
13:58
When generating code for partial indexes, be sure not to modify the index condition expression in the schema. file: [8857a6f2] check-in: [e63d01c6] user: drh branch: trunk, size: 32919
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: [5cfc68ff] check-in: [cabf2187] user: drh branch: view-optimization, size: 32916
2015-02-21
15:13
Merge all recent trunk changes into the sessions branch. file: [5075d885] check-in: [f36bb5fa] user: drh branch: sessions, size: 33304
2015-02-09
16:09
Propagate the COLLATE operator upward through function calls. Initial fix for ticket [ca0d20b6cdddec5e8]. file: [37964e6c] check-in: [c053448a] user: drh branch: tkt-2f7170d7, size: 32913
2015-01-29
15:53
Improvements to the DELETE code generator for the one-pass case. Avoid some OP_Goto instructions. Read content from the index cursor if the index cursor is valid and was used to locate the row that is to be deleted. file: [66c10f83] check-in: [58cc257a] user: drh branch: one-writable-btree, size: 32762
02:26
Experimental sqlite_db_config() setting to disable writing to all btrees except for one btree with a particular root page. file: [250aa3cf] check-in: [23054110] user: drh branch: one-writable-btree, size: 33029
2015-01-28
12:00
Merge in all changes from trunk. file: [e68b70ac] check-in: [17c69be8] user: drh branch: ota-update, size: 32997
2015-01-14
17:16
Merge trunk 3.8.8 beta changes into the sessions branch file: [ba0a9915] check-in: [0ba12454] user: drh branch: sessions, size: 33296
2015-01-12
18:38
Fix some harmless compiler warnings. file: [bd1a91dd] check-in: [2b8eecbf] user: mistachkin branch: msvcW4, size: 32905
2014-11-21
14:37
Merge latest trunk changes with this branch. file: [2d2c4ff2] check-in: [7ef44c5b] user: dan branch: ota-update, size: 32997
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: [20a36026] check-in: [28b044a5] user: drh branch: sessions, size: 33296
2014-10-28
16:19
Fix a faulty assert() in the DELETE code generator. file: [0750b1eb] check-in: [95f8ebdb] user: drh branch: trunk, size: 32905
2014-09-15
15:34
Merge latest trunk changes with this branch. file: [df9e2f27] check-in: [55b8011d] user: dan branch: ota-update, size: 32977
2014-09-08
15:04
Merge support for large files on Android from trunk. file: [de3d07d6] check-in: [c2885c6b] user: drh branch: sessions, size: 33276
2014-09-06
20:19
Add support for delete operations to the ota extension. file: [3c2a375c] check-in: [f988234b] user: dan branch: ota-update, size: 32980
16:39
Fix typos in comments. No code changes. file: [fae81cc2] check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 32885
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: [cb7a757e] check-in: [0b9e2c32] user: drh branch: sessions, size: 33279
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: [5adcd322] check-in: [7029b340] user: drh branch: trunk, size: 32888
2014-04-18
01:10
Merge recent trunk changes into sessions. file: [50b74c1d] check-in: [95e77efe] user: drh branch: sessions, size: 33171
2014-04-13
19:28
Remove the unused second argument from sqlite3ExprCachePop(). Add an ALWAYS() on an always-true conditional in sqlite3VdbeResolveLabel(). file: [bcf8f721] check-in: [ab23abf3] user: drh branch: trunk, size: 32780
19:15
Make sure column cache elements are cleared correctly when jumping over code for key generation in a partial index. Fix for ticket [2ea3e9fe6379fc3f6]. file: [d5e3a958] check-in: [3122b836] user: drh branch: trunk, size: 32783
2014-03-04
14:34
Merge the performance enhancements of trunk (and some obscure bug fixes) into the sessions branch. file: [19df05f1] check-in: [7f51ad97] user: drh branch: sessions, size: 32710
2014-02-19
00:53
Tweaks in support of VDBE branch test coverage. file: [cdd57149] check-in: [b9782564] user: drh branch: trunk, size: 32319
2014-02-17
22:40
Add logic to do test coverage measurements on the VDBE code. file: [a00bf893] check-in: [ce184c7b] user: drh branch: insert-optimization, size: 32181
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: [57a09d3d] check-in: [35b4d6e9] user: drh branch: insert-optimization, size: 32046
2014-02-11
04:30
Sync the latest trunk changes, and in particular the STAT4 IS NOT NULL fix. file: [2017d291] check-in: [b0067926] user: drh branch: sessions, size: 32446
2014-02-06
14:59
Change more OP_OpenEphemeral operations to OP_OpenHash. file: [3987ac3e] check-in: [881164cf] user: drh branch: subquery-codegen-refactor, size: 32197
2014-02-04
20:46
Remove the SF_Materialize flag from the SELECT object as it does not accomplish anything useful. file: [6765a421] check-in: [65d5dcdd] user: drh branch: trunk, size: 32055
2014-01-29
14:21
Merge latest fixes from the trunk. file: [a3f2007b] check-in: [6b6dcd4c] user: dan branch: sessions, size: 32497
2014-01-28
18:53
Fix a potential over-size and hence undefined shift operation. file: [d784e2ee] check-in: [6379b072] user: drh branch: trunk, size: 32106
18:06
Bring in the latest updates from trunk. file: [85592961] check-in: [7b5f3773] user: drh branch: sessions, size: 32435
2014-01-24
22:58
Fixes for various clang warnings. file: [22e54756] check-in: [87bf6063] user: drh branch: trunk, size: 32044
14:05
Bring in all the latest trunk changes, including the Common Table Expressions implementation. file: [80a3947f] check-in: [9b43e559] user: drh branch: sessions, size: 32374
2014-01-04
19:27
Avoid redundant register loads during index key generation when doing a DELETE or INTEGRITY_CHECK on a table with multiple indices. file: [91e13210] check-in: [8f6e6149] user: drh branch: trunk, size: 31983
16:49
Omit OP_Close operations that occur immediately prior to OP_Halt and which cannot be jumped over. file: [f7c47fbb] check-in: [874b7e99] user: drh branch: trunk, size: 30905
2014-01-02
19:35
Avoid unnecessary affinity transformations when building indices using data from a table. file: [22f3dc3f] check-in: [10d85135] user: drh branch: trunk, size: 30955
2013-12-24
12:09
Merge the latest trunk changes into the sessions branch. file: [e9806af7] check-in: [cfd110bf] user: drh branch: sessions, size: 31076
2013-12-20
18:44
Code simplification in sqlite3GenerateIndexKey() by making use of a subroutine found over in expr.c. file: [821da825] check-in: [0026d335] user: drh branch: trunk, size: 30685
2013-11-26
18:00
Merge in performance enhancements from trunk. file: [65c34400] check-in: [fc9ae839] user: drh branch: sessions, size: 31350
2013-11-22
21:32
Fix harmless compiler warning. file: [b36db1f7] check-in: [f336c18f] user: mistachkin branch: trunk, size: 30959
2013-11-18
03:11
Enable the ONEPASS optimization for DELETE, for both rowid and WITHOUT ROWID tables. file: [90993601] check-in: [44a07afd] user: drh branch: trunk, size: 30959
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: [d88e4fbf] check-in: [6bd5750b] user: drh branch: optimize-delete, size: 30977
2013-11-16
23:16
Fix a couple of minor problems with the new delete logic. file: [b612d06c] check-in: [a11243f8] user: drh branch: optimize-delete, size: 30616
23:03
Fix an OOM-recovery problem in the DELETE code generator. file: [af69db68] check-in: [dc7be158] user: drh branch: optimize-delete, size: 30565
22:48
Combine the rowid and WITHOUT ROWID paths for DELETE into a single path. file: [1bcc9d7f] check-in: [c4734b88] user: drh branch: optimize-delete, size: 30515
20:45
The one-pass optimization is now working for DELETE on WITHOUT ROWID tables. file: [35750d35] check-in: [e4d220a3] user: drh branch: optimize-delete, size: 30443
20:13
Enhance the DELETE logic so that it can make use of WHERE_ONEPASS_DESIRED for rowid tables. file: [76521527] check-in: [8f479a72] user: drh branch: optimize-delete, size: 29707
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: [714f86ed] check-in: [5addd123] user: drh branch: sessions, size: 29079
2013-11-08
16:54
Performance improvement: Avoid unnecessary seeks on REPLACE INTO for a WITHOUT ROWID table. file: [ddb92f44] check-in: [fd11afa5] user: drh branch: trunk, size: 28681
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: [fb896d68] check-in: [defd5205] user: drh branch: omit-rowid, size: 28643
2013-11-04
15:23
Correctly handle changing counting when inserting and deleting on WITHOUT ROWID tables. Add more FOREIGN KEY test cases. file: [f4e0dc7b] check-in: [d072bcd0] user: drh branch: omit-rowid, size: 28710
2013-11-02
22:09
Many new test cases added, that mostly work. Currently 18 errors in without_rowid3.test. Also there is a hack marked by a /*FIXME*/ comment on at fkey.c:547 that needs fixing. file: [605be39d] check-in: [39e32187] user: drh branch: omit-rowid, size: 28614
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: [c58e07fb] check-in: [c525ac56] user: drh branch: omit-rowid, size: 28680
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: [df1775ee] check-in: [9b6d9e10] user: drh branch: omit-rowid, size: 28646
15:37
Improved comments and variable names in infrastructure routines of UPDATE, DELETE, and INSERT. file: [0e108492] check-in: [ad90e762] user: drh branch: omit-rowid, size: 28390
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: [d50cc704] check-in: [1adfca60] user: drh branch: omit-rowid, size: 28212
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: [7b56fcc7] check-in: [0d4fea74] user: drh branch: omit-rowid, size: 27725
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: [d4917b7b] check-in: [6d9af606] user: drh branch: omit-rowid, size: 27627
2013-10-25
14:46
Basic DELETE operations now working on WITHOUT ROWID tables. file: [8b9aa9c9] check-in: [9eafafa3] user: drh branch: omit-rowid, size: 27463
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: [3a750695] check-in: [85daf517] user: drh branch: omit-rowid, size: 25781
14:16
Delete PRIMARY KEY index entries last. Only construct the unique prefix of an index key when deleting entries from an index. file: [18bd99db] check-in: [0e56ba69] user: drh branch: omit-rowid, size: 25431
2013-10-23
22:23
Construct secondary indices on WITHOUT ROWID tables. file: [5dcd957b] check-in: [2c028ddc] user: drh branch: omit-rowid, size: 24665
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: [c1547dbf] check-in: [a106ce86] user: drh branch: omit-rowid, size: 24599
2013-10-10
20:13
Synchronize with the trunk. file: [92d409e4] check-in: [136445ba] user: drh branch: sessions, size: 24997
2013-09-26
15:21
Obtain the required shared-cache write-lock when executing "DELETE FROM tbl" statements. Fix for [1e1321ee98]. file: [45788c5e] check-in: [1f8f4fdf] user: dan branch: trunk, size: 24599
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: [2dc64ca3] check-in: [e940b5de] user: dan branch: trunk, size: 24536
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: [30ed4bc7] check-in: [7e1acb39] user: drh branch: sessions, size: 24922
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: [2317c814] check-in: [fb9044d1] user: drh branch: partial-indices, size: 24524
2013-03-12
11:38
Merge recent changes to trunk into sessions branch. file: [39a770e9] check-in: [62adb0e0] user: dan branch: sessions, size: 24062
2013-03-09
14:40
Fix a problem with resolving "db.view.column" references that appear in UPDATE or DELETE statements executed against views. file: [aeabdabe] check-in: [ddee56c9] user: dan branch: trunk, size: 23664
2012-10-30
21:03
Pull all the latest trunk enhancements into the sessions branch. file: [9bc94639] check-in: [fce667f2] user: drh branch: sessions, size: 24116
00:29
Add an optimization that attempts to run a subquery as a coroutine rather than manifesting it into a temporary table. file: [9b8d3089] check-in: [7af3acbb] user: drh branch: subquery-as-coroutine, size: 23718
2012-10-26
13:34
Backport the shared-cache-fix branch. file: [c374ab8d] check-in: [325364a9] user: drh branch: branch-3.7.14, size: 23651
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: [e44a1b66] check-in: [f1fbb8c5] user: drh branch: sessions, size: 24067
2012-10-05
18:35
Backport fixes to shared-cache mode, from the shared-cache-fix branch, to version 3.7.9 file: [e3a945da] check-in: [ac81ae49] user: drh branch: branch-3.7.9, size: 23673
2012-10-04
19:33
Shared-cache mode fixes for views and virtual tables. file: [e35684ad] check-in: [2b370dea] user: dan branch: shared-cache-fix, size: 23669
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: [c856ca31] check-in: [6ca8eae1] user: drh branch: sessions, size: 24088
2012-09-27
15:05
Add more bits to the bit vector that is used to disable optimizations for built-in test. Add specific bit patterns to disable ORDER BY using an index in general and for joins. Use macros to test for bits in the disabled-optimization bit vector, in order to make the code clearer. file: [4f7d773e] check-in: [d2fcba1e] user: drh branch: qp-enhancements, size: 23690
2012-08-25
01:21
Merge the latest trunk changes into the sessions branch. file: [38f7517f] check-in: [aa62d688] user: drh branch: sessions, size: 24070
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: [e179bd66] check-in: [865dfcba] user: drh branch: branch-3.7.2, size: 23080
2012-08-24
18:44
Fix a problem to do with multi-or queries and automatic indexes. file: [335f3675] check-in: [a3e26038] user: dan branch: multi-or-covering-index, size: 23672
2012-03-30
17:30
Merge all recent trunk changes into the sessions branch. file: [32041c65] check-in: [fb9b9987] user: drh branch: sessions, size: 24067
2012-03-28
01:34
Evaluate typeof(X) and length(Y) where X is any column and Y is a blob column without actually loading X and Y from disk. file: [4c20ea4f] check-in: [b899dbeb] user: drh branch: faster-typeof-and-length, size: 23669
2012-01-05
13:02
Merge all of the latest trunk changes into the sessions branch. file: [c6796c89] check-in: [a9bcb432] user: drh branch: sessions, size: 24064
2011-11-29
15:40
Remove unused fields from the Parse object. Documentation and formatting improvements on data structure definitions. file: [51d32f0a] check-in: [431556ca] user: drh branch: trunk, size: 23666
2011-07-22
12:49
Merge the latest trunk changes into the sessions branch. file: [614d6e01] check-in: [110cfd69] user: drh branch: sessions, size: 24092
2011-07-02
13:34
Cherrypick [45e581bff7] into the 3.7.2 branch. file: [daff6cef] check-in: [c593792c] user: dan branch: branch-3.7.2, size: 23077
2011-06-30
20:17
Experimental changes to improve optimization of DISTINCT queries. file: [ff68e5ef] check-in: [f7ba0219] user: dan branch: experimental, size: 23694
2011-06-23
17:40
Pull the latest version 3.7.7 release-candidate changes into the sessions branch. file: [7a8683a3] check-in: [840bf9c2] user: drh branch: sessions, size: 24073
17:29
Add a bit to the SQLITE_TESTCTRL_OPTIMIZATIONS setting that will disable affinity when writing to any index, regardless of whether or not the index is on a manifestation of a view. This allows better testing of the fix for ticket [91e2e8ba6ff2e2]. file: [4925f912] check-in: [b61a76a5] user: drh branch: trunk, size: 23675
16:18
Do not do affinity transformations on inserts into an index for the manifestation of a view or subquery. Fix for ticket [91e2e8ba6ff2e2]. file: [de45b70c] check-in: [0b3174e0] user: drh branch: trunk, size: 23577
2011-06-20
10:44
Merge the latest trunk changes into the sessions branch. file: [c8406614] check-in: [4c5e276c] user: drh branch: sessions, size: 23926
2011-05-30
14:35
Make sure the P5 argument to the OP_VUpdate opcode is always set to a valid conflict resolution code. file: [cecc926c] check-in: [e3350dbd] user: drh branch: trunk, size: 23528
2011-04-05
13:27
Pull the latest trunk changes (and hence the schema-parse-refactor changes) into the sessions branch. file: [ad9fa1cb] check-in: [03ca8342] user: drh branch: sessions, size: 23886
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: [7a24fcc9] check-in: [bf664b20] user: drh branch: trunk, size: 23488
11:26
Improved comment on the sqlite3SrcListLookup function. file: [860c82c7] check-in: [bcbc9ff5] user: drh branch: trunk, size: 23474
2011-03-30
21:04
Add the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option. file: [44800af9] check-in: [66345214] user: drh branch: sessions, size: 23459
17:25
Disable the truncate optimization if there is a preupdate hook. file: [4aebb9cc] check-in: [d051694e] user: drh branch: sessions, size: 23416
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: [c55748a1] check-in: [9c3a6e47] user: drh branch: sessions, size: 23374
2011-03-19
08:38
Fix a problem with INTEGER PRIMARY KEY columns and the pre-update hook. file: [122c1a76] check-in: [24d4d5dd] user: dan branch: sessions, size: 23360
2011-03-01
18:42
Add the experimental sqlite3_preupdate_hook() API. file: [3c0925e9] check-in: [6145d7b8] user: dan branch: sessions, size: 23368
2010-07-23
15:41
Remove the Table.dbMem variable, as it is no longer being used for its original purpose. file: [7ed8a8c8] check-in: [6eddc6e6] user: dan branch: trunk, size: 23058
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: [41cb4f78] check-in: [636f8609] user: drh branch: trunk, size: 23046
2010-02-25
14:44
Add some technically unnecessary variable initializations to silence compiler warnings. file: [28595a17] check-in: [a2550597] user: dan branch: branch-3.6.1, size: 18278
2009-12-30
14:12
Adjustments to column cache handling in order to restore 100% branch test coverage. file: [610dc008] check-in: [cc6b959b] user: drh branch: trunk, size: 23126
2009-12-24
16:00
Immediately purge entries from the column cache when the associated register undergoes an affinity change. Ticket [eb5548a849]. Enhance the SQLITE_TESTCTRL_OPTIMIZATIONS setting of sqlite3_test_control so that it can disable the column cache for testing purposes, in an effort to prevent future problems of a similar nature to this one. file: [1425b44a] check-in: [ea4e57e1] user: drh branch: trunk, size: 23187
2009-11-27
12:12
Move [7d30880114] to the trunk. Add optimizations to reduce the number of opcodes used for BEFORE UPDATE triggers. file: [8b8afb9c] check-in: [1b7c5250] user: dan branch: trunk, size: 23190
2009-11-10
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. file: [ec04635d] check-in: [f6c045f6] user: drh branch: trunk, size: 23143
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: [308e300d] check-in: [edff3500] user: dan branch: trunk, size: 23202
2009-09-24
10:42
Use sqlite3FkOldmask() in delete.c instead of assuming that foreign key constraints always require all columns of the deleted row to be stored in registers. file: [2a3d6fc0] check-in: [ce554a39] user: dan branch: trunk, size: 23202
09:05
Remove unused parameter from sqlite3CodeRowTrigger(). Fix header comments for this function and CodeRowTriggerDirect(). file: [bf701123] check-in: [0443f7c9] user: dan branch: trunk, size: 23160
2009-09-21
16:06
Fix compilation with OMIT_TRIGGER defined. Ticket [1ff6d29030]. file: [15499f5d] check-in: [fb6ceed3] user: dan branch: trunk, size: 23168
2009-09-19
17:00
Check in implementation of foreign key constraints. file: [b7cfab0f] check-in: [d5d39981] user: dan branch: trunk, size: 23034
2009-09-09
16:10
Suppress some harmless compiler warnings. file: [7ef5a39b] check-in: [f0c72a53] user: drh branch: trunk, size: 22516
2009-09-08
19:15
Combine the OP_Statement and OP_Transaction opcodes. file: [70abd255] check-in: [aec9dbd8] user: dan branch: trunk, size: 22516
15:55
If recursive-triggers are enabled, fire DELETE triggers if database rows are removed as a result of OR REPLACE conflict resolution. file: [4c9b8992] check-in: [85cb0c94] user: dan branch: trunk, size: 22485
2009-08-31
15:27
More fixes for test cases. file: [6b95963d] check-in: [85d9f23b] user: dan branch: trunk, size: 21190
2009-08-30
11:42
Fixes for new triggers scheme. file: [5b7c810b] check-in: [9eb91efd] user: dan branch: trunk, size: 21276
2009-08-28
18:53
Changes to support recursive triggers. file: [0fa2c14b] check-in: [9b9c1921] user: dan branch: trunk, size: 21121
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: [dcf07632] check-in: [e72186f2] user: dan branch: trunk, size: 22255
2009-08-08
18:01
Suppress various compiler warnings. (CVS 6963) file: [f1502d3c] check-in: [257e9b57] user: drh branch: trunk, size: 22224
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: [fb2dfdd9] check-in: [3616766a] user: danielk1977 branch: trunk, size: 22213
2009-07-24
17:58
Allow virtual tables to be used in shared-cache mode. (CVS 6928) file: [6f0192ec] check-in: [5d9e767a] user: danielk1977 branch: trunk, size: 22209
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: [fb05e577] check-in: [1330993d] user: drh branch: trunk, size: 21764
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: [cb791855] check-in: [4ac2bdfb] user: drh branch: trunk, size: 21507
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: [59da0e52] check-in: [7cb1c3ba] user: drh branch: trunk, size: 21507
2009-05-01
21:13
Record within the Token structure itself whether or not the token has been dequoted. This steals one bit from the length of a token and thus limits the size of tokens to 1GiB. (CVS 6589) file: [a0a0932e] check-in: [12bcb03d] user: drh branch: trunk, size: 21430
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: [5416059a] check-in: [71756dc8] user: drh branch: trunk, size: 21405
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: [becfff86] check-in: [98606bee] user: drh branch: trunk, size: 22176
2009-03-05
03:48
Removed compiler warnings from MSVC builds. Ticket #3701. (CVS 6335) file: [eb1066b2] check-in: [5477833e] user: shane branch: trunk, size: 22007
2009-03-02
14:24
Fix the SQLITE_ENABLE_UPDATE_DELETE_LIMIT option for the new Expr compression logic of check-in (6305). Bug discovered during regression testing. (CVS 6333) file: [179db8e4] check-in: [91969eda] user: drh branch: trunk, size: 22000
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: [506ff477] check-in: [3befe1ef] user: danielk1977 branch: trunk, size: 21940
2009-02-24
10:14
Reverse commit (6315) for now. (CVS 6317) file: [61179b19] check-in: [0e7c369c] user: danielk1977 branch: trunk, size: 21958
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: [06e78b6e] check-in: [294ba6f7] user: danielk1977 branch: trunk, size: 21992
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: [d9172e23] check-in: [e43ed649] user: danielk1977 branch: trunk, size: 21958
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: [8d2fb05b] check-in: [d9f6ffbc] user: danielk1977 branch: trunk, size: 21995
2008-12-23
23:56
Continuing improvements to the multi-index OR-clause optimizer. Added a few simple test cases. (CVS 6062) file: [6249005b] check-in: [55d4f493] user: drh branch: trunk, size: 21978
2008-12-10
21:19
Additional work at eliminating silly compiler warnings. (CVS 6010) file: [e2392b68] check-in: [ea01d437] user: drh branch: trunk, size: 22099
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: [1817205f] check-in: [c872d554] user: drh branch: trunk, size: 22095
2008-12-04
20:40
Replace the VDBE Fifo object with the new RowSet object. (CVS 5977) file: [d6088571] check-in: [39a0750b] user: drh branch: trunk, size: 22086
2008-11-19
09:05
Changes to avoid "unused parameter" compiler warnings. (CVS 5921) file: [2f85d6d0] check-in: [88134322] user: danielk1977 branch: trunk, size: 21994
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: [3b156e1d] check-in: [bfce9142] user: danielk1977 branch: trunk, size: 22002
2008-10-27
15:34
If an SQLITE_DELETE authorization callback returns SQLITE_IGNORE, proceed with the delete operation but disable the truncate optimization. (CVS 5845) file: [f77efc8c] check-in: [65a2e131] user: danielk1977 branch: trunk, size: 21998
13:59
Make sqlite3_count_changes() and total_changes() work with "DELETE FROM ". (CVS 5844) file: [b0b7c499] check-in: [e68e4282] user: danielk1977 branch: trunk, size: 21794
08:24
Remove some if() conditions that are always true from delete.c. (CVS 5843) file: [8bb079e0] check-in: [297ad90d] user: danielk1977 branch: trunk, size: 22237
2008-10-10
23:48
Add the SQLITE_OMIT_TRUNCATE_OPTIMIZATION option. Other unrelated documentation enhancements. (CVS 5798) file: [d3f2adfd] check-in: [fab4940d] user: drh branch: trunk, size: 22241
18:25
Further simplifications of the code for the LIMIT clause on an UPDATE or DELETE. Added a few test cases to wherelimit.test. (CVS 5797) file: [c7aaf47f] check-in: [282c6a46] user: shane branch: trunk, size: 22155
13:35
Re-factored memory allocation failure handling in the sqlite3LimitWhere() function based on failures in the mallocJ.test script. (CVS 5791) file: [f72c98c5] check-in: [43507bbe] user: shane branch: trunk, size: 21146
04:34
Updated LIMIT support for DELETE/UPDATE. Omit option changed to SQLITE_ENABLE_UPDATE_DELETE_LIMIT. (CVS 5788) file: [24d4f582] check-in: [c10e8a3c] user: shane branch: trunk, size: 21389
2008-10-07
05:27
Initial support for LIMIT clause on DELETEs and UPDATEs. Changes likely with more testing. The code can be omitted with the define SQLITE_OMIT_UPDATE_DELETE_LIMIT. (CVS 5774) file: [7c9183a1] check-in: [9c8b132e] user: shane branch: trunk, size: 20134
2008-10-06
16:18
Allow INDEXED BY and NOT INDEXED to be used in UPDATE and DELETE statements. (CVS 5772) file: [924c43df] check-in: [83a7e446] user: danielk1977 branch: trunk, size: 18529
05:32
Allow INDEXED BY and NOT INDEXED clauses in SELECT statements. (CVS 5766) file: [52c3614b] check-in: [98ca5580] user: danielk1977 branch: trunk, size: 18502
2008-09-01
21:59
Omit prototype for and calls to sqlite3MaterializeView() if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_TRIGGER). (CVS 5655) file: [bae6684a] check-in: [9cf484fc] user: shane branch: trunk, size: 18496
2008-08-29
02:14
Avoid reevaluating WHERE and ORDER BY expressions that alias terms in the result set. Ticket #3343. Note that aliased GROUP BY expressions are still evaluated twice. (CVS 5637) file: [434dd6f9] check-in: [ab0292ca] user: drh branch: trunk, size: 18423
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: [d979a250] check-in: [7360e5d1] user: drh branch: trunk, size: 18391
2008-08-20
16:35
Refactor the name resolution procedures in the code generator. (CVS 5569) file: [5105c67c] check-in: [daf730d1] user: drh branch: trunk, size: 18296
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: [0d115c17] check-in: [e48f9697] user: drh branch: trunk, size: 18278
2008-07-08
23:40
Remove obsolete code from select.c, including the "affinity" parameter to the sqlite3Select() module. (CVS 5380) file: [4a1f98fb] check-in: [cbd3c158] user: drh branch: trunk, size: 18266
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: [d3fc5987] check-in: [133b7ee5] user: drh branch: trunk, size: 18269
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: [e4bd53c4] check-in: [f5fc42e9] user: drh branch: trunk, size: 18259
2008-04-11
19:18
Avoid the use of uninitialized variables in sqlite3GenerateRowIndexDelete. Ticket #3048. (CVS 4991) file: [555cedf9] check-in: [a93b7a34] user: drh branch: trunk, size: 18385
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: [74d5c9c8] check-in: [91cc646e] user: drh branch: trunk, size: 18386
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: [9573b07f] check-in: [c29ee0fe] user: drh branch: trunk, size: 18395
2008-03-25
17:23
Modify the {quote: IdxDelete} opcode so that it takes an array of registers rather than a record formed using {quote: MakeRecord.} This avoids a needless packing and unpacking of the record to be deleted. (CVS 4916) file: [3dc7d7cc] check-in: [ee381b43] user: drh branch: trunk, size: 18325
09:47
Use a vdbe memory cell to allocate the space required for vdbe cursors. (CVS 4912) file: [526b783b] check-in: [04715364] user: danielk1977 branch: trunk, size: 18288
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: [217cd555] check-in: [a42caa8f] user: drh branch: trunk, size: 18288
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: [fa13c296] check-in: [5ab71c3a] user: drh branch: trunk, size: 18119
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: [220570cc] check-in: [50815a82] user: drh branch: trunk, size: 17074
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: [739ccbab] check-in: [706b41b7] user: drh branch: trunk, size: 17071
02:36
Registerification of the WHERE clause logic. (CVS 4716) file: [ca07deed] check-in: [b3a141b2] user: drh branch: trunk, size: 17033
2008-01-12
12:48
Continuing work toward converting the VM into a register machine. (CVS 4707) file: [00e53684] check-in: [a6dddebc] user: drh branch: trunk, size: 17517
2008-01-10
23:50
More work toward converting the VM into a register-based machine. (CVS 4704) file: [44eac0a8] check-in: [8cbd4651] user: drh branch: trunk, size: 18143
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: [4f760fb7] check-in: [e3cf1c1c] user: drh branch: trunk, size: 17637
2008-01-08
23:54
Registerify the comparison opcodes. (CVS 4697) file: [971f5f77] check-in: [8862ce9c] user: drh branch: trunk, size: 17640
02:57
Progress toward registerification of the constraint checking logic for INSERT and UPDATE. (CVS 4693) file: [d78e46b2] check-in: [b9bf509e] user: drh branch: trunk, size: 17669
2008-01-06
00:25
Registerify the SRT_Subroutine destination for SELECT results. (CVS 4690) file: [09c7b312] check-in: [8201f717] user: drh branch: trunk, size: 17674
2008-01-05
17:39
First pass at optimizing max()/min() as described in #2853. Some refinements to come. (CVS 4687) file: [209f33fd] check-in: [c449e04f] user: danielk1977 branch: trunk, size: 17662
05:20
Register-ify the OP_AddImm and all casting opcodes. Omit the OP_MemIncr opcode. (CVS 4683) file: [cb1d5be1] check-in: [3e8a07dd] user: drh branch: trunk, size: 17651
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: [f943c27b] check-in: [cc149eb9] user: drh branch: trunk, size: 17653
2008-01-04
22:01
Implement the out2-prerelease opcode design pattern. (CVS 4681) file: [056f96bb] check-in: [fe057a88] user: drh branch: trunk, size: 17665
19:10
Some modifications to insert.c to work without using the stack. (CVS 4678) file: [bc1fedf4] check-in: [d9ac6bee] user: danielk1977 branch: trunk, size: 17675
13:57
Modify FifoRead and FifoWrite to work exclusively with memory cells. (CVS 4676) file: [5601acbb] check-in: [2c913908] user: danielk1977 branch: trunk, size: 17488
13:24
Modify the code generated for a DELETE to use registers instead of the vdbe stack. (CVS 4675) file: [36193a3a] check-in: [173f2813] user: danielk1977 branch: trunk, size: 17515
2008-01-03
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: [b5f77d88] check-in: [0b849805] user: drh branch: trunk, size: 17274
17:31
Modify OP_VUpdate to read arguments from a range of memory cells instead of from the stack. (CVS 4668) file: [1fa15280] check-in: [955b15a0] user: danielk1977 branch: trunk, size: 17280
09:51
Change the OP_Insert opcode to read the key and data to insert from memory cells, not the stack. (CVS 4666) file: [16389863] check-in: [46501f49] user: danielk1977 branch: trunk, size: 16742
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: [0daad581] check-in: [35da261d] user: danielk1977 branch: trunk, size: 16267
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: [4d3e3821] check-in: [027875e4] user: drh branch: trunk, size: 16295
2008-01-02
16:27
Combine the eDest and iParm arguments to sqlite3Select() into a single type - "SelectDest". (CVS 4657) file: [0114a958] check-in: [86dcdfe6] user: danielk1977 branch: trunk, size: 16309
13:05
Remove a surplus OP_Close from delete.c. Fixes a problem with (4654). (CVS 4655) file: [9a98d854] check-in: [03cc91b3] user: drh branch: trunk, size: 16247
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: [e750b537] check-in: [f1966a8a] user: danielk1977 branch: trunk, size: 16332
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: [a4843531] check-in: [051ec01f] user: drh branch: trunk, size: 16972
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: [6c090aeb] check-in: [e08a33ed] user: danielk1977 branch: trunk, size: 17024
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: [1f957c4a] check-in: [12c3029b] user: danielk1977 branch: trunk, size: 15740
17:19
Remove a couple of lines in delete.c that weren't doing anything. (CVS 4616) file: [8c696d28] check-in: [86332c79] user: danielk1977 branch: trunk, size: 15640
16:06
Fix some problems similar to #2832, but caused by triggers instead of an OR REPLACE clause. (CVS 4615) file: [889a3aac] check-in: [ee98ae17] user: danielk1977 branch: trunk, size: 15732
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: [034b8776] check-in: [3391f413] user: drh branch: trunk, size: 15718
2007-08-16
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: [849846d0] check-in: [deb7ecd6] user: drh branch: trunk, size: 15600
2007-04-16
15:06
Ensure sqlite3_finalize() can be called from within the xDisconnect() method of virtual tables. (CVS 3845) file: [5c0d89b3] check-in: [8d6c3bfc] user: danielk1977 branch: trunk, size: 15609
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: [151d0838] check-in: [2bd4b62a] user: drh branch: trunk, size: 15613
2006-06-19
03:05
Add tests to ensure an INSERT/UPDATE/DELETE immediately after virtual table construction does not fail. (CVS 3270) file: [80438476] check-in: [144d0eb1] user: danielk1977 branch: trunk, size: 15424
2006-06-16
16:08
Add code to invoke the virtual table transaction interface. Untested at this point. (CVS 3261) file: [e6a32465] check-in: [61251402] user: danielk1977 branch: trunk, size: 15434
2006-06-15
04:28
Add void* argument to sqlite3_create_module to replace sqlite3_module.pAux. (CVS 3251) file: [f34599f6] check-in: [470a3a0b] user: danielk1977 branch: trunk, size: 15397
2006-06-14
19:00
Added code to INSERT, DELETE and UPDATE virtual tables. The new code is mostly untested. (CVS 3248) file: [d529fe3e] check-in: [32c97b88] user: drh branch: trunk, size: 15386
2006-06-11
23:41
Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211) file: [f9a8c783] check-in: [898ec36b] user: drh branch: trunk, size: 15001
2006-02-24
02:53
Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) file: [2dea1a83] check-in: [4b22e4b8] user: drh branch: trunk, size: 15003
2006-02-10
02:27
Add the column_origin_name() etc. APIs. (CVS 3069) file: [ca404d5f] check-in: [82f502cd] user: danielk1977 branch: trunk, size: 15076
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: [56ab34c3] check-in: [d86f18a4] user: danielk1977 branch: trunk, size: 15062
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: [d92db300] check-in: [ac090f2a] user: danielk1977 branch: trunk, size: 15059
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: [c7bd5708] check-in: [5d9c6aa9] user: drh branch: trunk, size: 15071
2006-01-10
17:58
Store collation sequence names instead of pointers in sharable schema data structures. (CVS 2904) file: [b242a0d9] check-in: [0f0213be] user: danielk1977 branch: trunk, size: 15071
2006-01-09
06:29
Rename DbSchema to "Schema" and SqliteTsd to "ThreadData". (CVS 2893) file: [66199ba7] check-in: [82b81f69] user: danielk1977 branch: trunk, size: 15289
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: [32ba37cc] check-in: [23b587b0] user: danielk1977 branch: trunk, size: 15282
2006-01-05
11:34
Add the shared schema/pager modifications. Very few tests so far. (CVS 2859) file: [2479a841] check-in: [deeda0dc] user: danielk1977 branch: trunk, size: 15064
2005-12-15
15:22
Add the sqlite3_update_hook() API. (CVS 2820) file: [ebb83753] check-in: [36229018] user: danielk1977 branch: trunk, size: 14922
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: [6010a081] check-in: [e1606658] user: danielk1977 branch: trunk, size: 14750
2005-09-20
17:42
Code cleanup and simplification. Three new Mem opcodes added. The sqlite3VdbeJumpHere function added. (CVS 2730) file: [29dac493] check-in: [2471957f] user: drh branch: trunk, size: 14737
2005-09-08
01:58
Optimizations and refinements. Improvements to test coverage. (CVS 2667) file: [16a0e194] check-in: [7283f7c2] user: drh branch: trunk, size: 14764
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: [be1fc25c] check-in: [e2f822ac] user: drh branch: trunk, size: 14765
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: [250d436a] check-in: [94c120bb] user: drh branch: trunk, size: 14765
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: [9bb19ede] check-in: [06a71b16] user: drh branch: trunk, size: 14856
2005-06-12
21:35
Update older opcode names to be more meaningful in light of the latest code design. (CVS 2506) file: [4b68127f] check-in: [36f2da1f] user: drh branch: trunk, size: 14862
2005-06-06
21:19
Reference count Table structures so that they are not deallocated too soon. Ticket #1210. (CVS 2498) file: [811f90d1] check-in: [e73d25c7] user: drh branch: trunk, size: 14865
2005-04-22
02:38
Remove some vestigal code. Add the experimental sqlite3_transfer_bindings() API. (CVS 2446) file: [75b53db2] check-in: [88b39436] user: drh branch: trunk, size: 14774
2005-04-08
16:07
Fixed stack growth in delete trigger on views (tkt #1169) (CVS 2442) file: [bbdd1745] check-in: [1a757ba1] user: kwel branch: trunk, size: 14778
2005-03-16
12:15
Fix some memory leaks that can occur if a memory allocation fails. (CVS 2388) file: [d70d54a8] check-in: [9a358fc3] user: danielk1977 branch: trunk, size: 14769
2005-03-09
12:26
Support for a future ALTER TABLE command to add columns with default values. (CVS 2367) file: [ebd18402] check-in: [9d5abc1d] user: danielk1977 branch: trunk, size: 14787
2005-01-29
08:32
Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286) file: [4b94395b] check-in: [b1b50f31] user: danielk1977 branch: trunk, size: 14745
2005-01-20
11:32
Extend the influence of a couple of SQLITE_OMIT_** macros a little bit. (CVS 2243) file: [b3accca9] check-in: [5b1a9bf6] user: danielk1977 branch: trunk, size: 14622
2005-01-19
23:24
Continued refactoring of the name resolution logic and query optimizer. (CVS 2236) file: [cbf54c06] check-in: [d8b2a7e0] user: drh branch: trunk, size: 14582
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: [728a02e5] check-in: [0142ae6f] user: drh branch: trunk, size: 14576
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: [5872f452] check-in: [4a753439] user: drh branch: trunk, size: 14579
2005-01-10
02:48
Fix an assertion failure due to interaction between the count_changes pragma and triggers. (CVS 2187) file: [32277d28] check-in: [6c7bec1b] user: danielk1977 branch: trunk, size: 14587
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: [5e5bcf00] check-in: [5fd1f471] user: drh branch: trunk, size: 14557
2004-12-14
03:34
Minor code and comment cleanup. (CVS 2165) file: [6debe789] check-in: [d012628a] user: drh branch: trunk, size: 14514
2004-12-07
14:06
Simplify the trigger logic for DELETE, INSERT, and UPDATE. (CVS 2157) file: [4a70ac0b] check-in: [8e164ab2] user: drh branch: trunk, size: 14321
2004-11-23
01:47
More work on the implementation of cursors, but they are still not functioning. (CVS 2142) file: [9083377a] check-in: [8b61d1ae] user: drh branch: trunk, size: 14781
2004-11-22
10:02
Back out changes allowing writes to tables that have open cursors. (CVS 2133) file: [cf185995] check-in: [91acd87e] user: danielk1977 branch: trunk, size: 14786
2004-11-16
15:50
Perform deletes in a single pass. (CVS 2104) file: [be9d039b] check-in: [a2e1c35b] user: danielk1977 branch: trunk, size: 13442
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: [f0af21a1] check-in: [b0506bdd] user: drh branch: trunk, size: 14778
06:02
When using sqlite3NestedParse() to modify the sqlite_master table, do not code OP_Callback. (CVS 2063) file: [6a54fd9f] check-in: [296a298c] user: danielk1977 branch: trunk, size: 14746
00:43
Incremental check-in of changes that will ultimately lead to a working autoincrement. (CVS 2056) file: [832adc6f] check-in: [10c3d883] user: drh branch: trunk, size: 14591
2004-11-04
04:42
All tests pass even if OMIT_TRIGGER is defined. (CVS 2053) file: [52980e59] check-in: [c33b3a61] user: drh branch: trunk, size: 14562
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: [cf0efbef] check-in: [be661acf] user: drh branch: trunk, size: 14515
2004-10-22
20:29
Add the experimental and scary pragma "writable_schema". (CVS 2027) file: [531525ec] check-in: [39f7870a] user: drh branch: trunk, size: 14211
2004-10-05
02:41
Add support for DEFERRED, IMMEDIATE, and EXCLUSIVE transactions. (CVS 2000) file: [7a9543ed] check-in: [81ff8107] user: drh branch: trunk, size: 14164
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: [d862b383] check-in: [4871c77f] user: drh branch: trunk, size: 14200
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: [e887f44a] check-in: [3ddf5a9d] user: drh branch: trunk, size: 14001
2004-08-31
13:45
Simplifications and optimizations. Also: disable the corrupt.test for now. (CVS 1924) file: [cebfdde8] check-in: [8fd65e70] user: drh branch: trunk, size: 14001
2004-08-21
17:54
Optimizations to the code generator. (CVS 1899) file: [0ccc3424] check-in: [bd6649c5] user: drh branch: trunk, size: 14015
2004-06-21
18:14
Fix an uninitialized variable. The variable was harmless, but pedantic error checking in MSVC raised an exception on it. (CVS 1651) file: [e81545e5] check-in: [afc398c2] user: drh branch: trunk, size: 14162
06:50
Update sqlite3_changes() to match the documentation and add sqlite3_total_changes(). (CVS 1645) file: [19287dd2] check-in: [ae2f4a09] user: danielk1977 branch: trunk, size: 14171
2004-06-17
07:53
Remove redundant opcodes OP_MakeKey and OP_MakeIdxKey. (CVS 1612) file: [a5191011] check-in: [a71a9ff1] user: danielk1977 branch: trunk, size: 14225
2004-06-16
12:00
Trivial modifications to prevent compiler warnings. (CVS 1606) file: [1e94ef69] check-in: [6001c5e1] user: danielk1977 branch: trunk, size: 14219
2004-06-10
10:50
Add the sqlite3_collation_needed() API and fix some error handling cases involving unknown collation sequences. (CVS 1562) file: [911221aa] check-in: [edf069b9] user: danielk1977 branch: trunk, size: 14219
2004-06-03
16:08
Untested updates to support atomic multi-file transactions (CVS 1526) file: [b30f0825] check-in: [d57e5252] user: danielk1977 branch: trunk, size: 14001
2004-05-28
16:00
Factor common code for generating index keys into a procedure. Other speed improvements and bug fixes. (CVS 1487) file: [72f8febf] check-in: [6661bb5f] user: drh branch: trunk, size: 14004
2004-05-26
10:11
Add some tests for the new API. Many more to come. (CVS 1462) file: [66c5ab98] check-in: [d5659f2e] user: danielk1977 branch: trunk, size: 13467
2004-05-25
23:35
Move the sqlite3_exec() function to legacy.c. (CVS 1455) file: [f4a04c0c] check-in: [9385ad5c] user: danielk1977 branch: trunk, size: 13512
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: [2e1dda38] check-in: [8f249c45] user: drh branch: trunk, size: 13471
2004-05-18
09:58
Fix many problems with manifest types and column affinity. Most things are working now. (CVS 1392) file: [a069dcc2] check-in: [a62872aa] user: danielk1977 branch: trunk, size: 13483
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: [8cb317fb] check-in: [202a470f] user: danielk1977 branch: trunk, size: 13415
2004-05-16
11:15
More changes to support the manifest type model. A few things are currently broken. (CVS 1385) file: [ea8212a4] check-in: [a4af838f] user: danielk1977 branch: trunk, size: 13285
2004-05-11
07:11
Remove code dealing with old file formats. (CVS 1354) file: [30c8c437] check-in: [dfde1121] user: danielk1977 branch: trunk, size: 13282
2004-05-10
10:34
Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1337) file: [889a7e9f] check-in: [ba2ba242] user: danielk1977 branch: trunk, size: 13307
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: [c6f88190] check-in: [8af6474c] user: danielk1977 branch: trunk, size: 13306
2004-02-24
01:05
Refactor parts of write operations. (CVS 1268) file: [82001c74] check-in: [5b0147ae] user: drh branch: trunk, size: 13214
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: [8e2ff752] check-in: [3383413a] user: rdc branch: trunk, size: 13467
2004-02-16
03:44
Remove the NullCallback opcode. Handle the empty_result_set pragma inside the sqlite_exec() function. (CVS 1244) file: [b8e3fc12] check-in: [f7213485] user: drh branch: trunk, size: 13384
2004-01-19
04:54
coment typo (CVS 1190) file: [0778fe05] check-in: [0d2683dc] user: jplyon branch: trunk, size: 13387
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: [0f81e679] check-in: [01398fb7] user: drh branch: trunk, size: 13383
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: [f9536a75] check-in: [be7aed20] user: drh branch: trunk, size: 13416
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: [0f7c26aa] check-in: [67746833] user: drh branch: trunk, size: 13386
2003-04-24
01:45
Fix some issues with INSTEAD OF triggers. (CVS 930) file: [23d33fd8] check-in: [206b1739] user: drh branch: trunk, size: 13162
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: [c5c26039] check-in: [c675a550] user: drh branch: trunk, size: 12542
2003-04-17
22:57
Fix triggers to work in an ATTACHed database. Ticket #295. (CVS 915) file: [af65b26d] check-in: [1e5e00fb] user: drh branch: trunk, size: 12411
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: [6021fd29] check-in: [0b996959] user: drh branch: trunk, size: 12926
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: [58d69877] check-in: [1d3fc977] user: drh branch: trunk, size: 12722
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: [92349724] check-in: [8a593e9c] user: drh branch: trunk, size: 12922
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: [e1552bd5] check-in: [d2fb2bb5] user: drh branch: trunk, size: 12552
2003-03-20
01:16
Record the database name in addition to the table name for DELETE, INSERT, and UPDATE statements. (CVS 879) file: [96a0ae02] check-in: [a5d8fc95] user: drh branch: trunk, size: 12305
2003-03-19
03:14
Modifications to the VDBE to support more than one database file. (CVS 878) file: [d76f7676] check-in: [875da9ee] user: drh branch: trunk, size: 13167
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: [cbd499f3] check-in: [45de93f9] user: drh branch: trunk, size: 13162
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: [bc807a75] check-in: [52d5007f] user: drh branch: trunk, size: 13189
2003-01-11
13:30
Remove the ColumnCount opcode, which had become a no-op. (CVS 821) file: [1c677cad] check-in: [86deb12d] user: drh branch: trunk, size: 13064
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: [aad9d405] check-in: [3f253afe] user: drh branch: trunk, size: 13110
2002-07-19
18:52
Fix an assertion failure that occurs when attempting to delete all rows of a table while the "count_changes" pragma is turned on. Up the version number to 2.6.1. (CVS 690) file: [c9f59ee2] check-in: [612df004] user: drh branch: trunk, size: 13066
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: [bc35d6aa] check-in: [20d152fc] user: drh branch: trunk, size: 13079
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: [215492ff] check-in: [b4737a16] user: drh branch: trunk, size: 13079
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: [44c45460] check-in: [f09e19b4] user: drh branch: trunk, size: 12890
2002-06-11
02:25
Add RAISE() function, which allows more advanced flow-control in trigger programs (ticket #55) (CVS 614) file: [15789fc7] check-in: [d4a2fb10] user: danielk1977 branch: trunk, size: 12895
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: [a2b098cb] check-in: [a167b71d] user: drh branch: trunk, size: 12869
2002-05-23
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: [1dba1dd7] check-in: [4d27ee41] user: drh branch: trunk, size: 12859
2002-05-21
11:38
Additional code cleanup resulting from a review of the new trigger code. (CVS 572) file: [c2eae01b] check-in: [37dbdd55] user: drh branch: trunk, size: 12780
2002-05-19
23:43
Style fixes to triggers code in various *.c files (partial fix to ticket #39) (CVS 571) file: [f9ab9738] check-in: [8a4195c7] user: danielk1977 branch: trunk, size: 11971
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: [48e4c533] check-in: [690f9a16] user: drh branch: trunk, size: 11937
08:30
Added FOR EACH ROW triggers functionality (CVS 562) file: [39215978] check-in: [794bf67b] user: danielk1977 branch: trunk, size: 11833
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: [6a6b8192] check-in: [6e71493b] user: drh branch: trunk, size: 9372
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: [577da499] check-in: [6121e5ab] user: drh branch: trunk, size: 9305
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: [bf569eeb] check-in: [d5d3e79c] user: drh branch: trunk, size: 9213
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: [950d8f90] check-in: [39fed2df] user: drh branch: trunk, size: 9223
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: [f8ad71be] check-in: [d0e7cf4a] user: drh branch: trunk, size: 8260
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: [4cdb6d2e] check-in: [ac8a4189] user: drh branch: trunk, size: 8460
18:41
Beginning to insert the infrastructure for ON CONFLICT clauses. (CVS 355) file: [2d1abc22] check-in: [e00a9ff8] user: drh branch: trunk, size: 7524
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: [cc200609] check-in: [3684beab] user: drh branch: trunk, size: 6525
2001-12-21
14:30
Added support for the INTEGER PRIMARY KEY column type. (CVS 333) file: [f7690efc] check-in: [236a54d2] user: drh branch: trunk, size: 6522
2001-11-07
16:48
New Next opcode and indexing style implemented. (CVS 304) file: [5d93a21c] check-in: [decbeb91] user: drh branch: trunk, size: 6386
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: [9cb0b147] check-in: [e6ca23fa] user: drh branch: trunk, size: 6410
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: [a4c13c44] check-in: [e1370276] user: drh branch: trunk, size: 6410
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: [6fe2191c] check-in: [747bf1b3] user: drh branch: trunk, size: 6453
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: [bed54503] check-in: [288ef124] user: drh branch: trunk, size: 5254
2001-10-08
13:22
Support for temporary tables added. Still need more testing. (CVS 279) file: [93c9d5e1] check-in: [9368c62e] user: drh branch: trunk, size: 5334
2001-09-23
02:35
Fixes to the locking and rollback behavior. (CVS 261) file: [81002d88] check-in: [337b3d3b] user: drh branch: trunk, size: 5250
2001-09-16
00:13
Disclaimed copyright. Preparing for release 2.0. (CVS 250) file: [ca7ca9bf] check-in: [4e926efe] user: drh branch: trunk, size: 5195
2001-09-15
00:57
Everything is working on Linux. This is release 2.0-Alpha-1. (CVS 246) file: [c84b5a26] check-in: [14474fa1] user: drh branch: trunk, size: 5750
2001-09-13
21:53
Many problems fixed. Many problems yet to go. (CVS 242) file: [62500a09] check-in: [62c7bd11] user: drh branch: trunk, size: 5673
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: [769a28cf] check-in: [a0a1e701] user: drh branch: trunk, size: 5705
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: [bee9e207] check-in: [6ecc8b20] user: drh branch: trunk, size: 5703
2001-04-11
14:28
better handling of out-of-memory errors (CVS 207) file: [40ddb169] check-in: [86b30cd0] user: drh branch: trunk, size: 5502
2001-03-20
22:05
Enhancements to the DELETE command (CVS 194) file: [7aa9dcb8] check-in: [daea156e] user: drh branch: trunk, size: 5357
2001-01-15
22:51
continued progress toward version 2.0 (CVS 177) file: [b83dc815] check-in: [c6ffb7ec] user: drh branch: trunk, size: 4803
2000-06-21
13:59
:-) (CVS 104) file: [4d491eaf] check-in: [e1bf96a4] user: drh branch: trunk, size: 4797
2000-06-17
13:12
:-) (CVS 101) file: [2d575805] check-in: [6ed35a1d] user: drh branch: trunk, size: 4793
2000-06-07
23:51
:-) (CVS 74) file: [c267b93f] check-in: [2ffeb850] user: drh branch: trunk, size: 4647
2000-06-06
13:54
added IN and BETWEEN operators (CVS 57) file: [8c733bb8] check-in: [54d19818] user: drh branch: trunk, size: 4716
2000-06-02
01:17
:-) (CVS 34) file: [e11433c1] check-in: [52338f4a] user: drh branch: trunk, size: 4551
2000-05-31
15:34
added aggregate functions like count(*) (CVS 21) file: [16ef3418] check-in: [dee7a8be] user: drh branch: trunk, size: 4498 Added