Derby
  1. Derby
  2. DERBY-5151

Don't leak unused identity/sequence values on abnormal exit.

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: SQL
    • Urgency:
      Normal

      Description

      Currently, a sequence in Derby always uses a pre allocating cache. I'm working on an usecase which requires a number to increase with a fixed value. The usecase fails after a restart because of the pre allocating cache.

      I've created a patch that adds the options CACHE | NO CACHE to the create sequence statement. When no cache is provided, the pre allocating cache size will be set to 1, which results in a "no cache sequence".
      I've followed the CYCLE | NO CYCLE code as much as possible. Tested it in my own app and it seems to work fine.

      RH: Note that part of this issue has been addressed by the work on DERBY-4437. Sequence values will NOT leak now if you perform an orderly shutdown of your database. However, values still leak if the VM exits before the database has been shutdown. I have changed this issue's title to indicate that the remaining work applies to both sequences and identity columns.

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Unassigned
              Reporter:
              Mark Holster
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:

                Development