dan
f7b0b0ad5f
When generating WHERE clause terms internally for NATURAL and USING joins, identify the table by its position in the FROM list, not by its name or alias. Fix for [b73fb0bd64].
...
FossilOrigin-Name: 6fe6371175482d38ac4aeea994c7b20c18b7de01
2009-10-19 15:52:32 +00:00
drh
bec451f8ad
Make sure the target register is allocated before adding the bogus
...
OP_Variable opcode in isLikeOrGlob(). Bugfix for the new
sqlite3_reoptimize() logic.
FossilOrigin-Name: e74f8dc436213b7ef754adcab5ef7554d774474c
2009-10-17 13:13:02 +00:00
dan
03c7b99988
Add documentation comment for new experimental API sqlite3_reoptimize().
...
FossilOrigin-Name: c48f8ffedc30841aa4994eb925d09c2ee97a864d
2009-10-17 08:26:29 +00:00
drh
ebecd2c970
Merge the sqlite3_reoptimize() changes into the trunk.
...
FossilOrigin-Name: 50136840d54674c239613265ebbacaabf215f4e2
2009-10-16 16:21:51 +00:00
dan
85a48dfd71
Remove a mutex reference leak from sqlite3_reoptimize().
...
FossilOrigin-Name: 9f0937066184421f23453ceb451fd726c75cb593
2009-10-16 15:19:08 +00:00
drh
0ee3dbef79
Comment cleanup in btree.c.
...
FossilOrigin-Name: 32966ba4796e70d0afcff6abdda9bdcba08b098a
2009-10-16 15:05:18 +00:00
dan
fa401def25
Experimental fix for [f777251dc7]. This may be changed yet.
...
FossilOrigin-Name: 174477bca05d019e663fd2b7cd031189ab2e010a
2009-10-16 14:55:03 +00:00
drh
ed1f8787aa
Fix comment typos in btreeInt.h.
...
FossilOrigin-Name: 550566a75fc79e3662431ba493af853b522d8850
2009-10-16 13:23:33 +00:00
dan
937d0dea4f
Add the experimental sqlite3_reoptimize() API.
...
FossilOrigin-Name: 9bd6f3d8864d422fe42074688b191915b27ad8ea
2009-10-15 18:35:38 +00:00
drh
fcb9f7ad7a
Fixed warnings with MSVC compile.
...
FossilOrigin-Name: e0aa50c382a56bb02eaa589619b7e670006a26b3
2009-10-13 19:19:23 +00:00
drh
a2c8a95b1c
Update the TCL wrapper to provide a non-NULL objProc pointer to the
...
Tcl_NRCreateCommand() interface. The TCL gurus say this is needed to
support legacy TCL extensions.
FossilOrigin-Name: 1b3cfa01dd7fb9a48f0008f5afd974db61c30cff
2009-10-13 18:38:34 +00:00
drh
9e9f1bd1c0
When a write transaction fails to being because the database is read-only,
...
fail right away. Do not give the error code an opportunity to be
overwritten with SQLITE_OK. Ticket [5ee23731f15].
FossilOrigin-Name: bc1101179abb4577417c971a7e4fbacde50e19a2
2009-10-13 15:36:51 +00:00
drh
d3ceeb50f3
Suppress some harmless compiler warnings.
...
FossilOrigin-Name: 5d381daa6e5248ec171aa682e2dad058d4012f24
2009-10-13 13:08:19 +00:00
drh
4591c7bab5
Make sure mem3.c releases its mutex on an sqlite3_shutdown() call.
...
FossilOrigin-Name: 16254ad5aad355acedf72e0a1c618438041d5889
2009-10-13 12:48:43 +00:00
drh
4c4298392e
Add asserts as evidence that all FK constraints are either immediate or
...
deferred.
FossilOrigin-Name: 634ef4fc9f4051245b38f558bb1c733031548c2f
2009-10-12 22:30:49 +00:00
drh
9a616f5607
When processing FK constraints on changes to parent tables, make sure the
...
names of child tables appear correctly in the output of EXPLAIN QUERY PLAN.
FossilOrigin-Name: a4ab5215fed231c8e5f8714f5cadafd1209b362a
2009-10-12 20:01:49 +00:00
drh
c4ad1e946b
Update requirement text for sqlite3_open_blob(). Update evidence comment
...
in e_fkey.test to conform to the latest requirement phrasing.
FossilOrigin-Name: 89c548acf4691bad3d90400026267d4c6a55cde1
2009-10-10 14:29:30 +00:00
dan
8b6d37d8bc
Fix a problem in the legacy genfkey code to do with column names that require quoting.
...
FossilOrigin-Name: 273ccbf18af5191807678a0a0c09cda82408b29c
2009-10-08 13:42:28 +00:00
drh
a172c34488
Fix a segfault that can occur following an OOM fault while renaming a
...
table holding foreign key constraints.
FossilOrigin-Name: 33973814c67bc9bac575bf2249df6530dd2184d3
2009-10-08 01:43:55 +00:00
drh
9b5db1dbd6
Use memcpy() rather than structure assignment so that memcmp() can later
...
be used for comparison. Ticket [8550ecca70]
FossilOrigin-Name: 56f609da4bfcc794e1f8573652dcde8515e87098
2009-10-07 23:42:25 +00:00
dan
f589450dc9
Add some tests of statements in foreignkeys.html.
...
FossilOrigin-Name: 8382867956caf20f62c46c15b456c1c16d0824fd
2009-10-07 18:41:19 +00:00
dan
ed81bf6082
Add a missing OP_Close opcode to VDBE programs that check for FK constraint violations.
...
FossilOrigin-Name: 5caa4a2b050d5743b1407485cf419aa36cf16ac6
2009-10-07 16:04:46 +00:00
dan
fedd4805be
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.
...
FossilOrigin-Name: 2fd487fdb669df89a8eb62cd0b7dc27ea1016edf
2009-10-07 11:29:40 +00:00
dan
b616309f52
Update header file comments describing the sqlite3_changes and sqlite3_total_changes functions to describe how changes made by foreign key actions are handled.
...
FossilOrigin-Name: 4c342c026a84f2608c2b331a1ac016117b80f108
2009-10-07 10:43:26 +00:00
dan
4a4c11aaf5
Change tclsqlite.c to use the Tcl_NRxxx() APIs in Tcl versions 8.6 and later.
...
FossilOrigin-Name: e9f72f1de459a9e8380609f6bd7d4b76afb59f89
2009-10-06 14:59:02 +00:00
dan
02470b20f3
Handle an SQLITE_IGNORE returned when requesting authorization to read parent key columns by pretending the parent key columns contain NULL values.
...
FossilOrigin-Name: 3c24df38e6ae5dfe999bbf3133b65df0074c6a50
2009-10-03 07:04:11 +00:00
dan
47a06346ff
When inserting a row into a child table, invoke the authorization callback to request permission to read the parent key columns.
...
FossilOrigin-Name: 9842f2d5f606eb8f641ecae9fbc5368b8d7e4286
2009-10-02 14:23:41 +00:00
dan
1316700e54
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.
...
FossilOrigin-Name: dca2a7f608d9237039541707846c76cd460f5805
2009-10-02 06:35:06 +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
f7a94543b8
Remove unreachable branches from fkey.c. Add a few tests to cover the remaining branches.
...
FossilOrigin-Name: 0a0a17d87c990a811a2755b9d9d4141b611b49db
2009-09-30 08:11:07 +00:00
dan
1cf021e143
Change a couple of comments to use "SQLITE_MUTEX_OMIT" instead of OMIT_MUTEX.
...
FossilOrigin-Name: b733e939f785111eac987fe4a25ccfa512e4f0b4
2009-09-30 04:28:04 +00:00
dan
652ac1d0a7
Use the affinity and collation sequence associated with the parent key when finding child table rows to apply a foreign key action to.
...
FossilOrigin-Name: 9a4b7ec2928307e88783223903c842accaff7ccf
2009-09-29 16:38:59 +00:00
dan
9707c7b104
Check that a unique index uses the default collation sequences for each column before using it as part of a foreign key constraint operation.
...
FossilOrigin-Name: 64154174cf8a53bd9be818db53cb0e586c5d24cb
2009-09-29 15:41:57 +00:00
dan
792e92012f
Remove an unused variable from fkey.c.
...
FossilOrigin-Name: 582bd7682831362cd0e2f91ac0dba5ab2b7e2983
2009-09-29 11:28:51 +00:00
dan
856ef1a5f9
Various fixes so that "make test" works with OMIT_FOREIGN_KEY, OMIT_TRIGGER and OMIT_ALTER_TABLE.
...
FossilOrigin-Name: e4eb227b14e4bfcb9f7f284692a391b7355f0204
2009-09-29 06:33:23 +00:00
dan
f0662567fa
Ignore foreign key mismatch errors while compiling DROP TABLE commands.
...
FossilOrigin-Name: 5b4d46374a8e808246a1813c12c36c4a75371898
2009-09-28 18:52:11 +00:00
dan
d66c83095e
Fix the DROP TABLE command so that it cannot be used to bypass foreign key constraints (if foreign key support is enabled).
...
FossilOrigin-Name: 8353808c9e70412fdee31bfda7810e948f1c7485
2009-09-28 14:49:01 +00:00
dan
9277efa3d5
Fix some foreign key constraint related problems that occur when a row refers to itself.
...
FossilOrigin-Name: 9e503e2d0428c9e8df878c7c6594790232cca4e0
2009-09-28 11:54:21 +00:00
dan
432cc5b9f3
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.
...
FossilOrigin-Name: b4a10c39e726dc190e9597e382baddc034294114
2009-09-26 17:51:48 +00:00
dan
0ff297eaa7
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.
...
FossilOrigin-Name: 519144ac437b5842e4213f0e81e05c709939c2ab
2009-09-25 17:03:14 +00:00
dan
bd74783270
Fix comments in fkey2.c to reflect the immediate-constraint-counter approach.
...
FossilOrigin-Name: 9fd54b0aa73ed74c65f7db53cb666752f13263f9
2009-09-25 12:00:01 +00:00
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