dan
5988572876
If an "INSERT INTO ... SELECT" can use the xfer optimization, pass the OPFLAG_BULKCSR hint to btree cursors used to update indices. This results in a tighter key packing.
...
FossilOrigin-Name: 087af29ee2e1572f8668dd0152a14d7f9796a530
2013-10-04 18:17:18 +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
619a1305e7
Fill out an initial implementation of the sqlite3ExprImpliesExpr() function.
...
FossilOrigin-Name: 8e07aa2ad5579aeb82174ce5bd432ddb9c058bc1
2013-08-01 13:04:46 +00:00
drh
8a9789b6c1
Test cases and bug fixes for the partial index logic.
...
FossilOrigin-Name: 6b73ae7c123801787c8994113cbeb87ee96ba653
2013-08-01 03:36:59 +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
drh
d91c1a1768
Add extended error codes for constraint errors.
...
FossilOrigin-Name: 5461104668a49529577f21df97f6a0e7d8f0c679
2013-02-09 13:58:25 +00:00
drh
2d8e920339
Duplicating check constraint expressions prior to code generation is no
...
longer required, and so it is removed.
FossilOrigin-Name: 1a9db8dc2f3c5cb089801d56122cdf5c3a618163
2012-12-08 04:10:44 +00:00
drh
5f53aac2e7
Remove an unreachable condition. Replace it with an assert().
...
FossilOrigin-Name: 7d5fc1a339cf4f3597ab6a5f3e7101884d2d7673
2012-12-03 19:42:39 +00:00
drh
c31c7c1c6e
Changes to facilitate full test coverage.
...
FossilOrigin-Name: 28d1eb40bfc4c993010ce670ee10780ca2ae5c9c
2012-10-08 23:25:07 +00:00
dan
1e92fb59b2
Fix a problem with shared-cache mode and CHECK constraints causing one db handle to invoke a collation sequence function registered with another.
...
FossilOrigin-Name: c2c776ab73828374836af008aa320cc670c081b5
2012-10-05 16:30:10 +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
5f08526937
Factor out the code that generates a co-routine for evaluating the SELECT
...
on the RHS of an INSERT statement so that the same code can potentially
be reused in other places.
FossilOrigin-Name: a93ee09cdc15987848bf9023e69892ce9a5f989e
2012-09-15 13:29:23 +00:00
mistachkin
d5578433ff
Fix all known instances of 'repeated the' style typos in comments. No changes to code.
...
FossilOrigin-Name: 9b19b847533f944f289d93dcdba29c0d67bf251c
2012-08-25 10:01:29 +00:00
drh
2b596da8b7
Refactor field names in the SelectDest object to make them distinct and easier
...
to grep for.
FossilOrigin-Name: b589f1efb3907a68058bf2ee981dca126d083e83
2012-07-23 21:43:19 +00:00
drh
a477a8670f
Fix a compiler warning by removing a redundant variable.
...
FossilOrigin-Name: af602d87736b52802a4e760ffeeaa28112b99d9a
2012-03-31 19:12:23 +00:00
drh
f68686ae52
When a named CHECK constraint fails, include the name of the constraint
...
in the error message.
FossilOrigin-Name: 1b75f301affac654bee24fa247046ea0782d3c4d
2012-03-30 15:48:48 +00:00
drh
2938f924cc
If a CHECK constraint is named, report that name on the error message when
...
the constraint fails.
FossilOrigin-Name: 9a0f90d9deb335ac71044b8afa81538d85cc7ccf
2012-03-07 19:13:29 +00:00
drh
e4c88c0c38
Fix typos and comments and make minor changes to a few function names,
...
as suggested by readership.
FossilOrigin-Name: e9d05cbb7676cbda83f1b3b71447404d7edde898
2012-01-04 12:57:45 +00:00
drh
f4d31bcb05
Previous check-in broke auto-increment. This check-in appears to fix it.
...
FossilOrigin-Name: 28ffd39c7162c8f7139711545122cffa257911dd
2011-12-09 16:59:19 +00:00
drh
b8475df809
Make no assumptions about the initial state of VDBE registers.
...
FossilOrigin-Name: 521d72bdf67b4b1972331307345a18c231a6e1d6
2011-12-09 16:21:19 +00:00
dan
0c733f67d8
Where possible, take advantage of the rowid at the end of index records to optimize range constraints (<, >, <=, >=) on the rowid column.
...
FossilOrigin-Name: 3b58f5f06648205a47e5cace0201269c406e476a
2011-11-16 15:27:09 +00:00
drh
ccdf1baebf
Update the xfer optimization code so that the xfer optimization can be used
...
with INTEGER PRIMARY KEY ON CONFLICT ... as long as the destination table
is initially empty. Improvements to the comments on the xfer optimization.
New test cases added.
FossilOrigin-Name: e3f368cd5ef66a56fd4bd05a77276039e26b9e0e
2011-11-04 14:36:02 +00:00
drh
e7224a011b
Make sure the INSERT INTO ... SELECT statement works correctly even when
...
the destination table contains an INTEGER PRIMARY KEY ON CONFLICT... column.
Ticket [676bc02b87176125].
FossilOrigin-Name: 6f9898db7ff0730cc03f561f9c32ef3dee7e5d81
2011-11-04 00:23:53 +00:00
dan
1696124db7
Disable the xfer optimization if "PRAGMA count_changes=1" is configured. Ticket [c48d99d690].
...
FossilOrigin-Name: 9ddfe1e41300413bc9af7e5ce0ec9d1daf9136b1
2011-09-30 12:01:01 +00:00
dan
b061d058cb
Add support for on conflict clauses to fts3/fts4.
...
FossilOrigin-Name: 6d2633a6d0a9bb88fb1a6adac0827dc51df2d4d2
2011-04-25 18:49:57 +00:00
drh
713de341a7
Disable the transfer optimization if the destination table contains
...
any foreign key constraint and foreign key constraints are enabled.
Ticket [6284df89debdf].
FossilOrigin-Name: ddeea5ab5f6c0c4a86cdfbbb9f24d9d54bf8d301
2011-04-24 22:56:07 +00:00
drh
2184fc75a2
Back out the SQLITE_OMIT_UNIQUE_ENFORCEMENT compile-option. It is an unneeded
...
complication.
FossilOrigin-Name: 927e955b93e869727c55b784401de3ea07bee257
2011-04-09 03:04:13 +00:00
drh
959b6a95ee
Merge the scheme-parse-refactor changes into trunk: (1) added
...
sqlite3SchemaMutexHeld() asserts, (2) Use -1 instead of 0 to mean
"all" in sqlite3ResetInternalSchema(), and other cosmetic changes.
FossilOrigin-Name: 5db4511d8a77b74be3503a7c34257ef6b07541f5
2011-04-05 13:12:28 +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
2120608e0f
Add a description of access rules for the Schema object and lots of asserts
...
to verify that the access rules are followed.
FossilOrigin-Name: ae8374af057b6e6546e9265148cfffe32fcb0849
2011-04-04 18:22:02 +00:00
shaneh
11c58f7d8e
More tests for SQLITE_OMIT_UNIQUE_ENFORCEMENT and minor change to implementation.
...
FossilOrigin-Name: b86999436ec2414c990ba720441fe316f647eef6
2011-03-12 04:58:55 +00:00
shaneh
e08160bdc1
Skip unique constraint enforcement if compiled with SQLITE_OMIT_UNIQUE_ENFORCEMENT.
...
FossilOrigin-Name: ba85bf8cb88f7ae220d919f5c23f51d9dcedc843
2011-03-10 21:13:18 +00:00
drh
c126e63e4f
Remove dead code identified by the clang static analyzer.
...
FossilOrigin-Name: 01a79d5a7af48fb7e50291c0c7c6283d3fb359d0
2011-03-06 21:28:32 +00:00
drh
6dc8490232
Fix the REPLACE conflict resolution so that it falls back to ABORT when
...
a CHECK constraint fails. Ticket [c38baa3d969eab794].
FossilOrigin-Name: 4e157b774764b8bafc9fabb88decf54f178b5ff5
2010-08-03 13:08:54 +00:00
drh
b975598ea0
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and
...
all memory from sqlite3_malloc() is freed by sqlite3_free().
FossilOrigin-Name: ac1f37a647e9ed1c00a901d26d9956a86c40117a
2010-07-24 16:34:37 +00:00
dan
1db95106ee
Currently, if SQLite cannot find a table or index referred to by a query, it reloads the database schema from disk to see if the table or index has been added since the schema was cached in memory. Extend this behaviour to columns (which may have been added using ALTER TABLE) and fix some obscure cases related to tables and indexes (INDEXED BY, DROP TABLE etc.).
...
FossilOrigin-Name: 4932f22848b3d15a2b6dc5fa2cd69ce19182e2a4
2010-06-28 10:15:19 +00:00
dan
7ba4597135
Do not crash when compiling an "INSERT INTO tbl DEFAULT VALUES" when tbl has either BEFORE or INSTEAD OF triggers attached to it. Ticket [f3162063fd].
...
FossilOrigin-Name: ca359a3e8048bd11605c41c4b48134c0343e543b
2010-03-30 12:40:32 +00:00
dan
da730f6eb4
Allow statements like "REPLACE INTO tbl(rowid) VALUES(...)" to run without a statement journal as long as there are no triggers, foreign keys or indexes.
...
FossilOrigin-Name: 0e4225804010cb0e3f254e2dbffc4fe0e7d982ce
2010-02-18 08:19:19 +00:00
drh
1d9da70ad7
Fix the expression comparison logic to take the COLLATE operator into account.
...
Ticket [360c6073e197]
FossilOrigin-Name: 44bb1bfe5dedd8054ddd933941ee4112ed8d3b68
2010-01-07 15:17:02 +00:00
drh
c81c11f62c
Remove the obsolete "$Id:$" RCS identifier strings from the source code.
...
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
dan
e7a94d8128
If an update does not modify any child or parent key columns, omit foreign key processing for the statement.
...
FossilOrigin-Name: edff3500058eb8ad2381f855ef7a09ecb680f7b8
2009-10-01 16:09:04 +00:00
dan
e1e2ae2d3f
Fix a bug in the code for REPLACE conflict handling on IPK columns when there are no indexes on the table. Triggers and foreign key processing were being bypassed.
...
FossilOrigin-Name: beb2094f94849c66d98bab5999ff474cd91eea11
2009-09-24 16:52:28 +00:00
dan
1bea559a94
Ensure foreign key related processing takes place when rows are deleted from the database by REPLACE conflict handling.
...
FossilOrigin-Name: 3f40c142c8526c1572020bd4d945c03a72019135
2009-09-24 11:31:21 +00:00
dan
94d7f50a0f
Remove unused parameter from sqlite3CodeRowTrigger(). Fix header comments for this function and CodeRowTriggerDirect().
...
FossilOrigin-Name: 0443f7c9112ca91aa45c78a3d6287e5fcf5c3b73
2009-09-24 09:05:49 +00:00
drh
ff738bce0d
Make sure a transaction is available for rollback whenever a REDUCE conflict
...
resolution occurs and there is the possibility to ABORT.
Ticket [4a03edc4c8c]
FossilOrigin-Name: f0c56fa90dc95aff6fe6764b5ab75a90199247b0
2009-09-24 00:09:58 +00:00
dan
75cbd984f7
Fix compilation with OMIT_TRIGGER defined. Ticket [1ff6d29030e9757d052af0f394e56bea96b8b59b|1ff6d29030].
...
FossilOrigin-Name: fb6ceed388f6d75bdc2ac2f43e5c98da74e2a448
2009-09-21 16:06:03 +00:00
dan
1da40a381f
Check in implementation of foreign key constraints.
...
FossilOrigin-Name: d5d399811876391642937edeb9e8434dd9e356f5
2009-09-19 17:00:31 +00:00
dan
e0af83aca6
Combine the OP_Statement and OP_Transaction opcodes.
...
FossilOrigin-Name: aec9dbd8d21c55c3945287a3dfa55d3ed168f977
2009-09-08 19:15:01 +00:00
dan
2283d46cd6
If recursive-triggers are enabled, fire DELETE triggers if database rows are removed as a result of OR REPLACE conflict resolution.
...
FossilOrigin-Name: 85cb0c94a63eda5f059ebe40887c7af9b4869893
2009-09-08 15:55:15 +00:00
drh
345ba7db59
Additional simplifications in support of structural testing.
...
FossilOrigin-Name: 4ab8c841f818326b0b04b95e3edd828c77f109d9
2009-09-08 13:40:16 +00:00