[
https://issues.apache.org/jira/browse/DERBY-3574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12586391#action_12586391
]
Tiago R. Espinha commented on DERBY-3574:
-----------------------------------------
I have read your solution for this issue although I have thought of something
different, and perhaps you can tell me which would be more correct. Keep in
mind I still haven't tested this one solution either.
What if instead of setting lengthObtained_ to false in a free() method on the
Lob, we would, instead, extract the isValid property of Clob and Blob to its
parent class, the Lob and set it to false on that free() method?
Then when we call sqlLength() on the Lob we could do something like:
if(lengthObtained_ && isValid) return sqlLength_;
I'm just suggesting this solution because it seems more correct to me than just
resetting lengthObtained_ to false. By doing this we're pretty much just
fooling the mechanism that deals with cache instead of actually checking
whether the Lob is valid or not (i.e. whether it has been free()'d or not).
What method should I look into doing?
> With client, attempting to get the lob length after commit or connection
> close if there was a call to length() before commit does not throw an
> exception
> ----------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-3574
> URL: https://issues.apache.org/jira/browse/DERBY-3574
> Project: Derby
> Issue Type: Bug
> Components: JDBC, Network Client, Newcomer
> Affects Versions: 10.5.0.0
> Reporter: Kathey Marsden
> Assignee: Tiago R. Espinha
> Priority: Trivial
> Attachments: derby-3574.patch, TestLobLength.java
>
>
> Attempting to get call Blob/Clob.length() after commit or connection close
> does not fail if there was a previous call to length(). If no previous call
> was made an exception is thrown as expected.
> See attached program TestLobLength for repro with commit. If you comment out
> the two lines to get the length before the commit we get the expected
> exception.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.