[
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.