Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-532

Support deferrable constraints

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 10.11.1.1
    • Component/s: SQL
    • Urgency:
      Normal

      Description

      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.

        Attachments

        1. deferredConstraints.html
          23 kB
          Dag H. Wanvik
        2. deferredConstraints.html
          22 kB
          Dag H. Wanvik
        3. deferredConstraints.html
          22 kB
          Dag H. Wanvik
        4. deferredConstraints.html
          22 kB
          Dag H. Wanvik
        5. deferredConstraints.html
          18 kB
          Dag H. Wanvik
        6. deferredConstraints.html
          19 kB
          Dag H. Wanvik
        7. deferredConstraints.html
          18 kB
          Dag H. Wanvik
        8. deferredConstraints.html
          16 kB
          Dag H. Wanvik
        9. deferredConstraints.html
          15 kB
          Dag H. Wanvik
        10. derby-532-allow-pk-unique-1.diff
          21 kB
          Dag H. Wanvik
        11. derby-532-allow-pk-unique-1.status
          0.6 kB
          Dag H. Wanvik
        12. derby-532-check-constraints-1.diff
          283 kB
          Dag H. Wanvik
        13. derby-532-check-constraints-1.stat
          5 kB
          Dag H. Wanvik
        14. derby-532-check-constraints-2.diff
          288 kB
          Dag H. Wanvik
        15. derby-532-check-constraints-2.stat
          5 kB
          Dag H. Wanvik
        16. derby-532-fix-drop-not-nullable.diff
          4 kB
          Dag H. Wanvik
        17. derby-532-fix-drop-not-nullable.status
          0.5 kB
          Dag H. Wanvik
        18. derby-532-fix-metadata-1.diff
          10 kB
          Dag H. Wanvik
        19. derby-532-fix-metadata-1.status
          0.4 kB
          Dag H. Wanvik
        20. derby-532-fk-1.diff
          111 kB
          Dag H. Wanvik
        21. derby-532-fk-3.diff
          139 kB
          Dag H. Wanvik
        22. derby-532-fk-3.stat
          2 kB
          Dag H. Wanvik
        23. derby-532-fk-4.diff
          192 kB
          Dag H. Wanvik
        24. derby-532-fk-5.diff
          199 kB
          Dag H. Wanvik
        25. derby-532-fk-5.stat
          2 kB
          Dag H. Wanvik
        26. derby-532-fk-6.diff
          205 kB
          Dag H. Wanvik
        27. derby-532-fk-6.stat
          2 kB
          Dag H. Wanvik
        28. derby-532-fk-7.diff
          206 kB
          Dag H. Wanvik
        29. derby-532-fk-7.stat
          2 kB
          Dag H. Wanvik
        30. derby-532-fk-baseline.diff
          3 kB
          Dag H. Wanvik
        31. derby-532-fk-baseline-2.diff
          23 kB
          Dag H. Wanvik
        32. derby-532-import-1.diff
          22 kB
          Dag H. Wanvik
        33. derby-532-import-1.status
          1.0 kB
          Dag H. Wanvik
        34. derby-532-import-2.diff
          22 kB
          Dag H. Wanvik
        35. derby-532-import-3.diff
          21 kB
          Dag H. Wanvik
        36. derby-532-import-3.status
          0.9 kB
          Dag H. Wanvik
        37. derby-532-metadata-queries.diff
          5 kB
          Dag H. Wanvik
        38. derby-532-metadata-queries.status
          0.6 kB
          Dag H. Wanvik
        39. derby-532-more-tests-1.diff
          9 kB
          Dag H. Wanvik
        40. derby-532-more-tests-1.stat
          0.5 kB
          Dag H. Wanvik
        41. derby-532-nullableUniqueFix.diff
          10 kB
          Dag H. Wanvik
        42. derby-532-nullableUniqueFix.status
          0.7 kB
          Dag H. Wanvik
        43. derby-532-post-scan-1.diff
          179 kB
          Dag H. Wanvik
        44. derby-532-post-scan-1.stat
          4 kB
          Dag H. Wanvik
        45. derby-532-post-scan-2.diff
          184 kB
          Dag H. Wanvik
        46. derby-532-post-scan-2.stat
          4 kB
          Dag H. Wanvik
        47. derby-532-post-scan-3.diff
          185 kB
          Dag H. Wanvik
        48. derby-532-post-scan-3.stat
          4 kB
          Dag H. Wanvik
        49. derby-532-post-scan-4.diff
          188 kB
          Dag H. Wanvik
        50. derby-532-post-scan-4.stat
          4 kB
          Dag H. Wanvik
        51. derby-532-serializable-scan-1.diff
          223 kB
          Dag H. Wanvik
        52. derby-532-serializable-scan-2.diff
          186 kB
          Dag H. Wanvik
        53. derby-532-serializable-scan-2.stat
          4 kB
          Dag H. Wanvik
        54. derby-532-syntax-binding-dict-1.diff
          89 kB
          Dag H. Wanvik
        55. derby-532-syntax-binding-dict-1.status
          3 kB
          Dag H. Wanvik
        56. derby-532-syntax-binding-dict-2.diff
          57 kB
          Dag H. Wanvik
        57. derby-532-syntax-binding-dict-2.status
          2 kB
          Dag H. Wanvik
        58. derby-532-syntax-binding-dict-all-1.diff
          118 kB
          Dag H. Wanvik
        59. derby-532-testAlterConstraintInvalidation.diff
          4 kB
          Dag H. Wanvik
        60. derby-532-testAlterConstraintInvalidation.status
          0.4 kB
          Dag H. Wanvik
        61. derby-532-test-speedup.diff
          22 kB
          Dag H. Wanvik
        62. derby-532-test-speedup.status
          1.0 kB
          Dag H. Wanvik
        63. derby-532-test-with-default-deferrable-all-over.diff
          5 kB
          Dag H. Wanvik
        64. derby-532-unique-pk-1.diff
          222 kB
          Dag H. Wanvik
        65. derby-532-unique-pk-1.status
          6 kB
          Dag H. Wanvik
        66. derby-532-unique-pk-2.diff
          222 kB
          Dag H. Wanvik
        67. derby-532-unique-pk-3.diff
          223 kB
          Dag H. Wanvik
        68. derby-532-unique-pk-3.status
          0.1 kB
          Dag H. Wanvik
        69. derby-532-upgrade-1.diff
          4 kB
          Dag H. Wanvik
        70. derby-532-upgrade-1.status
          0.3 kB
          Dag H. Wanvik
        71. derby-532-upgrade-1b.diff
          5 kB
          Dag H. Wanvik
        72. derby-532-xa-1.diff
          17 kB
          Dag H. Wanvik
        73. derby-532-xa-2.diff
          19 kB
          Dag H. Wanvik
        74. derby-532-xa-3.diff
          19 kB
          Dag H. Wanvik
        75. derby-532-xa-3.status
          1.0 kB
          Dag H. Wanvik
        76. IndexDescriptor.html
          20 kB
          Dag H. Wanvik
        77. IndexDescriptorImpl.html
          44 kB
          Dag H. Wanvik
        78. IndexRowGenerator.html
          53 kB
          Dag H. Wanvik
        79. SortObserver.html
          20 kB
          Dag H. Wanvik

          Issue Links

          There are no Sub-Tasks for this issue.

            Activity

              People

              • Assignee:
                dagw Dag H. Wanvik
                Reporter:
                jfrantzius Jörg von Frantzius
              • Votes:
                6 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: