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 SequenceSupport
INSTANCE
-
Constructor Summary
Constructors Constructor Description TiDBSequenceSupport()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getCreateSequenceString(String sequenceName, int initialValue, int incrementSize)
Typically dialects which support sequences can create a sequence with a single command.String
getDropSequenceString(String sequenceName)
Typically dialects which support sequences can drop a sequence with a single command.String
getSelectSequenceNextValString(String sequenceName)
Generate the select expression fragment that will retrieve the next value of a sequence as part of another (typically DML) statement.String
getSelectSequencePreviousValString(String sequenceName)
Generate the select expression fragment that will retrieve the previous value of a sequence as part of another (typically DML) statement.boolean
sometimesNeedsStartingValue()
Do we need to explicitly specifyminvalue
ormaxvalue
when 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:SequenceSupport
Generate 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:
getSelectSequenceNextValString
in 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: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 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:SequenceSupport
Do we need to explicitly specifyminvalue
ormaxvalue
when the initial value doesn't have the same sign as the increment?- Specified by:
sometimesNeedsStartingValue
in interfaceSequenceSupport
-
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 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 incrementSize
for the argumentsinitialValue
andincrementSize
. Dialects need to override this method if different key phrases are used to apply the allocation information.- Specified by:
getCreateSequenceString
in 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:SequenceSupport
Typically 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:
getDropSequenceString
in interfaceSequenceSupport
- Parameters:
sequenceName
- The name of the sequence- Returns:
- The sequence drop commands
-
-