You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Knut Anders Hatlen (JIRA)" <ji...@apache.org> on 2007/07/01 17:22:04 UTC

[jira] Updated: (DERBY-2885) Wrong connection object used in EmbedConnection.clearLOBMapping()

     [ https://issues.apache.org/jira/browse/DERBY-2885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Knut Anders Hatlen updated DERBY-2885:
--------------------------------------

    Attachment: lobmap2.diff

Attaching lobmap2.diff which contains some more cleanup of EmbedConnection.clearLOBMapping():
  1) Store the map in a local variable instead of calling getlobHMObj() a number of times.
  2) Replace two disjoint if statements with if/else-if + THROWASSERT if none of them matches.

All tests passed.

> Wrong connection object used in EmbedConnection.clearLOBMapping()
> -----------------------------------------------------------------
>
>                 Key: DERBY-2885
>                 URL: https://issues.apache.org/jira/browse/DERBY-2885
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC, Performance
>    Affects Versions: 10.3.1.0, 10.3.1.1, 10.4.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>             Fix For: 10.3.1.1, 10.4.0.0
>
>         Attachments: lobmap.diff, lobmap2.diff
>
>
> I think there are two bugs in EmbedConnection.clearLOBMapping():
>   1) It checks if lobHashMap is non-null, but it should have checked rootConnection.lobHashMap.
>   2) It calls getlobHMObj().clear() regardless of whether there is a HashMap. This creates a HashMap object even though it's not needed, and all the subsequent transactions on that connection have to perform cleanup on that object.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.