[ http://issues.apache.org/jira/browse/OJB-66?page=all ]
Armin Waibel resolved OJB-66:
-----------------------------
Fix Version: 1.0.4
Resolution: Fixed
Add possibility to declare properties like 'START', 'INCREMENT BY',... for
database sequence creation.
> Allow to specify a sequence start element for SequenceManagerNextValImpl
> ------------------------------------------------------------------------
>
> Key: OJB-66
> URL: http://issues.apache.org/jira/browse/OJB-66
> Project: OJB
> Type: Improvement
> Components: PB-API, RDBMS platform-specific support
> Versions: 1.0.3
> Environment: Oracle 9i
> OJB 1.0.3
> JDK 1.4.2
> Reporter: Guillaume Laforge
> Fix For: 1.0.4
>
> SequenceManagerNextValImpl doesn't support the globalSequenceStart attribute.
> Thus all sequences start at 1, even though we may have inserted some sample
> data already.
> Not being able to start at >1 means we'll have errors when inserting new
> elements when sample data was already inserted.
> I'd like to be able to write:
> <sequence-manager
> className="org.apache.ojb.broker.util.sequence.SequenceManagerNextValImpl">
> <attribute attribute-name="autoNaming" attribute-value="true"/>
> <attribute attribute-name="globalSequenceStart" attribute-value="1000"/>
> </sequence-manager>
> I also noticed that the PlatformOracleImpl can only create "simple"
> sequences, though it'd be great if this (and other platforms) support a
> method which could be used to specify the sequence start.
> So that'd be great if there could be another method than:
> public String createSequenceQuery(String sequenceName)
> For instance:
> public String createSequenceQuery(String sequenceName, int sequenceStart)
> On Oracle 9i, we can create a sequence like:
> CREATE SEQUENCE FOOBAR_SEQ;
> That's what currently supported by the standard createSequenceQuery method,
> but it's also possible to create a more complex sequence with:
> CREATE SEQUENCE FOOBAR_SEQ START WITH 41 MAXVALUE 999999999999999999999999999
> MINVALUE 1 NOCYCLE CACHE 20 NOORDER;
> Or more simply:
> CREATE SEQUENCE FOOBAR_SEQ START WITH 41
> It may be interesting to be able to specify the other parameters as well, and
> we could probably reuse them when defining the sequence manager, with
> something like:
> <sequence-manager
> className="org.apache.ojb.broker.util.sequence.SequenceManagerNextValImpl">
> <attribute attribute-name="autoNaming" attribute-value="true"/>
> <attribute attribute-name="globalSequenceStart" attribute-value="1000"/>
> <attribute attribute-name="minValue" attribute-value="1000"/>
> <attribute attribute-name="maxValue" attribute-value="1000"/>
> <attribute attribute-name="noCycle"/>
> <attribute attribute-name="cache" attribute-value="20"/>
> <attribute attribute-name="noOrder"/>
> </sequence-manager>
> (cache 20 pre-computes 20 sequence ids and puts them in a cache, without
> requiring a new select)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]