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

Inconsistent metadata for CLOBGETSUBSTRING, depending on your upgrade trajectory



    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • SQL
    • None
    • Patch Available
    • Data corruption


      The on-disk signature of CLOBGETSUBSTRING changed as a result of the work done on DERBY-3769. Previously, the return type of that function was VARCHAR(32672). The return type changed to VARCHAR(10890) with revision 707097, which made it into release That change was also backported to the 10.4 branch at 711548. However, no upgrade logic was written to support this metadata change. As a result, we have two discrepancies with our upgrade policy:

      1) If you upgrade a database to, the signature of CLOBGETSUBSTRING will not be the signature which you would see in a freshly created database. Presumably this means that the problem addressed by DERBY-3769 is not solved in upgraded databases.

      2) If we create another release on the 10.4 branch, then we will have a change in on-disk metadata introduced by a bug-fix release.

      I see two solutions:

      A) Add metadata upgrade logic to the 10.4 and 10.5 branches so that DERBY-3769 will be fixed in upgraded databases as well as freshly created databases. This will violate our policy of not changing on-disk metadata in maintenance releases.

      B) Correct the metadata in the hard-upgrade logic of 10.6. We may want to revert the 10.4 backport.

      In any event, we may also want to re-open DERBY-3769 to indicate that the bug is not fixed in hard-upgraded databases but only in freshly created databases.

      What are people's thoughts about how to address this discrepancy?


        1. derby-4214-01-aa-repairMetadata.diff
          12 kB
          Richard N. Hillegas
        2. performance-numbers.txt
          1 kB
          Kristian Waagan

        Issue Links



              rhillegas Richard N. Hillegas
              rhillegas Richard N. Hillegas
              0 Vote for this issue
              0 Start watching this issue