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

LOBStreamControl.replaceBytes() leaves temporary files open

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 10.4.2.0, 10.5.1.1
    • 10.3.3.1, 10.4.2.1, 10.5.1.1
    • JDBC
    • 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. d3883.diff
          0.7 kB
          Knut Anders Hatlen
        2. Derby3883.java
          0.7 kB
          Knut Anders Hatlen

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: