Update the header comment for sqlite3_blob_open to note that it is not possible to write to a column that is indexed, part of a primary key or, if foreign key support is enabled, part of a foreign key.
check-in: 2fd487fd user: dan tags: trunk

Add a test to check that the incrblob API cannot be used to write to an IPK column. Also a comment to explain why the incrblob code does not need to check if a column is part of a parent key before writing to it.
check-in: dca2a7f6 user: dan tags: trunk

When ALTER TABLE RENAME TO is used to change the name of a table that is the parent table of a foreign key constraint, modify that foreign key constraint to use the new table name.
check-in: b4a10c39 user: dan tags: trunk

Avoid checking if an insert or delete has "fixed" an outstanding FK constraint violation if the constraint counter indicates that the database contains no such violations.
check-in: 519144ac user: dan tags: trunk

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.
check-in: beb2094f user: dan tags: trunk

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.
check-in: 540c2d18 user: dan tags: trunk

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.
check-in: 98853f61 user: drh tags: trunk

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]check-in: 03e464be user: drh tags: trunk

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.
check-in: ef99eb57 user: dan tags: trunk

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.
check-in: 9a4c59a2 user: dan tags: trunk