/ History for src/delete.c
Login

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

History for src/delete.c

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