dan
53c3fa8dbe
Prevent ALTER TABLE from being used to add a column with a REFERENCES clause and a non-NULL default value while foreign key support is enabled.
...
FossilOrigin-Name: 353b1b18253ab71ba38a887e555994f5469b87bd
2009-09-25 11:26:54 +00:00
dan
140026bdb5
Fixes and test cases to make sure the affinity and collation sequence associated with the parent key is used when comparing it with a child key value.
...
FossilOrigin-Name: 76e8e74b49be4c80b9fb20d52e9b39db8001362e
2009-09-24 18:19:41 +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
8c430041f5
Fix a problem in fkey.c when a child key is the IPK of its table.
...
FossilOrigin-Name: 8a000a8aae4d356e68acf2bc1788d2c40279522c
2009-09-24 15:16:33 +00:00
drh
46803c3e0b
Remove the ALWAYS() added by the previous check-in. It is not needed.
...
FossilOrigin-Name: 36568963356e3919e8b862e7e40ded2eae7ce187
2009-09-24 14:27:33 +00:00
drh
1f638ceb34
Comment enhancements. Add an ALWAYS macro in fkey.c to indicate a branch
...
that is always taken.
FossilOrigin-Name: d5b714cffffe588dd4dd10e0b82df8d99657be88
2009-09-24 13:48:10 +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
4bb3b679b0
Use sqlite3FkOldmask() in delete.c instead of assuming that foreign key constraints always require all columns of the deleted row to be stored in registers.
...
FossilOrigin-Name: ce554a393401fc2fb9b5be049ddd383070102934
2009-09-24 10:42:09 +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
8a2fff7a78
Fix a problem with FK constraints that implicitly map to a composite primary key.
...
FossilOrigin-Name: e0a48d53110130de75602603f524539e421a9dba
2009-09-23 18:07:22 +00:00
dan
32b09f29c9
Do not check immediate foreign key constraints until the end of the statement. This matches the postgres behaviour.
...
FossilOrigin-Name: 1a32149cc3c722058f4ed4c81edadeb6ce5bc9e4
2009-09-23 17:29:59 +00:00
drh
f1dfc4fbb3
Modify the ".dump" command on the CLI so that it always issues a
...
PRAGMA foreign_keys=OFF at the top of the output.
FossilOrigin-Name: 0755b9b697d32292f378a4b934ca1cf9f56225cd
2009-09-23 15:51:35 +00:00
drh
6d4486ae9f
Change the version number to 3.6.19. Fix a couple of incorrect testcase()
...
macros associated with the new IS and IS NOT operators in expr.c.
FossilOrigin-Name: e3b73394bf9c0391e997079b160eace3589415ab
2009-09-23 14:45:05 +00:00
dan
d981d44781
Disallow using the implicit rowid column as the parent key of an FK constraint.
...
FossilOrigin-Name: a5f7e71f424900071a3925e53e9128c9148ea2e8
2009-09-23 13:59:17 +00:00
dan
a8f0bf643e
Add extra tests for foreign key support.
...
FossilOrigin-Name: 7d086afe69da4d03bd1de5408626858273f91e8f
2009-09-23 12:06:52 +00:00
dan
8099ce6f4a
Add missing comments to fkey.c. Also, change the terminology used for comments and names in fkey.c from "referenced/referencing" to "parent/child". This is arguably less correct, but is easier to follow.
...
FossilOrigin-Name: 540c2d18e14c277b55f95729fbafc04ca66466b2
2009-09-23 08:43:35 +00:00
drh
788536b165
Do not run ON UPDATE actions of a foreign key constraint unless at least one
...
column value really does change.
FossilOrigin-Name: 71ac8e28e55ff0250ebe2fe239159ce2458d9165
2009-09-23 03:01:58 +00:00
drh
6a2fe09387
Generalize the IS and IS NOT operators so that their right-hand side can be
...
an arbitrary expression and not simple the constant NULL. They work like
= and <> except that NULL values compare equal to one another an unequal to
everything else.
FossilOrigin-Name: 98853f6104076c50ea92175e17a3254bfbbd4619
2009-09-23 02:29:36 +00:00
drh
7ba5bc5bf2
Factor the UMINUS and UPLUS tokens out of the parser so that the parser
...
tables can go back to using 8-bit values instead of 16-bit values.
FossilOrigin-Name: 3fc938c961fd7810594224b91a2d6e1ac9e48084
2009-09-22 20:08:34 +00:00
drh
9c8abf2b14
The NO ACTION action really should be no-action and not RESTRICT.
...
FossilOrigin-Name: 55b263fa2b2fed8c721154e3c48f4226be95065c
2009-09-22 19:53:41 +00:00
dan
f59c5cacb8
Fix another OOM related problem in fkey.c.
...
FossilOrigin-Name: e2bc51bc61d54d103ccffd12106c27a574e4e997
2009-09-22 16:55:38 +00:00
dan
934ce300a0
Fix a problem with ON DELETE SET DEFAULT actions.
...
FossilOrigin-Name: 9406995055f53639b0af46985c7b0a24a80308ae
2009-09-22 16:08:58 +00:00
dan
29c7f9caac
Fix an OOM related crash in fkey.c.
...
FossilOrigin-Name: 635d6a775a3f192d4292738905f5e01bc956a712
2009-09-22 15:53:47 +00:00
shane
3e82c1d99b
Allow specific exclusion of localtime_s() usage on Windows.
...
FossilOrigin-Name: 216bcda7d2818efda55849d5cb84aa483bc6429b
2009-09-22 13:25:00 +00:00
dan
ba9108b84a
Fix compilation errors when OMIT_FOREIGN_KEY is defined.
...
FossilOrigin-Name: c447cb37d6439090eb08028d54a91d7d06043744
2009-09-22 07:13:42 +00:00
dan
3606264bc9
Fix a problem with foreign key constraints that map from and IPK column.
...
FossilOrigin-Name: 84129052623dc6a175c76db602ab07fa3e57f1eb
2009-09-21 18:56:23 +00:00
dan
e83c4f3a9e
Fix compilation with both OMIT_UTF16 and ENABLE_STAT2 defined. Ticket [56928bd084ea530eb8a0b3ebe5d2d9033fb1de7f|56928bd084].
...
FossilOrigin-Name: cd850d49a12a2852258cbd7d5db56715132dff17
2009-09-21 16:34:24 +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
drh
3991bb0dee
When coding a trigger, assume that the "oldmask" requires all columns until
...
we know otherwise. That pessimistic assumption assures that all necessary
parameters are available on a cascading delete trigger.
Ticket [e25d9ea771f]
FossilOrigin-Name: 03e464be51a1c36fc02cf31178ae91f736dfddd6
2009-09-17 00:41:19 +00:00
drh
3492dd71dd
Make sure sufficient space is allocated for at least one VDBE cursor when
...
autoincrement is used. Ticket [a696379c1f088].
FossilOrigin-Name: 2b2a1ef74e24857b8d18f6370894588fc2aa5ebb
2009-09-14 23:47:24 +00:00
drh
92aa5eacd8
Add an #ifndef so that the build works with SQLITE_OMIT_ANALYZE again.
...
FossilOrigin-Name: b084828a771ec40be85f07c590ca99de4f6c24ee
2009-09-11 14:05:06 +00:00
drh
d0bc5d2aa6
Omit the mutexIsInit test variable when mutexes are disabled.
...
FossilOrigin-Name: 3ea10434434d27a1300ba2b58e2c47c54909f4ff
2009-09-10 22:30:53 +00:00
shane
11bb41f878
Fixed some warnings and an assert in the WINCE code when compiling under MSVC.
...
FossilOrigin-Name: f42ec993ac9d42ca31305f26b09924108c36d9f4
2009-09-10 20:23:30 +00:00
drh
08da4bb16e
Make sure the threadsOverrideEachOthersLocks variable is only referenced by
...
linux systems on a threadsafe compile.
FossilOrigin-Name: e9d064bd9318c2bc9248df948f71fd30f24525eb
2009-09-10 19:20:03 +00:00
shane
abc6b89085
Cleanup of warnings on MSVC build.
...
FossilOrigin-Name: 5588cc96bbe0b9df5f8d31f8f2d2b48b3f54ff09
2009-09-10 19:09:03 +00:00
drh
fe5bdb36ab
Add assert() statement to verify that new mutexes are not allocated when
...
the mutex subsystem is uninitialized.
FossilOrigin-Name: 1183c533571bc9c7ce56102b718f3e4f4e78019e
2009-09-10 17:45:00 +00:00
dan
f3677212e3
Fix a problem with the sqlite3VdbeMayAbort() assert failing following an OOM.
...
FossilOrigin-Name: b3027863505fa8edf355f3f5eea4502ef365175e
2009-09-10 16:14:50 +00:00
dan
43bc88bbe8
Remove an ALWAYS macro around an expression that is sometimes false.
...
FossilOrigin-Name: f2a9ee722c568e73f2a08fb6a2886719850f2923
2009-09-10 10:15:59 +00:00
shane
0cab14167c
Reduce default SQLITE_MAX_TRIGGER_DEPTH when SQLITE_SMALL_STACK is defined.
...
FossilOrigin-Name: 913fb70ea85f05d94db5cf2e692a7c8b7489e3ba
2009-09-10 02:54:48 +00:00
dan
11b3879b18
Trying to open a transaction in one thread and close it in another is a misuse with LinuxThreads. Doing so may cause memory and file-descriptors to be leaked. Update an assert() and some test cases to account for this.
...
FossilOrigin-Name: ef99eb57c536d82e7c19fd3d990c17793cc64a3f
2009-09-09 18:46:52 +00:00
drh
3f022189dd
Suppress some harmless compiler warnings.
...
FossilOrigin-Name: f0c72a53c5d57d7487b48a06a40816153f47aaac
2009-09-09 16:10:50 +00:00
drh
f4cfac9d63
Bug fix in the SQLITE_OPEN_PRIVATECACHE option added a few minutes ago.
...
FossilOrigin-Name: f3a0f23bc77f8c73924f1d371afae9a0f65bae67
2009-09-09 15:29:41 +00:00
dan
ae0931edae
Add some tests that involve BEFORE UPDATE or BEFORE DELETE triggers messing with the row being updated or deleted. SQLite behaviour in this scenario is undefined, so the tests just check that the behaviour is relatively sane and there are no crashes.
...
FossilOrigin-Name: 9a4c59a2ddd0df2d9425097004b450a6685f2147
2009-09-09 15:06:10 +00:00
drh
f1f12688d8
Added SQLITE_OPEN_SHAREDCACHE and SQLITE_OPEN_PRIVATECACHE flags as
...
possibilities to sqlite3_open_v2(), to override the global shared
cache mode setting. Ticket [9fd0bc36639c15]
FossilOrigin-Name: f509eb8b488bb39deda4ca88f66ed40c6784af02
2009-09-09 14:17:52 +00:00
drh
643a392270
Increase the size of bitvec objects to 1024 bytes on 64-bit systems.
...
FossilOrigin-Name: f1272b90f6078d301ab05592593e9415f2b2b90b
2009-09-09 12:41:17 +00:00
dan
144926d8b6
Add a complicated assert() to check that statement transactions are opened when required.
...
FossilOrigin-Name: 28aa1f4ea8dad56ffedb31d6c2bc27c1d6be2407
2009-09-09 11:37:20 +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