You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Palmer Cox (JIRA)" <ji...@apache.org> on 2011/02/08 05:21:57 UTC

[jira] Updated: (OPENJPA-1376) @GeneratedValue allocationSize incorrect implementation

     [ https://issues.apache.org/jira/browse/OPENJPA-1376?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Palmer Cox updated OPENJPA-1376:
--------------------------------

    Attachment: cache-native-seq-values.diff

The attached patch modifies the NativeJDBCSeq class to make use of the increment parameter.  The modified class will only get the next value of the database sequence object once every increment number of invocations.

The patch also modifies the meta-data parsers to use the allocationSize parameter to the SequenceGenerator's to set the increment size.

> @GeneratedValue allocationSize incorrect implementation
> -------------------------------------------------------
>
>                 Key: OPENJPA-1376
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1376
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 1.2.1, 2.0.0-M3
>         Environment: All
>            Reporter: Yves
>            Priority: Critical
>         Attachments: cache-native-seq-values.diff
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> OpenJpa use allocationSize parameter on NativeJDBCSeq to set the sequence cache value.
> But one "JSR 220: Enterprise JavaBeansTM,Version 3.0" , the allocationSize is : "The amount to increment by when allocating sequence
> numbers from the sequence."
> Allocating is used to limit the number of access to the sequence or table not to set the sequence cache value !
> If allocationSize=50, the sequence need to be call one time on each 50 call on AbstractJDBCSeq.next().
> 1 call on AbstractJDBCSeq.next(). call the sequence or table 
> 2 call : return previous value + 1;
> 3 call : return previous value + 2;
> ...
> 51 call :re-call the sequence
> 52 return previous value + 1
> ...

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira