Class MariaDBSequenceSupport

java.lang.Object
org.hibernate.dialect.sequence.ANSISequenceSupport
org.hibernate.dialect.sequence.MariaDBSequenceSupport
All Implemented Interfaces:
SequenceSupport

public final class MariaDBSequenceSupport extends ANSISequenceSupport
Sequence support for MariaDBDialect.
  • Field Details

  • Constructor Details

    • MariaDBSequenceSupport

      public MariaDBSequenceSupport()
  • Method Details

    • getCreateSequenceString

      public String getCreateSequenceString(String sequenceName) throws MappingException
      Description copied from interface: SequenceSupport
      Typically dialects which support sequences can create a sequence with a single command. This method is a convenience making it easier to implement SequenceSupport.getCreateSequenceStrings(String,int,int) for these dialects.

      The default definition is to return create sequence sequenceName for the argument sequenceName. Dialects need to override this method if a sequence created in this manner does not start at 1, or if the syntax is nonstandard.

      Dialects which support sequences and can create a sequence in a single command need *only* override this method. Dialects which support sequences but require multiple commands to create a sequence should override SequenceSupport.getCreateSequenceStrings(String,int,int) instead.

      Parameters:
      sequenceName - The name of the sequence
      Returns:
      The sequence creation command
      Throws:
      MappingException - If sequences are not supported.
    • getCreateSequenceString

      public String getCreateSequenceString(String sequenceName, int initialValue, int incrementSize) throws MappingException
      Description copied from interface: SequenceSupport
      Typically dialects which support sequences can create a sequence with a single command. This method is a convenience making it easier to implement SequenceSupport.getCreateSequenceStrings(String,int,int) for these dialects.

      Overloaded form of SequenceSupport.getCreateSequenceString(String), additionally taking the initial value and increment size to be applied to the sequence definition.

      The default definition is to suffix SequenceSupport.getCreateSequenceString(String) with the string: start with initialValue increment by incrementSize for the arguments initialValue and incrementSize. Dialects need to override this method if different key phrases are used to apply the allocation information.
      Parameters:
      sequenceName - The name of the sequence
      initialValue - The initial value to apply to 'create sequence' statement
      incrementSize - The increment value to apply to 'create sequence' statement
      Returns:
      The sequence creation command
      Throws:
      MappingException - If sequences are not supported.
    • getSelectSequencePreviousValString

      public String getSelectSequencePreviousValString(String sequenceName) throws MappingException
      Description copied from interface: SequenceSupport
      Generate the select expression fragment that will retrieve the previous value of a sequence as part of another (typically DML) statement.

      This differs from SequenceSupport.getSequencePreviousValString(String) in that it must return an expression usable within another statement.

      Specified by:
      getSelectSequencePreviousValString in interface SequenceSupport
      Overrides:
      getSelectSequencePreviousValString in class ANSISequenceSupport
      Parameters:
      sequenceName - the name of the sequence
      Returns:
      The "previous value" fragment.
      Throws:
      MappingException - If sequences are not supported.
    • sometimesNeedsStartingValue

      public boolean sometimesNeedsStartingValue()
      Description copied from interface: SequenceSupport
      Do we need to explicitly specify minvalue or maxvalue when the initial value doesn't have the same sign as the increment?