1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-11 01:42:22 +03:00
Commit Graph

363 Commits

Author SHA1 Message Date
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
dan
65a7cd1631 More fixes and comment updates.
FossilOrigin-Name: 38a9327bad1a01e3d7a47fad44ece2f6c7e88643
2009-09-01 12:16:01 +00:00
dan
2832ad4221 More fixes for test cases.
FossilOrigin-Name: 85d9f23be1e8673dbda42e43b9b23332ada9225f
2009-08-31 15:27:27 +00:00
dan
76d462ee78 Fixes for new triggers scheme.
FossilOrigin-Name: 9eb91efda5241609ff18ff15ef5eaa0e86788eab
2009-08-30 11:42:51 +00:00
dan
165921a742 Changes to support recursive triggers.
FossilOrigin-Name: 9b9c19211593d5ff7b39254a29c284560a8bcedb
2009-08-28 18:53:45 +00:00
dan
69f8bb9c72 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.
FossilOrigin-Name: e72186f2d68d28c2e0c32894f9adb28c155b5f63
2009-08-13 19:21:16 +00:00
danielk1977
595a523a10 Allow virtual tables to be used in shared-cache mode. (CVS 6928)
FossilOrigin-Name: 5d9e767a05e381235e064061043e30cc03a11a07
2009-07-24 17:58:53 +00:00
drh
0b9f50d8aa Enhance autoincrement so that it works with triggers that also do
autoincrement inserts, even multiple inserts into the same table.
Ticket #3928 (CVS 6807)

FossilOrigin-Name: 1330993de8eae7baeec24100216158063c9bdc19
2009-06-23 20:28:53 +00:00
drh
20411ea700 Enhance the sqlite3VdbeGetOp() routine so that it always returns a pointer
to VdbeOp, even following an OOM fault.  This simplifies error handling in
callers.  Cleanup to the column cache logic and the expr.c source module. (CVS 6691)

FossilOrigin-Name: ede06dacdf7acab23cd9666a0a0d092a637bcb78
2009-05-29 19:00:12 +00:00
danielk1977
de630353d8 Speed up INSERT operations that add data to UNIQUE or PRIMARY KEY indexes by rationalizing duplicate seek operations. (CVS 6599)
FossilOrigin-Name: cac4f3d812f0a02ca5c1fa78d366f694403929a8
2009-05-04 11:42:29 +00:00
drh
1b7ecbb4ce More changes to insert.c to facilitate full coverage testing. (CVS 6596)
FossilOrigin-Name: 46c4ec968bc22843c65744ab4a01ec7ac605567b
2009-05-03 01:00:59 +00:00
drh
098d1684d7 Simplifications to the uniqueness constraint failure error message
generation code. (CVS 6595)

FossilOrigin-Name: 8f3cac7682a0c992f95f7453aaf9a29b1fe35d6f
2009-05-02 15:46:46 +00:00
drh
3f6e781d6a When checking indices for xfer compatibility, compare collating sequences
by string, not by pointer. (CVS 6590)

FossilOrigin-Name: 7d2b80c7addc2d03d49647da9c6df9113f01349d
2009-05-02 00:28:19 +00:00