persistence@glassfish.java.net

Re: fix for 1193

From: Marina Vatkina <Marina.Vatkina_at_Sun.COM>
Date: Wed, 10 Jan 2007 15:46:57 -0800

Hello Chris,

Do I understand it correctly that java2db can be completely broken on all
databases and is definitely broken on Oracle for this pk type? If this is
the case, can you please file a bug?

thanks,
-marina

Christopher Delahunt wrote On 01/10/07 11:07,:
> Hello Marina,
>
> The fix was so that entities using byte[] and char[]'s as pks can be cached
> corretly to maintain object identity, and has nothing to do with platforms.
> The test I checked in to prove it works though requires an entity with
> byte[] as the pk. Oracle does not allow blobs or long raws as primary keys,
> so I had to write the table creator to create the table using a RAW type -
> which may/may not work on other databases.
>
> Using byte[]/char[] will work using java2db on any database if the type it
> converts to is allowed to be a pk on that database. Oracle is one that it
> won't work on because byte[] is mapped to long raw, hence I created the
> field with a Raw instead of letting the platform choose a type.
>
> Regards,
> Chris
>
> ----- Original Message -----
> From: "Marina Vatkina" <Marina.Vatkina_at_Sun.COM>
> To: <persistence_at_glassfish.dev.java.net>
> Sent: Wednesday, January 10, 2007 1:31 PM
> Subject: Re: fix for 1193
>
>
>
>>Chris,
>>
>>I'm not sure I understand the comment.
>>Does this change enables byte[] and char[] pk support for Oracle only?
>>Will java2db work for the above types? Will it work on Oracle only?
>>
>>thanks,
>>-marina
>>
>>Christopher Delahunt wrote:
>>
>>>Short Description: bug fix 1193 allowing byte[] and char[] types to be
>>>used as pks
>>>Code reviewed by: Tom Ware
>>>Tests added: PrimitiveArrayPKCachingJUnitTestCase
>>>Comment: Fix as suggested by Adam Leftik. The tests only configured to
>>>run on Oracle, since the table creator for the test uses a raw type for
>>>the pk.
>>