Hi Deven,

I will address the needed updates a bit later.

Thank you for your input

Best
Lance
On Oct 29, 2012, at 3:51 AM, Deven You wrote:

> Hi Alan,
> 
> The Java Spec does not mention the thread safe for JDBC API. But I see the 
> other code in SerialBlob/SerialClob have not consider it.
> 
> I think use buff == null to replace isFree is a good idea because it also 
> avoid the problem for the condition buf == null && isFree == false so we 
> won't need create a readObject method.
> 
> Thanks for your suggestion for isFree, I will correct it later.
> 
> Lance: How about your suggestion? Since you mentioned you will develop the 
> implementation yourself. I use my implementation mainly for the test cases. 
> But you may also take a look my implementation.
> 
> Thanks a lot!
> 
> On 09/21/2012 04:37 PM, Alan Bateman wrote:
>> On 21/09/2012 04:21, Deven You wrote:
>>> Hi Lance,
>>> 
>>> I am very busy with other work so I can't work with the 
>>> SerialBlob/SerialClob item for long time. I am very happy to refine the 
>>> current test case and create new tests for SerialClob.
>>> 
>>> I have create a new webre[1] for this task, please review it.
>>> 
>>> [1] http://cr.openjdk.java.net/~youdwei/OJDK-576/webrev.01/ 
>>> <http://cr.openjdk.java.net/%7Eyoudwei/OJDK-576/webrev.01/>
>>> 
>>> PS: If the isFree is not transient, I want to know how we add this field to 
>>> the javadoc serialized form?
>> I don't know very much about the rowset API and I can't see anything to 
>> specify whether it is meant to be safe for use by concurrent threads. There 
>> are clearly lots of issues here and implementing free introduces a lot more, 
>> especially with the possibility of an asynchronous free or more than one 
>> thread calling free at around the same time.
>> 
>> Have you considered "buf == null" to mean that the resources are freed? That 
>> might avoid needing to change the serialized form. Also as these types are 
>> serializable it means you have to consider the case where you deserialize to 
>> buf == null && isFree == false for example. On that point, it looks to me 
>> that this code needs a readObject anyway (for several reasons).
>> 
>> A small point is that "isFree" is a odd name for a method that doesn't 
>> return a boolean. If the patch goes ahead then I think it needs a better 
>> name, ensureNotFree or requireNotFree or something like that.
>> 
>> -Alan.
>> 
> 

Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering 
1 Network Drive 
Burlington, MA 01803
lance.ander...@oracle.com

Reply via email to