aboutsummaryrefslogtreecommitdiff
path: root/src/delete.c
Commit message (Collapse)AuthorAge
...
* Further logic simplifications that flow out of the omission of the column cache.drh2018-08-04
| | | FossilOrigin-Name: 7d9072b027cc28dd8ecf5e2686d821017997445c15124eebe2839984622af4db
* Completely remove the column cache logic, which has been a persistent sourcedrh2018-08-03
| | | | | | | of bugs for many years. We recent enhancements to the performance of the OP_Column opcode, the removing the column cache actually makes speed-check.sh run faster. It also saves about 1,800 bytes of code space. FossilOrigin-Name: 3f5f60cd7529330209027fdae8129cca420cec1050eae50a7750d0b715b56972
* When doing a one-pass UPDATE or DELETE on virtual tables, close the cursordrh2018-05-24
| | | | | | | 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. FossilOrigin-Name: b816023ce07d01024d5769e16db924374a49bf909edd12dc1344a0a1ef693db5
* Avoid the use of statement journals on DELETEs of a single row withoutdrh2018-04-20
| | | | | triggers or foreign keys. FossilOrigin-Name: 20bf5800808ea02b2aa4bf01a380926784c0e7514a2c73ca303cac1f5c732ae0
* Fix the handling of "PRAGMA count_changes=ON" with UPSERT. Also improveddrh2018-04-19
| | | | | | the implementation of count_changes in other places, without changing the behavior. FossilOrigin-Name: c6f71115eb933c2aee295bc31e5139112463c28e15a3b3ea242fd9bac168aed9
* Experimental change to include changes made to the sqlite_stat1 table indan2018-01-12
| | | | | | changesets generated by the sessions module. sqlite_stat1 entries in such changesets are ignored by legacy clients. FossilOrigin-Name: bd46c4429693545eb16db85692fc591ac529796aa746f5f21df1ce4380619320
* Make sure the bComplex variable in sqlite3DeleteFrom() is initialized whendrh2017-12-08
| | | | | compiling with -DSQLITE_OMIT_TRIGGER. FossilOrigin-Name: e526d0c40b971d970367a52a57d3920cb64e6a98920114bfac46ba009f0b1eb5
* In the parse tree, combine LIMIT and OFFSET into a single expression rooteddrh2017-11-14
| | | | | | on a TK_LIMIT node, for a small code size reduction and performance increase, and a reduction in code complexity. FossilOrigin-Name: 3925facd942c9df663f9b29b1e6f94f6be14af8c2b99eb691bfc836b4c220826
* Omit some extra code from non-SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds.dan2017-11-10
| | | FossilOrigin-Name: 72be33f9c84de3ec4afc40549482417456ca82c1d16b473dc034b144055271e5
* Fix a problem involving "DELETE/UPDATE...LIMIT" statements that use an INDEXEDdan2017-11-10
| | | | | BY clause. FossilOrigin-Name: 09f94c2c8199b0d23a45cc062ca9561f9e5ddfcba117100e41889ce199d21bdb
* Fix a problem with (DELETE...LIMIT) statements against WITHOUT ROWID tablesdan2017-11-10
| | | | | with a single column PK. FossilOrigin-Name: 35477a3dcceadf5dade8e036d5a2ce91b9ca83c4b85d309db233bdbcf538b1cc
* Add SQLITE_ENABLE_UPDATE_DELETE_LIMIT for views and WITHOUT ROWID tables.dan2017-11-09
| | | FossilOrigin-Name: 584b88aaf89ab30cb51185396b7b50c6ecba286add023a26ab41d865b9c605ce
* Experimental changes that allow a WITHOUT ROWID virtual table to be writabledrh2017-08-10
| | | | | as long as it has only a single-column PRIMARY KEY. FossilOrigin-Name: ab9ee4c1e64c09c7130e385a23d043d78bad95dff5509c7adc9b992350a4a537
* Allow indexes to be created on date/time functions as long as the 'now'drh2017-07-19
| | | | | date and the 'localtime' and 'utc' modifiers are not used. FossilOrigin-Name: 0a5e1c04d9d07bb7fd6546a9ddac1bf42b19ea19c2b79570aea6cd4226887a27
* Change the name of the OP_Seek opcode into OP_DeferredSeek for betterdrh2017-06-02
| | | | | clarity of function. No functional code changes. FossilOrigin-Name: ab33d299c7dab52703d06f3441c8a98c6c809b2612ec65d71aab2919bd2b1540
* Fix a documentation typo. No changes to code.drh2017-05-18
| | | FossilOrigin-Name: cfa4aa203646f44b303138c25672293bb87d97126fe2030d4709e8ad7814a807
* New requirements marks and documentation for the authorizer.drh2017-05-11
| | | FossilOrigin-Name: 3980ea0911b3ad3f86d7a7bdc6503f233315c274f473e18831e13eda2c238eeb
* Fix a problem causing the pre-update hook to be invoked by DROP TABLEdan2017-01-27
| | | | | statements. FossilOrigin-Name: fbb6bf1b69cfd581b4ffd778c344e3fbd9c9406f
* Back out check-in [0b3174e0b1364c] and replace it with a better fixdrh2017-01-16
| | | | | | for ticket [91e2e8ba6ff2e2] - a fix that does not cause the problem identified by ticket [7ffd1ca1d2ad4ec]. FossilOrigin-Name: 0613665274346917f5482f9210bf0c60a0fed7d9
* Improvements to the iIdxNoSeek optimization of sqlite3GenerateRowDelete()drh2017-01-07
| | | | | | so that it is automatically disabled for BEFORE triggers but works in all other cases. FossilOrigin-Name: 3178ec4c27efc4ff84bcd17ddb17ec50a6ac96b3
* Critical fix to the previous check-in so that it works when there aredrh2017-01-07
| | | | | | BEFORE triggers that move the cursor before the OP_Delete has a chance to be applied. FossilOrigin-Name: db2c0960ffb3b396b20e0441d3edb812254c82bc
* Avoid an unnecessary btree seek while deleting an index entry due to a conflictdrh2017-01-07
| | | | | on a REPLACE operation. FossilOrigin-Name: f0495c5133d0dc04d63521136d6b9ca440792cdf
* Refactor the Table.nRef field as Table.nTabRef for easier grepping.drh2016-12-14
| | | FossilOrigin-Name: 9cae4c2e300e20304ced0dc8c1415c4922185928
* Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recentlydrh2016-12-07
| | | | | coded instruction. FossilOrigin-Name: 28883e8f3e92a8015fb5f6c8ae8580833931543d
* Performance improvement and size reduction in the Expr node allocatordrh2016-12-06
| | | | | function sqlite3PExpr(). FossilOrigin-Name: 2a81763e68cdf9b8c46389b1e1a87bc2084b53e7
* Remove the OP_RowKey opcode. Use OP_RowData in its place.drh2016-11-25
| | | FossilOrigin-Name: 6ac7b07a4aff2e1a9031289e3dafdb9ac0071c24
* Remove unnecessary OP_Close opcodes for a size reduction and performancedrh2016-11-22
| | | | | increase. FossilOrigin-Name: 32be7aae92ee48bf2cd260ea41e79c2bc62738f9
* Enhance the OP_IdxInsert opcode to optionally accept unpacked key material.drh2016-11-09
| | | FossilOrigin-Name: 89d958abbac45f2ca5954080cd9e74ec9a07ebb2
* Remove the internal sqlite3CodeOnce() interface, replacing it with adrh2016-09-22
| | | | | direct call to sqlite3VdbeAddOp0(v,OP_Once). Slightly smaller and faster. FossilOrigin-Name: c3774c6a5fe48af91fda28e9e18c6ed9053ea992
* Fix SQLITE_OMIT_AUTHORIZATION so that it compiles cleanly.drh2016-09-16
| | | FossilOrigin-Name: a3e3b3e1c57178ccd38fc7375ec1de8e8ae45372
* Rename the Db.zName field to Db.zDbSName to make it more descriptive and todrh2016-08-18
| | | | | | distinguish it from all of the other "zName" variables scattered throughout the code. FossilOrigin-Name: 92a22f01343a898455fd61c3b8e7d7c954f5b569
* In the WHERE generator, when building code for a DELETE operation, make suredrh2016-05-06
| | | | | | that seeks to the main table are not deferred. This is a better fix for the [16c9801ceba49] bug than the previous. FossilOrigin-Name: 150dd09ebd7b17234a79e1811a0fae8b0a7a40d5
* Fix typo in comment. No changes to code.mistachkin2016-05-04
| | | FossilOrigin-Name: 6c43ba1c8753a4029e127078652f265c408a01c0
* Only disable the one-pass DELETE optimization if the WHERE clause containsdrh2016-05-04
| | | | | | | a correlated subquery. Uncorrelated subqueries are allowed. This is a refinement of check-in [3f221f592a9a1] that is the fix for ticket [dc6ebeda9396087]. FossilOrigin-Name: aae389692a2ed2cc92151d51fb2cd5a16921c469
* Disable the multi-row one-pass DELETE optimization when the WHERE clausedrh2016-05-02
| | | | | contains a subquery. Fix for ticket [dc6ebeda9396087]. FossilOrigin-Name: 3f221f592a9a19009076e568566c59801cd3fc32
* Factor out the common operation of setting the Expr.x.pSelect field of andrh2016-04-11
| | | | | Expr object into a subroutine. FossilOrigin-Name: 6a5cceee486c5e3625556e4c7076ff90e9d8fa43
* Merge enhancements from trunk.drh2016-02-05
|\ | | | | FossilOrigin-Name: a533608cb0de3cbc1e28a794aab99864b8c249f4
| * Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majoritydrh2016-02-05
| | | | | | | | | | cases where db is guaranteed to be not NULL. FossilOrigin-Name: 0a802e96ab06e2643834b83671fa8353da1a348d
* | Merge all recent enhancements from trunk.drh2016-02-02
|\| | | | | FossilOrigin-Name: f3f9200115caf4b356f90ec97c351d1afbcb9bf6
| * Change the name of the BTREE_IDXDELETE flag to BTREE_AUXDELETE, to betterdrh2016-01-27
| | | | | | | | | | reflect its purpose. FossilOrigin-Name: 1d3bf6bebdda9f96734bc139601e9b05344ea0b4
| * Add assert() statements on the nExtraDelete variable in vdbe.c to try to verifydrh2016-01-27
| | | | | | | | | | | | | | 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. FossilOrigin-Name: dde1db0dd2e2cf04706117629756c352b178ebb8
| * Add a new hint bit on the flags parameter of sqlite3BtreeDelete(). The newdrh2016-01-21
| | | | | | | | | | | | BTREE_IDXDELETE bit indicates that the call is to delete an index entry corresponding to a table row that has already been deleted. FossilOrigin-Name: ac2cbadd8000947c097da5b00c00090fe58fdcff
* | Merge the latest enhancements from trunk.drh2015-11-19
|\| | | | | FossilOrigin-Name: 7d6cfc79e7e5534ebacd980479917bc528a638f7
| * When manifesting a view as part of an DELETE or UPDATE, be sure to includedrh2015-11-19
| | | | | | | | | | the hidden columns in the manifestation. FossilOrigin-Name: 28df5dc4a9569f388af2ee0d1f016afbea132277
* | Merge all the latest enhancements from trunk.drh2015-10-30
|\| | | | | FossilOrigin-Name: 395a153ff7b3c7a72f3d02b6fe76d72383f4e480
| * Modifications to pass a flag to internal routine sqlite3BtreeCursor() when a ↵dan2015-10-22
| | | | | | | | | | 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. FossilOrigin-Name: cdc92919e600007cae5eb61223684f48a65babc0
* | Merge recent enhancements from trunk, and especially the fix fordrh2015-09-30
|\| | | | | | | | | ticket [1b266395d6bc10]. FossilOrigin-Name: b2face9aa95ade96a5666c70b6b31064c1ad0977
| * Use symbolic names XN_ROWID and XN_EXPR in place of the (-1) and (-2)drh2015-09-29
| | | | | | | | | | | | | | 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. FossilOrigin-Name: 7d272aa62cd4cbbf4b5d04e3b918de27671e8301
| * Create the sqlite3IsToplevel(Parse*) interface to check to see if a top-leveldrh2015-09-29
| | | | | | | | | | VDBE is being coded (versus a trigger) and use that interface. FossilOrigin-Name: 59662cd2b65255a30e1a420331c07c51b644621a
| * Add tests for fts3 and onepass update/delete operations. Also fix a problem ↵dan2015-09-29
| | | | | | | | | | with onepass updates that do not affect any rows. FossilOrigin-Name: 820c804468abff692742952de670c5d906a50956