[ 
https://issues.apache.org/jira/browse/DERBY-5151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13011534#comment-13011534
 ] 

Mike Matrigali commented on DERBY-5151:
---------------------------------------

To me it seems like the discussion is upside down.  It would be good to get a 
clear description of what behavior of SEQUENCES is actually desired, and then 
talk about implementation/syntax.  Tweaking some syntax that tunes an 
underlying knob doesn't really explain to a user what behavior is being 
guaranteed.

current sequences are described by the sql standard such that implementations 
can efficiently execute concurrently in a multi-user scenario - and thus there 
are no transactional guarantees on "holes".  

Some of the requirements I am not understanding are what kind of cross thread 
performance are you looking for as a tradeoff on minimizing holes.  What is the 
actual expectation of setting cache to 1.  It obviously currently has the 
effect of not losing as many values on shutdown, but is an application using it 
guaranteed anything?   I would like to 
understand what the system is committing to if the various syntaxes are 
supported.  Not only for what the system happens to do today but what it might 
need to support in the future if we look to do work to make SEQUENCES perform 
better in the future.  

> Sequence without cache
> ----------------------
>
>                 Key: DERBY-5151
>                 URL: https://issues.apache.org/jira/browse/DERBY-5151
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>            Reporter: Mark Holster
>         Attachments: sequence-no-cache.patch
>
>
> Currently, a sequence in Derby always uses a pre allocating cache. I'm 
> working on an usecase which requires a number to increase with a fixed value. 
> The usecase fails after a restart because of the pre allocating cache.
> I've created a patch that adds the options CACHE | NO CACHE to the create 
> sequence statement. When no cache is provided, the pre allocating cache size 
> will be set to 1, which results in a "no cache sequence".
> I've followed the CYCLE | NO CYCLE code as much as possible. Tested it in my 
> own app and it seems to work fine.

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

Reply via email to