Class SequenceOptions

java.lang.Object
org.h2.command.ddl.SequenceOptions

public class SequenceOptions extends Object
Sequence options.
  • Field Details

  • Constructor Details

    • SequenceOptions

      public SequenceOptions()
      Creates new instance of sequence options.
    • SequenceOptions

      public SequenceOptions(Sequence oldSequence, TypeInfo dataType)
      Creates new instance of sequence options.
      Parameters:
      oldSequence - the sequence to copy options from
      dataType - the new data type
  • Method Details

    • getLong

      private static Long getLong(SessionLocal session, Expression expr)
    • getDataType

      public TypeInfo getDataType()
    • copyFromOldSequence

      private void copyFromOldSequence()
    • setDataType

      public void setDataType(TypeInfo dataType)
    • getStartValue

      public Long getStartValue(SessionLocal session)
      Gets start value.
      Parameters:
      session - The session to calculate the value.
      Returns:
      start value or null if value is not defined.
    • setStartValue

      public void setStartValue(Expression start)
      Sets start value expression.
      Parameters:
      start - START WITH value expression.
    • getRestartValue

      public Long getRestartValue(SessionLocal session, long startValue)
      Gets restart value.
      Parameters:
      session - the session to calculate the value
      startValue - the start value to use if restart without value is specified
      Returns:
      restart value or null if value is not defined.
    • setRestartValue

      public void setRestartValue(Expression restart)
      Sets restart value expression, or ValueExpression.DEFAULT.
      Parameters:
      restart - RESTART WITH value expression, or ValueExpression.DEFAULT for simple RESTART
    • getIncrement

      public Long getIncrement(SessionLocal session)
      Gets increment value.
      Parameters:
      session - The session to calculate the value.
      Returns:
      increment value or null if value is not defined.
    • setIncrement

      public void setIncrement(Expression increment)
      Sets increment value expression.
      Parameters:
      increment - INCREMENT BY value expression.
    • getMaxValue

      public Long getMaxValue(Sequence sequence, SessionLocal session)
      Gets max value.
      Parameters:
      sequence - the sequence to get default max value.
      session - The session to calculate the value.
      Returns:
      max value when the MAXVALUE expression is set, otherwise returns default max value.
    • setMaxValue

      public void setMaxValue(Expression maxValue)
      Sets max value expression.
      Parameters:
      maxValue - MAXVALUE expression.
    • getMinValue

      public Long getMinValue(Sequence sequence, SessionLocal session)
      Gets min value.
      Parameters:
      sequence - the sequence to get default min value.
      session - The session to calculate the value.
      Returns:
      min value when the MINVALUE expression is set, otherwise returns default min value.
    • setMinValue

      public void setMinValue(Expression minValue)
      Sets min value expression.
      Parameters:
      minValue - MINVALUE expression.
    • check

      private Long check(Long value)
    • getBounds

      public long[] getBounds()
    • getBounds

      public static long[] getBounds(TypeInfo dataType)
      Get the bounds (min, max) of a data type.
      Parameters:
      dataType - the data type
      Returns:
      the bounds (an array with 2 elements)
    • getCycle

      public Sequence.Cycle getCycle()
      Gets cycle option.
      Returns:
      cycle option value or null if is not defined.
    • setCycle

      public void setCycle(Sequence.Cycle cycle)
      Sets cycle option.
      Parameters:
      cycle - option value.
    • getCacheSize

      public Long getCacheSize(SessionLocal session)
      Gets cache size.
      Parameters:
      session - The session to calculate the value.
      Returns:
      cache size or null if value is not defined.
    • setCacheSize

      public void setCacheSize(Expression cacheSize)
      Sets cache size.
      Parameters:
      cacheSize - cache size.
    • getCurrentStart

      private long getCurrentStart(Sequence sequence, SessionLocal session)