db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "V.Narayanan (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-3574) 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
Date Mon, 07 Apr 2008 14:03:24 GMT

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

V.Narayanan commented on DERBY-3574:
------------------------------------

>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?

I think this is a very good solution because you do not need to make a stored procedure
call to determine that Lob is no longer valid. (unnecessary round trip to the server).

>Then when we call sqlLength() on the Lob we could do something like:
>if(lengthObtained_ && isValid) return sqlLength_; 

I think here if isValid is false you should do this

throw new SqlException(null,new ClientMessageId(SQLState.LOB_OBJECT_INVALID))
                                                  .getSQLException();



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


Mime
View raw message