drh
e3740f272b
Experimental changes that allow a WITHOUT ROWID virtual table to be writable
...
as long as it has only a single-column PRIMARY KEY.
FossilOrigin-Name: ab9ee4c1e64c09c7130e385a23d043d78bad95dff5509c7adc9b992350a4a537
2017-08-10 15:19:39 +00:00
drh
3e34eabcdf
Allow indexes to be created on date/time functions as long as the 'now'
...
date and the 'localtime' and 'utc' modifiers are not used.
FossilOrigin-Name: 0a5e1c04d9d07bb7fd6546a9ddac1bf42b19ea19c2b79570aea6cd4226887a27
2017-07-19 19:48:40 +00:00
drh
170ad68a40
Change the name of the OP_Seek opcode into OP_DeferredSeek for better
...
clarity of function. No functional code changes.
FossilOrigin-Name: ab33d299c7dab52703d06f3441c8a98c6c809b2612ec65d71aab2919bd2b1540
2017-06-02 15:44:22 +00:00
drh
1e1c4226ee
Fix a documentation typo. No changes to code.
...
FossilOrigin-Name: cfa4aa203646f44b303138c25672293bb87d97126fe2030d4709e8ad7814a807
2017-05-18 18:17:55 +00:00
drh
9418921c59
New requirements marks and documentation for the authorizer.
...
FossilOrigin-Name: 3980ea0911b3ad3f86d7a7bdc6503f233315c274f473e18831e13eda2c238eeb
2017-05-11 13:43:57 +00:00
dan
50133dea28
Fix a problem causing the pre-update hook to be invoked by DROP TABLE
...
statements.
FossilOrigin-Name: fbb6bf1b69cfd581b4ffd778c344e3fbd9c9406f
2017-01-27 17:02:26 +00:00
drh
da060052e3
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].
FossilOrigin-Name: 0613665274346917f5482f9210bf0c60a0fed7d9
2017-01-16 16:43:02 +00:00
drh
68116939eb
Improvements to the iIdxNoSeek optimization of sqlite3GenerateRowDelete()
...
so that it is automatically disabled for BEFORE triggers but works in all
other cases.
FossilOrigin-Name: 3178ec4c27efc4ff84bcd17ddb17ec50a6ac96b3
2017-01-07 14:47:03 +00:00
drh
4cef5b1c81
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.
FossilOrigin-Name: db2c0960ffb3b396b20e0441d3edb812254c82bc
2017-01-07 14:26:28 +00:00
drh
ad1d9a8707
Avoid an unnecessary btree seek while deleting an index entry due to a conflict
...
on a REPLACE operation.
FossilOrigin-Name: f0495c5133d0dc04d63521136d6b9ca440792cdf
2017-01-07 03:26:50 +00:00
drh
79df77821a
Refactor the Table.nRef field as Table.nTabRef for easier grepping.
...
FossilOrigin-Name: 9cae4c2e300e20304ced0dc8c1415c4922185928
2016-12-14 14:07:35 +00:00
drh
f14b7fb73b
Add the sqlite3VdbeAppendP4() method for adding P4 content to the most recently
...
coded instruction.
FossilOrigin-Name: 28883e8f3e92a8015fb5f6c8ae8580833931543d
2016-12-07 21:35:55 +00:00
drh
abfd35ea03
Performance improvement and size reduction in the Expr node allocator
...
function sqlite3PExpr().
FossilOrigin-Name: 2a81763e68cdf9b8c46389b1e1a87bc2084b53e7
2016-12-06 22:47:23 +00:00
drh
9057fc7c7f
Remove the OP_RowKey opcode. Use OP_RowData in its place.
...
FossilOrigin-Name: 6ac7b07a4aff2e1a9031289e3dafdb9ac0071c24
2016-11-25 19:32:32 +00:00
drh
65f38d960d
Remove unnecessary OP_Close opcodes for a size reduction and performance
...
increase.
FossilOrigin-Name: 32be7aae92ee48bf2cd260ea41e79c2bc62738f9
2016-11-22 01:26:42 +00:00
drh
9b4eaebc68
Enhance the OP_IdxInsert opcode to optionally accept unpacked key material.
...
FossilOrigin-Name: 89d958abbac45f2ca5954080cd9e74ec9a07ebb2
2016-11-09 00:10:33 +00:00
drh
511f9e8d29
Remove the internal sqlite3CodeOnce() interface, replacing it with a
...
direct call to sqlite3VdbeAddOp0(v,OP_Once). Slightly smaller and faster.
FossilOrigin-Name: c3774c6a5fe48af91fda28e9e18c6ed9053ea992
2016-09-22 18:53:13 +00:00
drh
a0daa751f8
Fix SQLITE_OMIT_AUTHORIZATION so that it compiles cleanly.
...
FossilOrigin-Name: a3e3b3e1c57178ccd38fc7375ec1de8e8ae45372
2016-09-16 11:53:10 +00:00
drh
69c338263a
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.
FossilOrigin-Name: 92a22f01343a898455fd61c3b8e7d7c954f5b569
2016-08-18 14:33:11 +00:00
drh
bcf6884afd
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.
FossilOrigin-Name: 150dd09ebd7b17234a79e1811a0fae8b0a7a40d5
2016-05-06 16:06:59 +00:00
mistachkin
9fe3fbbc35
Fix typo in comment. No changes to code.
...
FossilOrigin-Name: 6c43ba1c8753a4029e127078652f265c408a01c0
2016-05-04 19:04:20 +00:00
drh
91da707280
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].
FossilOrigin-Name: aae389692a2ed2cc92151d51fb2cd5a16921c469
2016-05-04 14:45:30 +00:00
drh
57a07ba9a9
Disable the multi-row one-pass DELETE optimization when the WHERE clause
...
contains a subquery. Fix for ticket [dc6ebeda9396087].
FossilOrigin-Name: 3f221f592a9a19009076e568566c59801cd3fc32
2016-05-02 12:18:56 +00:00
drh
08de4f7933
Factor out the common operation of setting the Expr.x.pSelect field of an
...
Expr object into a subroutine.
FossilOrigin-Name: 6a5cceee486c5e3625556e4c7076ff90e9d8fa43
2016-04-11 01:06:47 +00:00
drh
0ac7cfaf99
Merge enhancements from trunk.
...
FossilOrigin-Name: a533608cb0de3cbc1e28a794aab99864b8c249f4
2016-02-05 14:15:34 +00:00
drh
575fad6500
Add the slightly faster sqlite3DbMallocRawNN(db,n) routine for the majority
...
cases where db is guaranteed to be not NULL.
FossilOrigin-Name: 0a802e96ab06e2643834b83671fa8353da1a348d
2016-02-05 13:38:36 +00:00
drh
33c1eb6477
Merge all recent enhancements from trunk.
...
FossilOrigin-Name: f3f9200115caf4b356f90ec97c351d1afbcb9bf6
2016-02-02 02:22:30 +00:00
drh
def19e3b48
Change the name of the BTREE_IDXDELETE flag to BTREE_AUXDELETE, to better
...
reflect its purpose.
FossilOrigin-Name: 1d3bf6bebdda9f96734bc139601e9b05344ea0b4
2016-01-27 16:26:25 +00:00
drh
b89aeb6aa2
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.
FossilOrigin-Name: dde1db0dd2e2cf04706117629756c352b178ebb8
2016-01-27 15:49:32 +00:00
drh
e807bdba86
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.
FossilOrigin-Name: ac2cbadd8000947c097da5b00c00090fe58fdcff
2016-01-21 17:06:33 +00:00
drh
769dc6e2a2
Merge the latest enhancements from trunk.
...
FossilOrigin-Name: 7d6cfc79e7e5534ebacd980479917bc528a638f7
2015-11-19 19:40:40 +00:00
drh
80090f9221
When manifesting a view as part of an DELETE or UPDATE, be sure to include
...
the hidden columns in the manifestation.
FossilOrigin-Name: 28df5dc4a9569f388af2ee0d1f016afbea132277
2015-11-19 17:55:11 +00:00
drh
d286b9fb7d
Merge all the latest enhancements from trunk.
...
FossilOrigin-Name: 395a153ff7b3c7a72f3d02b6fe76d72383f4e480
2015-10-30 16:50:00 +00:00
dan
fd261ec67e
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.
...
FossilOrigin-Name: cdc92919e600007cae5eb61223684f48a65babc0
2015-10-22 20:54:33 +00:00
drh
32af5eda6a
Merge recent enhancements from trunk, and especially the fix for
...
ticket [1b266395d6bc10].
FossilOrigin-Name: b2face9aa95ade96a5666c70b6b31064c1ad0977
2015-09-30 14:50:39 +00:00
drh
4b92f98ccc
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.
FossilOrigin-Name: 7d272aa62cd4cbbf4b5d04e3b918de27671e8301
2015-09-29 17:20:14 +00:00
drh
c149f18f4d
Create the sqlite3IsToplevel(Parse*) interface to check to see if a top-level
...
VDBE is being coded (versus a trigger) and use that interface.
FossilOrigin-Name: 59662cd2b65255a30e1a420331c07c51b644621a
2015-09-29 13:25:15 +00:00
dan
354474ad6d
Add tests for fts3 and onepass update/delete operations. Also fix a problem with onepass updates that do not affect any rows.
...
FossilOrigin-Name: 820c804468abff692742952de670c5d906a50956
2015-09-29 10:11:26 +00:00
dan
076e0f9674
Changes to allow DELETE operations on virtual tables to use the onepass strategy under some circumstances.
...
FossilOrigin-Name: e73f919fae1833c6ffb36eddbc76d9a8d9324214
2015-09-28 15:20:58 +00:00
drh
9ec0efd946
Merge all the latest trunk enhancements into the sessions branch.
...
FossilOrigin-Name: c91065f8edb1e54076791716fc20d3fcfe3070dc
2015-09-24 14:26:51 +00:00
dan
80b7198f2b
Add an assert() statement to delete.c.
...
FossilOrigin-Name: 40fce67ecf0e71db3c8f3da3f72cc80a3d0f8fb2
2015-09-19 18:11:18 +00:00
dan
438b881540
Merge the latest trunk enhancements with this branch.
...
FossilOrigin-Name: b7469c44be77358e02892a3abc696f7caa0dcd3b
2015-09-15 15:55:15 +00:00
drh
b77ebd828b
Reformat some code to make it easier to merge with sessions. No logic changes.
...
FossilOrigin-Name: eade355fafec558fc13dc4b08ca0b07713a2cd84
2015-09-15 13:42:16 +00:00
drh
b0264eeca1
Use symbolic names ONEPASS_OFF, ONEPASS_SINGLE, and ONEPASS_MULTI for the
...
various modes of the one-pass optimization.
FossilOrigin-Name: 16e56bdadef903c6439a487f2683388aeeb0c625
2015-09-14 14:45:50 +00:00
drh
66336f3755
Fix a compiler warning and providing missing VdbeCoverage() calls.
...
FossilOrigin-Name: 2edd2e5edd60210e18db58bce1e096dd211b6ece
2015-09-14 14:08:25 +00:00
drh
91762f2d18
Merge the latest trunk enhancements.
...
FossilOrigin-Name: 22ce9218fb2bb56cc5dd4e32077a16f669250d5f
2015-09-14 10:47:29 +00:00
dan
7210b3d1e8
Fix compiler warnings in delete.c.
...
FossilOrigin-Name: 0a4d285e18b78cd529483ba5c8c607ab62a443d4
2015-09-12 19:50:58 +00:00
dan
f0ee1d3c12
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.
...
FossilOrigin-Name: eaeb2b80f6f8f83679c8323a81bb39570ec946fe
2015-09-12 19:26:11 +00:00
drh
6b86881788
Merge recent trunk enhancements.
...
FossilOrigin-Name: 6a513c05850949900f396c7a61accb97cc6d2af5
2015-09-03 14:48:25 +00:00
drh
34de0c8c5e
Merge enhancements from trunk.
...
FossilOrigin-Name: 1ab10cbf27245961b40eda1ce70f35646f0a9966
2015-09-03 14:18:12 +00:00