phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <j...@apache.org>
Subject [jira] [Created] (PHOENIX-1016) Support MINVALUE, MAXVALUE, and CYCLE options in CREATE SEQUENCE
Date Tue, 03 Jun 2014 01:12:01 GMT
James Taylor created PHOENIX-1016:
-------------------------------------

             Summary: Support MINVALUE, MAXVALUE, and CYCLE options in CREATE SEQUENCE
                 Key: PHOENIX-1016
                 URL: https://issues.apache.org/jira/browse/PHOENIX-1016
             Project: Phoenix
          Issue Type: Bug
            Reporter: James Taylor


We currently don't support MINVALUE, MAXVALUE, and CYCLE options in CREATE SEQUENCE, but we
should. See http://msdn.microsoft.com/en-us/library/ff878091.aspx for the syntax.

I believe MINVALUE applies if the INCREMENT is negative while MAXVALUE applies otherwise.
If the value of a sequence goes beyond MINVALUE/MAXVALUE, then:
- if CYCLE is true, then the sequence value should start again at the START WITH value (or
the MINVALUE if specified too? Not sure about this).
- if CYCLE is false, then an exception should be thrown.

To implement this:
- make the grammar changes in PhoenixSQL.g
- add member variables for MINVALUE, MAXVALUE, and CYCLE to CreateSequenceStatement
- add the appropriate error checking and handle bind variables for these new options in CreateSequenceCompiler
- modify the MetaDataClient.createSequence() call by passing along these new parameters.
- same for ConnectionQueryServices.createSequence() call
- same for Sequence.createSequence().
- pass along these parameters as new KeyValues in the Append that constitutes the RPC call
- act on these in the SequenceRegionObserver coprocessor as indicated above.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message