[ 
https://issues.apache.org/jira/browse/DERBY-4685?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12926244#action_12926244
 ] 

Kristian Waagan commented on DERBY-4685:
----------------------------------------

Looks good to me, +1 to commit.

> Dead/unreachable code in OpenConglomerate.lockPositionForWrite()
> ----------------------------------------------------------------
>
>                 Key: DERBY-4685
>                 URL: https://issues.apache.org/jira/browse/DERBY-4685
>             Project: Derby
>          Issue Type: Improvement
>          Components: Store
>    Affects Versions: 10.7.1.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: d4685-2.diff, d4685.diff
>
>
> OpenConglomerate.lockPositionForWrite() contains this code twice:
>             if (!waitForLock)
>             {
>                 // throw lock timeout error.
>                 throw StandardException.newException(SQLState.LOCK_TIMEOUT);
>             }
> The second occurrence of this code can never end up throwing an exception, 
> since waitForLock is guaranteed to be true there because of the identical 
> check a couple of lines above. (Judging by the similar method 
> lockPositionForRead(), it is probably the first check that should be removed, 
> so that the latch on the page is released before the exception is thrown.)
> Also, the method is always called with forInsert==false, so the forInsert 
> parameter can be removed. (I also suspect that the method doesn't work 
> correctly if ever used in an insert operation, since it calls 
> latchPage(RowPosition) which will unlatch the page if the row isn't found on 
> the page, and I assume that a row that is about to be inserted does not exist 
> yet.)

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

Reply via email to