drh
156c7919d9
The one-pass optimization is now working for DELETE on WITHOUT ROWID tables.
...
FossilOrigin-Name: e4d220a381388f900a95d1b656a82f14c837f92e
2013-11-16 20:45:01 +00:00
drh
6a53499a20
Enhance the DELETE logic so that it can make use of WHERE_ONEPASS_DESIRED
...
for rowid tables.
FossilOrigin-Name: 8f479a72758ab6fedb171ada612b1963143c32fa
2013-11-16 20:13:39 +00:00
drh
cbf1b8ef7d
Merge in the WITHOUT ROWID changes. A few tests are failing now. They will
...
be fixed in a follow-on check-in.
FossilOrigin-Name: 5addd1234ded59ce60fb633b76ac87d483377edd
2013-11-11 22:55:26 +00:00
drh
392ee21d1a
Performance improvement: Avoid unnecessary seeks on REPLACE INTO for a
...
WITHOUT ROWID table.
FossilOrigin-Name: fd11afa5f5c853dcac2290444b581a3fe1d4332d
2013-11-08 16:54:56 +00:00
drh
2ec2fb2269
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.
FossilOrigin-Name: defd5205a7cc3543cdd18f906f568e943b8b3a2c
2013-11-06 19:59:23 +00:00
drh
6546af1480
Correctly handle changing counting when inserting and deleting on
...
WITHOUT ROWID tables. Add more FOREIGN KEY test cases.
FossilOrigin-Name: d072bcd0a8692d590c13c2bf458454c10c12a3e2
2013-11-04 15:23:25 +00:00
drh
63f0eedf10
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.
FossilOrigin-Name: 39e32187b66405e00dbd44685f6cdd269c90f5e5
2013-11-02 22:09:48 +00:00
drh
f8ffb27850
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.
FossilOrigin-Name: c525ac5630d6bcd51842cfc84f2c2c50be9cec1c
2013-11-01 17:08:56 +00:00
drh
313619f572
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.
FossilOrigin-Name: 9b6d9e106aaa3c2efb33d234d26cf08cd3c967b9
2013-10-31 20:34:06 +00:00
drh
6934fc7b6f
Improved comments and variable names in infrastructure routines of UPDATE,
...
DELETE, and INSERT.
FossilOrigin-Name: ad90e762e51384ac7c311f08a641419f03f6d3f0
2013-10-31 15:37:49 +00:00
drh
26198bb481
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.
FossilOrigin-Name: 1adfca6019847d37dee4a297669f29d5ca184066
2013-10-31 11:15:09 +00:00
drh
6fbe41acf2
Continue working to get UPDATE operational for WITHOUT ROWID tables.
...
Fix PRAGMA integrity_check so that it works on WITHOUT ROWID tables.
FossilOrigin-Name: 0d4fea7462c0f61cd1c736cbcd7bea5ec2034d54
2013-10-30 20:22:55 +00:00
drh
72ffd09188
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.
FossilOrigin-Name: 6d9af6065fc0da8337aee2297a8da7511eecccf1
2013-10-30 15:52:32 +00:00
drh
261c02d963
Basic DELETE operations now working on WITHOUT ROWID tables.
...
FossilOrigin-Name: 9eafafa31c4a2bbcf48418743e0fcb17c374e9a6
2013-10-25 14:46:15 +00:00
drh
ecb31b6304
Update the interface to the sqlite3GenerateRowDelete() utility so that it is
...
able to handle WITHOUT ROWID tables. The implementation still needs to be
completed.
FossilOrigin-Name: 85daf5174679630474b3bccf3d662d5d56bf00d5
2013-10-24 19:48:39 +00:00
drh
9eade087da
Delete PRIMARY KEY index entries last. Only construct the unique prefix of
...
an index key when deleting entries from an index.
FossilOrigin-Name: 0e56ba69f0fcd12a5166c32f6e4eacdcc29fba04
2013-10-24 14:16:10 +00:00
drh
4415628a4a
Construct secondary indices on WITHOUT ROWID tables.
...
FossilOrigin-Name: 2c028ddc85cb45746cad6ab0cefd99134fbd50d7
2013-10-23 22:23:03 +00:00
drh
bbbdc83b52
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.
FossilOrigin-Name: a106ce86cd4afd1f81603826de77df1fb25e9ab5
2013-10-22 18:01:40 +00:00
drh
a63b852992
Synchronize with the trunk.
...
FossilOrigin-Name: 136445ba020c9475d3f5a7843d7d0add98477138
2013-10-10 20:13:18 +00:00
dan
5d1dcff095
Obtain the required shared-cache write-lock when executing "DELETE FROM tbl" statements. Fix for [1e1321ee98].
...
FossilOrigin-Name: 1f8f4fdf3ff2b8de27e167a44a19b0f479f5ee1a
2013-09-26 15:21:16 +00:00
dan
8ff2d9561a
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.
...
FossilOrigin-Name: e940b5de49baa1d6a4cf859fbbc0e0df86ac5dbf
2013-09-05 18:40:29 +00:00
drh
7fb30bd0dd
Merge in the latest trunk changes, including partial indexes, the MAX_PATH
...
fix in os_win.c, and the sqlite3_cancel_auto_extension() API.
FossilOrigin-Name: 7e1acb390770d1bd189fac7a3a7f96106f96e3a4
2013-08-02 20:44:48 +00:00
drh
b2b9d3d758
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.
FossilOrigin-Name: fb9044d15ad4fd6ae4a38858c0c0e6fe9d4faa25
2013-08-01 01:14:43 +00:00
dan
1bc8b87e46
Merge recent changes to trunk into sessions branch.
...
FossilOrigin-Name: 62adb0e0d70e619becb68ffd2625d979bcc777cd
2013-03-12 11:38:59 +00:00
dan
6d235cb8d8
Fix a problem with resolving "db.view.column" references that appear in UPDATE or DELETE statements executed against views.
...
FossilOrigin-Name: ddee56c9b2b591b9386b1072c3b3a699f7c1f853
2013-03-09 14:40:24 +00:00
drh
3dc2b9032f
Pull all the latest trunk enhancements into the sessions branch.
...
FossilOrigin-Name: fce667f2d93a4ba65ccf1e748469576a3cd7ffcc
2012-10-30 21:03:48 +00:00
drh
21172c4cc0
Add an optimization that attempts to run a subquery as a coroutine rather
...
than manifesting it into a temporary table.
FossilOrigin-Name: 7af3acbbd49a2114fcdada9ec907c68ba9b053bd
2012-10-30 00:29:07 +00:00
drh
d1102b1ec7
Merge the latest trunk changes, especially the ORDER BY optimizer enhancements
...
but also other fixes, onto the sessions branch.
FossilOrigin-Name: f1fbb8c5bfa84e84e0b8e2872d83b06a0c0d5acc
2012-10-09 14:58:15 +00:00
dan
41fb5cd103
Shared-cache mode fixes for views and virtual tables.
...
FossilOrigin-Name: 2b370dea704b59262c604af0efcef5660b194454
2012-10-04 19:33:00 +00:00
drh
c4645dacfb
Merge the latest trunk changes (especially "PRAGMA busy_timeout" and the
...
ORDER BY query planner optimizations) into the sessions branch.
FossilOrigin-Name: 6ca8eae1f89d19ee23cbc3a869d85b57d29b4a7d
2012-09-28 13:05:48 +00:00
drh
7e5418e4a4
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.
FossilOrigin-Name: d2fcba1e143beca8c45724d2108870657c269e17
2012-09-27 15:05:54 +00:00
drh
310874ca00
Merge the latest trunk changes into the sessions branch.
...
FossilOrigin-Name: aa62d6881b5aae64e15dbae70ce8e77bcc2a9f0b
2012-08-25 01:21:36 +00:00
dan
0efb72c969
Fix a problem to do with multi-or queries and automatic indexes.
...
FossilOrigin-Name: a3e26038a1d9f3331239f777c67d1920d904aab0
2012-08-24 18:44:56 +00:00
drh
108606837e
Merge all recent trunk changes into the sessions branch.
...
FossilOrigin-Name: fb9b9987de965e194fef56bca563ee65c49f0950
2012-03-30 17:30:33 +00:00
drh
a748fdcc43
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.
FossilOrigin-Name: b899dbeb60752843287e2c6ad3577e1d00f0d587
2012-03-28 01:34:47 +00:00
drh
54cced185c
Merge all of the latest trunk changes into the sessions branch.
...
FossilOrigin-Name: a9bcb432f58b96f079a73c456efd4851c582221e
2012-01-05 13:02:36 +00:00
drh
d4e244ad56
Remove unused fields from the Parse object. Documentation and formatting
...
improvements on data structure definitions.
FossilOrigin-Name: 431556cac0b2c86d7f6a60412ff1023feeaafedf
2011-11-29 15:40:32 +00:00
drh
8a3bb3fddd
Merge the latest trunk changes into the sessions branch.
...
FossilOrigin-Name: 110cfd6920cf3011aeaf7e586f8db867bfc69fbb
2011-07-22 12:49:27 +00:00
dan
38cc40c216
Experimental changes to improve optimization of DISTINCT queries.
...
FossilOrigin-Name: f7ba0219ef2f235543c258be736955d91ca5ecce
2011-06-30 20:17:15 +00:00
drh
88ab69f614
Pull the latest version 3.7.7 release-candidate changes into the
...
sessions branch.
FossilOrigin-Name: 840bf9c2d92192ee3cc2aa7c0e9bdb805a066fd4
2011-06-23 17:40:15 +00:00
drh
097ce2caab
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].
FossilOrigin-Name: b61a76a53af04f731fe7617f7b6b4fb2aef6587b
2011-06-23 17:29:33 +00:00
drh
7571327233
Do not do affinity transformations on inserts into an index for the
...
manifestation of a view or subquery. Fix for ticket [91e2e8ba6ff2e2].
FossilOrigin-Name: 0b3174e0b1364ccc31853dce02bce5f7d3d431db
2011-06-23 16:18:26 +00:00
drh
8863f35f5c
Merge the latest trunk changes into the sessions branch.
...
FossilOrigin-Name: 4c5e276c902e0b93cfc05bf2e1db966ecdac0ed0
2011-06-20 10:44:10 +00:00
drh
1fbb230f90
Make sure the P5 argument to the OP_VUpdate opcode is always set to a
...
valid conflict resolution code.
FossilOrigin-Name: e3350dbd9f472c27ea6bc872d85098ac89d874c7
2011-05-30 14:35:48 +00:00
drh
c94f31236e
Pull the latest trunk changes (and hence the schema-parse-refactor changes)
...
into the sessions branch.
FossilOrigin-Name: 03ca83422f0259ae5525aeecc14171811252a67d
2011-04-05 13:27:30 +00:00
drh
8d129422ed
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.
FossilOrigin-Name: bf664b206bf6f5c1941da1986dfe2c0d1831d5e4
2011-04-05 12:25:19 +00:00
drh
0bfc2d1cc8
Improved comment on the sqlite3SrcListLookup function.
...
FossilOrigin-Name: bcbc9ff568d1eb9f925574ebd22e5fdfa06daf6e
2011-04-05 11:26:54 +00:00
drh
9b1c62d416
Add the SQLITE_ENABLE_PREUPDATE_HOOK compile-time option.
...
FossilOrigin-Name: 6634521461e6acff7cc778590e62d57831f9230d
2011-03-30 21:04:43 +00:00
drh
67c495ac20
Disable the truncate optimization if there is a preupdate hook.
...
FossilOrigin-Name: d051694e024c590e4687cae1368f900799b7442d
2011-03-30 17:25:35 +00:00
drh
9a48bf528d
Merge in all the latest changes from the trunk, and especially the interface
...
changes to the SystemCall methods of the VFS.
FossilOrigin-Name: 9c3a6e479988e96086bef00c79dbce508a14da0d
2011-03-23 22:48:46 +00:00