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

LOBStreamControl.replaceBytes() leaves temporary files open

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 10.4.2.0, 10.5.1.1
    • Fix Version/s: 10.3.3.1, 10.4.2.1, 10.5.1.1
    • Component/s: JDBC
    • Labels:
      None

      Description

      I haven't seen any problems as a result of this, but the code that closes and deletes the old temporary file in LOBStreamControl.replaceBytes() looks wrong to me.

      When replaceBytes() is called on a lob that has been materialized into a temporary file, it will create a new file and copy the relevant parts from the old file. But the old file is only closed and deleted if the block that is replaced ends before the last byte of the lob. I believe that the old file should be closed and deleted also when we replace a block that ends at or after the last byte of the original lob.

        Attachments

        1. Derby3883.java
          0.7 kB
          Knut Anders Hatlen
        2. d3883.diff
          0.7 kB
          Knut Anders Hatlen

          Activity

            People

            • Assignee:
              knutanders Knut Anders Hatlen
              Reporter:
              knutanders Knut Anders Hatlen
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: