Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-1074 OrderColumn does not maintain index upon inter-list element removal - Phase 1
  3. OPENJPA-1595

OrderColumn does not maintain index upon inter-list element removal - Phase 2

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.0.0-M2, 2.1.1, 2.2.0, 2.3.0
    • None
    • jdbc
    • None

    Description

      The second phase will be to update the ChangeTracker to record the indexes of the updated list items and to use that information to provide a more intelligent update strategy in the handlers.

      I fixed the non-spec compliant behavior described in this JIRA (ie. phase 1 - Per the latest JPA 2.0 spec, a contiguous index value must be maintained.) but the second phase of the JIRA has not been addressed:

      "The current reordering mechanism does a full delete and reinsert of the container/collection table values if a reorder is required for inserts. For deletes, it just removes entries and leaves an empty index value. The first phase of the fix will be to maintain contiguous ordering using the same mechanism as inserts (delete/re-insert). The second phase will be to update the ChangeTracker to record the indexes of the updated list items and to use that information to provide a more intelligent update strategy in the handlers."

      A more spec related side effect of OpenJPA's current order column update strategy is that the OrderColumn insertable and updatable attributes may not result in the behavior one may expect since the db operations used to maintain the list do not exactly map to the db operations indicated by these attributes.

      I spent a few days looking into implementing phase 2, but it turned into a non trivial exercise.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              techhusky Jeremy Bauer
              Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: