persistence@glassfish.java.net

Re: REquest for review of code changes

From: Tom Ware <tom.ware_at_oracle.com>
Date: Wed, 15 Feb 2006 14:54:44 -0500

Hi Pramod,

  I have run some testing on the change to OraclePlatfrom and there is
an issue that needs to be resolved.

  The change eliminates an important default which breaks backward
compatibility of TopLink for users using core TopLink table creation.
(rather than the GlassFish java2db). We rely on the existence of a
default subsize when we create tables. We need to find a solution that
allows us to still maintain a default for this value.

-Tom

Pramod Gopinath wrote:

>Hi Tom
>
>Yes the oracle testing was done on a clean db. I ensured that the oracle
>connection that I use here for testing did not contain any tables or
>sequences before I ran the entity-persistence-tests.
>
>No the SequenceGenerator in persistence-api was not changed. I just
>ensured that the initial value in Sequence.java was set to 1 in
>anticipation of the proposed change.
>
>Thanks
>Pramod
>
>Tom Ware wrote:
>
>
>>Hi Pramod,
>>
>> Some comments and questions.
>>
>>1. Was your oracle testing run on a clean db? It will take a clean DB
>>to guarantee the Oracle Sequencing changes you made work.
>>
>>2. Has the SequenceGenerator in persistence-api been changed so the
>>initial value complies with the new value in spec.? This will have to
>>occur before these changes can be checked in.
>>
>>3. I will have to run a larger set of tests on the change to
>>OraclePlatform. I will do that and get back to you.
>>
>>-Tom
>>
>>Pramod Gopinath wrote:
>>
>>
>>
>>>Hi Tom
>>> Could you take a look at the code changes that I am sending as part
>>>of this email. The issues that are being addressed as part of these
>>>changes are
>>>
>>>1. Issue 98: DDL generation should not generate NUMBER sql type for
>>>a float Java type.
>>>Files affected :
>>>entity-persistence/src/java/oracle/toplink/essentials/platform/database/oracle/OraclePlatform.java
>>>
>>>
>>>2. Issue 104: Wrong column type defined for Long using java2db in Derby.
>>>Files affected :
>>>entity-persistence/src/java/oracle/toplink/essentials/platform/database/DerbyPlatform.java
>>>
>>>
>>>3. Additionally changed the PostgreSQLPlatform too to ensure that the
>>>Long and Number fields are created with the correct datatypes.
>>>Files affected :
>>>entity-persistence/src/java/oracle/toplink/essentials/platform/database/PostgreSQLPlatform.java
>>>
>>>
>>>4. Based on your previous email, as the spec has been changed to
>>>ensure that the initialValue of a sequence is 1, ensured that changes
>>>are made to the code to reflect this.
>>>Files affected :
>>>entity-persistence/src/java/oracle/toplink/essentials/sequencing/Sequence.java
>>>
>>>entity-persistence/src/java/oracle/toplink/essentials/tools/schemaframework/OracleSequenceDefinition.java
>>>
>>>
>>>
>>>Have also attached the cvs diff messages for these files. I have run
>>>entity-persistence-tests against Oracle for these changes.
>>>Additionally have run the "datatypes" test case that has been
>>>attached to the issue report against Oracle , Derby and PostgreSQL.
>>>
>>>Thanks
>>>Pramod
>>>
>>>
>>>
>>>
>>>

-- 
Tom Ware
Principal Software Engineer
Oracle Canada Inc.
Direct: (613) 783-4598
Email: tom.ware_at_oracle.com