Package org.hibernate.dialect.sequence
Class TiDBSequenceSupport
- java.lang.Object
-
- org.hibernate.dialect.sequence.TiDBSequenceSupport
-
- All Implemented Interfaces:
SequenceSupport
public class TiDBSequenceSupport extends Object implements SequenceSupport
Sequence support forTiDBDialect.
-
-
Field Summary
Fields Modifier and Type Field Description static SequenceSupportINSTANCE
-
Constructor Summary
Constructors Constructor Description TiDBSequenceSupport()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetCreateSequenceString(String sequenceName, int initialValue, int incrementSize)Typically dialects which support sequences can create a sequence with a single command.StringgetDropSequenceString(String sequenceName)Typically dialects which support sequences can drop a sequence with a single command.StringgetSelectSequenceNextValString(String sequenceName)Generate the select expression fragment that will retrieve the next value of a sequence as part of another (typically DML) statement.StringgetSelectSequencePreviousValString(String sequenceName)Generate the select expression fragment that will retrieve the previous value of a sequence as part of another (typically DML) statement.booleansometimesNeedsStartingValue()Do we need to explicitly specifyminvalueormaxvaluewhen the initial value doesn't have the same sign as the increment?-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.dialect.sequence.SequenceSupport
getCreateSequenceString, getCreateSequenceStrings, getDropSequenceStrings, getFromDual, getSequenceNextValString, getSequenceNextValString, getSequencePreviousValString, startingValue, supportsPooledSequences, supportsSequences
-
-
-
-
Field Detail
-
INSTANCE
public static final SequenceSupport INSTANCE
-
-
Method Detail
-
getSelectSequenceNextValString
public String getSelectSequenceNextValString(String sequenceName)
Description copied from interface:SequenceSupportGenerate the select expression fragment that will retrieve the next value of a sequence as part of another (typically DML) statement.This differs from
SequenceSupport.getSequenceNextValString(String)in that it must return an expression usable within another statement.- Specified by:
getSelectSequenceNextValStringin interfaceSequenceSupport- Parameters:
sequenceName- the name of the sequence- Returns:
- The "next value" fragment.
-
getSelectSequencePreviousValString
public String getSelectSequencePreviousValString(String sequenceName) throws MappingException
Description copied from interface:SequenceSupportGenerate 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:
getSelectSequencePreviousValStringin interfaceSequenceSupport- 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:SequenceSupportDo we need to explicitly specifyminvalueormaxvaluewhen the initial value doesn't have the same sign as the increment?- Specified by:
sometimesNeedsStartingValuein interfaceSequenceSupport
-
getCreateSequenceString
public String getCreateSequenceString(String sequenceName, int initialValue, int incrementSize) throws MappingException
Description copied from interface:SequenceSupportTypically dialects which support sequences can create a sequence with a single command. This method is a convenience making it easier to implementSequenceSupport.getCreateSequenceStrings(String,int,int)for these dialects.Overloaded form of
The default definition is to suffixSequenceSupport.getCreateSequenceString(String), additionally taking the initial value and increment size to be applied to the sequence definition.SequenceSupport.getCreateSequenceString(String)with the string:start with initialValue increment by incrementSizefor the argumentsinitialValueandincrementSize. Dialects need to override this method if different key phrases are used to apply the allocation information.- Specified by:
getCreateSequenceStringin interfaceSequenceSupport- Parameters:
sequenceName- The name of the sequenceinitialValue- The initial value to apply to 'create sequence' statementincrementSize- The increment value to apply to 'create sequence' statement- Returns:
- The sequence creation command
- Throws:
MappingException- If sequences are not supported.
-
getDropSequenceString
public String getDropSequenceString(String sequenceName)
Description copied from interface:SequenceSupportTypically dialects which support sequences can drop a sequence with a single command. This is convenience form ofSequenceSupport.getDropSequenceStrings(java.lang.String)to help facilitate that.Dialects which support sequences and can drop a sequence in a single command need *only* override this method. Dialects which support sequences but require multiple commands to drop a sequence should instead override
SequenceSupport.getDropSequenceStrings(java.lang.String).- Specified by:
getDropSequenceStringin interfaceSequenceSupport- Parameters:
sequenceName- The name of the sequence- Returns:
- The sequence drop commands
-
-