[
https://issues.apache.org/jira/browse/DERBY-532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13948656#comment-13948656
]
Dag H. Wanvik edited comment on DERBY-532 at 3/26/14 11:36 PM:
---------------------------------------------------------------
Attaching an exploratory patch {color:blue}
https://issues.apache.org/jira/secure/attachment/12637050/derby-532-fk-baseline.diff{color}
for foreign constraints: the new test ForeignKeysDeferrableTest (I may
integrate in the existing test for deferrable constraints later), contains
fixtures that enumerate the different places/code paths in which we check
foreign constraints. The solution for
deferrable constraints need to handle all of these.
was (Author: dagw):
Attaching an exploratory patch {color:blue} derby-532-fk-baseline{color} for
foreign constraints: the new test ForeignKeysDeferrableTest (I may integrate in
the existing test for deferrable constraints later), contains fixtures that
enumerate the different places/code paths in which we check foreign
constraints. The solution for
deferrable constraints need to handle all of these.
> Support deferrable constraints
> ------------------------------
>
> Key: DERBY-532
> URL: https://issues.apache.org/jira/browse/DERBY-532
> Project: Derby
> Issue Type: Improvement
> Components: SQL
> Reporter: Jörg von Frantzius
> Assignee: Dag H. Wanvik
> Labels: derby_triage10_11
> Fix For: 10.11.0.0
>
> Attachments: IndexDescriptor.html, IndexDescriptorImpl.html,
> IndexRowGenerator.html, SortObserver.html, deferredConstraints.html,
> deferredConstraints.html, deferredConstraints.html, deferredConstraints.html,
> deferredConstraints.html, derby-532-allow-pk-unique-1.diff,
> derby-532-allow-pk-unique-1.status, derby-532-check-constraints-1.diff,
> derby-532-check-constraints-1.stat, derby-532-check-constraints-2.diff,
> derby-532-check-constraints-2.stat, derby-532-fix-drop-not-nullable.diff,
> derby-532-fix-drop-not-nullable.status, derby-532-fix-metadata-1.diff,
> derby-532-fix-metadata-1.status, derby-532-fk-baseline.diff,
> derby-532-import-1.diff, derby-532-import-1.status, derby-532-import-2.diff,
> derby-532-import-3.diff, derby-532-import-3.status,
> derby-532-more-tests-1.diff, derby-532-more-tests-1.stat,
> derby-532-nullableUniqueFix.diff, derby-532-nullableUniqueFix.status,
> derby-532-post-scan-1.diff, derby-532-post-scan-1.stat,
> derby-532-post-scan-2.diff, derby-532-post-scan-2.stat,
> derby-532-post-scan-3.diff, derby-532-post-scan-3.stat,
> derby-532-post-scan-4.diff, derby-532-post-scan-4.stat,
> derby-532-serializable-scan-1.diff, derby-532-serializable-scan-2.diff,
> derby-532-serializable-scan-2.stat, derby-532-syntax-binding-dict-1.diff,
> derby-532-syntax-binding-dict-1.status, derby-532-syntax-binding-dict-2.diff,
> derby-532-syntax-binding-dict-2.status,
> derby-532-syntax-binding-dict-all-1.diff, derby-532-test-speedup.diff,
> derby-532-test-speedup.status,
> derby-532-test-with-default-deferrable-all-over.diff,
> derby-532-testAlterConstraintInvalidation.diff,
> derby-532-testAlterConstraintInvalidation.status, derby-532-unique-pk-1.diff,
> derby-532-unique-pk-1.status, derby-532-unique-pk-2.diff,
> derby-532-unique-pk-3.diff, derby-532-unique-pk-3.status,
> derby-532-upgrade-1.diff, derby-532-upgrade-1.status,
> derby-532-upgrade-1b.diff, derby-532-xa-1.diff, derby-532-xa-2.diff,
> derby-532-xa-3.diff, derby-532-xa-3.status
>
>
> In many situations it is desirable to have constraints checking taking place
> only at transaction commit time, and not before. If e.g. there is a chain of
> foreign key constraints between tables, insert statements have to be ordered
> to avoid constraint violations. If foreign key references are circular, the
> DML has to be split into insert statements and subsequent update statements
> by the user.
> In other words, with deferred constraints checking, life is much easier for
> the user. Also it can create problems with softwares such as
> object-relational mapping tools that are not prepared for statement ordering
> and thus depend on deferred constraints checking.
--
This message was sent by Atlassian JIRA
(v6.2#6252)