Class DatasourcePlatform
- java.lang.Object
-
- org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
-
- All Implemented Interfaces:
Serializable
,Cloneable
,CorePlatform<ConversionManager>
,Platform
- Direct Known Subclasses:
DatabasePlatform
,EISPlatform
,XMLPlatform
public class DatasourcePlatform extends Object implements Platform
DatasourcePlatform is private to TopLink. It encapsulates behavior specific to a datasource platform (eg. Oracle, Sybase, DB2, Attunity, MQSeries), and provides protocol for TopLink to access this behavior.- Since:
- OracleAS TopLink 10g (10.0.3)
- See Also:
DatabasePlatform
,EISPlatform
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected ConversionManager
conversionManager
Allow for conversion to be customized in the platform.protected Hashtable
dataTypesConvertedFromAClass
Store the list of Classes that can be converted to from the key.protected Hashtable
dataTypesConvertedToAClass
Store the list of Classes that can be converted from to the key.protected boolean
defaultNativeSequenceToTable
If the native sequence type is not supported, if table sequencing should be used.protected boolean
defaultSeqenceAtNextValue
If sequences should start at Next Valueprotected Sequence
defaultSequence
Store default sequenceprotected String
endDelimiter
protected Map
platformOperators
Operators specific to this platformprotected Map<String,Sequence>
sequences
Store map of sequence names to sequencesprotected Object
sequencesLock
Ensures that only one thread at a time can add/remove sequencesprotected String
startDelimiter
Delimiter to use for fields and tables using spaces or other special valuesprotected String
tableQualifier
Supporting name scopes in database by prefixing the table names with the table qualifier/creator.protected ValueReadQuery
timestampQuery
Store the query use to query the current server time.
-
Constructor Summary
Constructors Constructor Description DatasourcePlatform()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addOperator(ExpressionOperator operator)
void
addSequence(Sequence sequence)
Add sequence corresponding to the namevoid
addSequence(Sequence sequence, boolean isSessionConnected)
Add sequence corresponding to the name.void
appendParameter(Call call, Writer writer, Object parameter)
Add the parameter.DatasourceCall
buildNativeCall(String queryString)
INTERNAL: Return the correct call type for the native query string.ValueReadQuery
buildSelectQueryForIdentity()
INTERNAL: Returns query used to read back the value generated by Identity.ValueReadQuery
buildSelectQueryForIdentity(String seqName, Integer size)
INTERNAL: Returns query used to read back the value generated by Identity.ValueReadQuery
buildSelectQueryForSequenceObject()
INTERNAL: Returns query used to read value generated by sequence object (like Oracle sequence).ValueReadQuery
buildSelectQueryForSequenceObject(String qualifiedSeqName, Integer size)
INTERNAL: Returns query used to read value generated by sequence object (like Oracle sequence).Object
clone()
Object
convertObject(Object sourceObject, Class javaClass)
Convert the object to the appropriate type by invoking the appropriate ConversionManager methodvoid
copyInto(Platform platform)
Copy the state into the new platform.ConnectionCustomizer
createConnectionCustomizer(Accessor accessor, AbstractSession session)
INTERNAL:Expression
createExpressionFor(DatabaseField field, Expression builder, String fieldClassificationClassName)
INTERNAL: Override this method if the platform needs to use a custom function based on the DatabaseFieldprotected Sequence
createPlatformDefaultSequence()
INTERNAL: Create platform-default SequenceConversionManager
getConversionManager()
The platform hold its own instance of conversion manager to allow customization.Object
getCustomModifyValueForCall(Call call, Object value, DatabaseField field, boolean shouldBind)
Allow for the platform to handle the representation of parameters specially.Vector
getDataTypesConvertedFrom(Class javaClass)
PUBLIC: Return the list of Classes that can be converted to from the passed in javaClass.Vector
getDataTypesConvertedTo(Class javaClass)
PUBLIC: Return the list of Classes that can be converted from to the passed in javaClass.boolean
getDefaultNativeSequenceToTable()
Return if the native sequence type is not supported, if table sequencing should be used.boolean
getDefaultSeqenceAtNextValue()
Return if the sequence generation should start at next value.Sequence
getDefaultSequence()
Get default sequenceSequence
getDefaultSequenceToWrite()
INTERNAL: Used only for writing into XML or Java.String
getEndDelimiter()
Delimiter to use for fields and tables using spaces or other special values.int
getINClauseLimit()
INTERNAL: Some database platforms have a limit for the number of parameters in an IN clause.ExpressionOperator
getOperator(int selector)
Return the operator for the operator constant defined in ExpressionOperator.Map
getPlatformOperators()
Return any platform-specific operatorsValueReadQuery
getSelectSequenceQuery()
OBSOLETE: This method lazy initializes the select sequence number query.Sequence
getSequence(String seqName)
Get sequence corresponding to the nameint
getSequencePreallocationSize()
Map<String,Sequence>
getSequences()
INTERNAL: Returns a map of sequence names to Sequences (may be null).Map<String,Sequence>
getSequencesToWrite()
INTERNAL: Used only for writing into XML or Java.String
getStartDelimiter()
Delimiter to use for fields and tables using spaces or other special values.String
getTableQualifier()
Return the qualifier for the table.Timestamp
getTimestampFromServer(AbstractSession session, String sessionName)
Answer the timestamp from the server.ValueReadQuery
getTimestampQuery()
This method can be overridden by subclasses to return a query that will return the timestamp from the server.DataModifyQuery
getUpdateSequenceQuery()
OBSOLETE: This method lazy initializes the update sequence number query.boolean
hasDefaultSequence()
Get default sequencevoid
initialize()
Allow the platform to initialize itself after login/init.void
initializeDefaultQueries(DescriptorQueryManager queryManager, AbstractSession session)
INTERNAL: Allow the platform to initialize the CRUD queries to defaults.protected void
initializePlatformOperators()
Initialize any platform-specific operatorsvoid
initIdentitySequences(Session session, String defaultIdentityGenerator)
INTERNAL: Initialize platform specific identity sequences.boolean
isAccess()
boolean
isAttunity()
boolean
isCloudscape()
boolean
isDB2()
boolean
isDB2Z()
boolean
isDBase()
boolean
isDerby()
boolean
isFirebird()
boolean
isH2()
boolean
isHANA()
boolean
isHSQL()
boolean
isInformix()
boolean
isMaxDB()
boolean
isMySQL()
boolean
isODBC()
boolean
isOracle()
boolean
isOracle12()
boolean
isOracle9()
boolean
isPervasive()
boolean
isPointBase()
boolean
isPostgreSQL()
boolean
isSQLAnywhere()
boolean
isSQLServer()
boolean
isSybase()
boolean
isSymfoware()
boolean
isTimesTen()
boolean
isTimesTen7()
void
removeAllSequences()
Remove all sequences, but the default one.void
removeIdentitySequences(Session session, String defaultIdentityGenerator, Set<String> tableNames)
INTERNAL: Remove platform specific identity sequences for specified tables.Sequence
removeSequence(String seqName)
Remove sequence corresponding to name.protected void
sequencesAfterCloneCleanup()
void
setConversionManager(ConversionManager conversionManager)
The platform hold its own instance of conversion manager to allow customization.void
setDefaultNativeSequenceToTable(boolean defaultNativeSequenceToTable)
Set if the native sequence type is not supported, if table sequencing should be used.void
setDefaultSeqenceAtNextValue(boolean defaultSeqenceAtNextValue)
Set if the sequence generation should start at next value.void
setDefaultSequence(Sequence sequence)
Set default sequence.void
setEndDelimiter(String endDelimiter)
Delimiter to use for fields and tables using spaces or other special values.void
setSelectSequenceNumberQuery(ValueReadQuery seqQuery)
OBSOLETE: Can override the default query for returning the sequence numbers.void
setSequencePreallocationSize(int size)
Set the number of sequence values to preallocate.void
setSequences(Map sequences)
INTERNAL: Sets sequences - for XML support onlyvoid
setStartDelimiter(String startDelimiter)
Delimiter to use for fields and tables using spaces or other special values.void
setTableQualifier(String qualifier)
Set the qualifier for the table.void
setTimestampQuery(ValueReadQuery tsQuery)
Can override the default query for returning a timestamp from the server.void
setUpdateSequenceQuery(DataModifyQuery updateSequenceNumberQuery)
This method sets the update sequence number query.boolean
shouldNativeSequenceUseTransaction()
INTERNAL: Indicates whether a separate transaction is required for NativeSequence.boolean
shouldPrepare(DatabaseQuery query)
Allows query prepare to be disable in the platform.boolean
shouldSelectDistinctIncludeOrderBy()
Return if the database requires the ORDER BY fields to be part of the select clause.boolean
shouldSelectIncludeOrderBy()
Return if the database requires the ORDER BY fields to be part of the select clause.boolean
shouldUseCustomModifyForCall(DatabaseField field)
Used by SQLCall.appendModify(..) If the field should be passed to customModifyInDatabaseCall, retun true, otherwise false.boolean
supportsIdentity()
INTERNAL: Indicates whether the platform supports identity.boolean
supportsNativeSequenceNumbers()
boolean
supportsSequenceObjects()
INTERNAL: Indicates whether the platform supports sequence objects.String
toString()
boolean
usesPlatformDefaultSequence()
INTERNAL: Indicates whether defaultSequence is the same as platform default sequence.
-
-
-
Field Detail
-
tableQualifier
protected String tableQualifier
Supporting name scopes in database by prefixing the table names with the table qualifier/creator.
-
conversionManager
protected transient ConversionManager conversionManager
Allow for conversion to be customized in the platform.
-
timestampQuery
protected ValueReadQuery timestampQuery
Store the query use to query the current server time.
-
platformOperators
protected transient Map platformOperators
Operators specific to this platform
-
dataTypesConvertedFromAClass
protected Hashtable dataTypesConvertedFromAClass
Store the list of Classes that can be converted to from the key.
-
dataTypesConvertedToAClass
protected Hashtable dataTypesConvertedToAClass
Store the list of Classes that can be converted from to the key.
-
defaultSequence
protected Sequence defaultSequence
Store default sequence
-
startDelimiter
protected String startDelimiter
Delimiter to use for fields and tables using spaces or other special values
-
endDelimiter
protected String endDelimiter
-
sequencesLock
protected Object sequencesLock
Ensures that only one thread at a time can add/remove sequences
-
defaultNativeSequenceToTable
protected boolean defaultNativeSequenceToTable
If the native sequence type is not supported, if table sequencing should be used.
-
defaultSeqenceAtNextValue
protected boolean defaultSeqenceAtNextValue
If sequences should start at Next Value
-
-
Method Detail
-
getDefaultNativeSequenceToTable
public boolean getDefaultNativeSequenceToTable()
Return if the native sequence type is not supported, if table sequencing should be used.
-
setDefaultNativeSequenceToTable
public void setDefaultNativeSequenceToTable(boolean defaultNativeSequenceToTable)
Set if the native sequence type is not supported, if table sequencing should be used.
-
getDefaultSeqenceAtNextValue
public boolean getDefaultSeqenceAtNextValue()
Return if the sequence generation should start at next value.
-
setDefaultSeqenceAtNextValue
public void setDefaultSeqenceAtNextValue(boolean defaultSeqenceAtNextValue)
Set if the sequence generation should start at next value.
-
addOperator
protected void addOperator(ExpressionOperator operator)
-
appendParameter
public void appendParameter(Call call, Writer writer, Object parameter)
Add the parameter. Convert the parameter to a string and write it.- Specified by:
appendParameter
in interfacePlatform
-
getCustomModifyValueForCall
public Object getCustomModifyValueForCall(Call call, Object value, DatabaseField field, boolean shouldBind)
Allow for the platform to handle the representation of parameters specially.- Specified by:
getCustomModifyValueForCall
in interfacePlatform
-
shouldUseCustomModifyForCall
public boolean shouldUseCustomModifyForCall(DatabaseField field)
Used by SQLCall.appendModify(..) If the field should be passed to customModifyInDatabaseCall, retun true, otherwise false. Methods shouldCustomModifyInDatabaseCall and customModifyInDatabaseCall should be kept in sync: shouldCustomModifyInDatabaseCall should return true if and only if the field is handled by customModifyInDatabaseCall.- Specified by:
shouldUseCustomModifyForCall
in interfacePlatform
-
clone
public Object clone()
-
sequencesAfterCloneCleanup
protected void sequencesAfterCloneCleanup()
-
convertObject
public Object convertObject(Object sourceObject, Class javaClass) throws ConversionException
Convert the object to the appropriate type by invoking the appropriate ConversionManager method- Specified by:
convertObject
in interfaceCorePlatform<ConversionManager>
- Specified by:
convertObject
in interfacePlatform
- Parameters:
sourceObject
- the object that must be convertedjavaClass
- the class that the object must be converted to- Returns:
- the newly converted object
- Throws:
ConversionException
- all exceptions will be thrown as this type.
-
copyInto
public void copyInto(Platform platform)
Copy the state into the new platform.
-
getConversionManager
public ConversionManager getConversionManager()
The platform hold its own instance of conversion manager to allow customization.- Specified by:
getConversionManager
in interfaceCorePlatform<ConversionManager>
- Specified by:
getConversionManager
in interfacePlatform
-
setConversionManager
public void setConversionManager(ConversionManager conversionManager)
The platform hold its own instance of conversion manager to allow customization.- Specified by:
setConversionManager
in interfacePlatform
-
getEndDelimiter
public String getEndDelimiter()
Delimiter to use for fields and tables using spaces or other special values. Some databases use different delimiters for the beginning and end of the value. This delimiter indicates the end of the value.- Specified by:
getEndDelimiter
in interfacePlatform
-
setEndDelimiter
public void setEndDelimiter(String endDelimiter)
Delimiter to use for fields and tables using spaces or other special values. Some databases use different delimiters for the beginning and end of the value. This delimiter indicates the end of the value.
-
getOperator
public ExpressionOperator getOperator(int selector)
Return the operator for the operator constant defined in ExpressionOperator.
-
getPlatformOperators
public Map getPlatformOperators()
Return any platform-specific operators
-
getSelectSequenceQuery
public ValueReadQuery getSelectSequenceQuery()
OBSOLETE: This method lazy initializes the select sequence number query. It allows for other queries to be used instead of the default one.
-
getSequencePreallocationSize
public int getSequencePreallocationSize()
-
getStartDelimiter
public String getStartDelimiter()
Delimiter to use for fields and tables using spaces or other special values. Some databases use different delimiters for the beginning and end of the value. This delimiter indicates the start of the value.- Specified by:
getStartDelimiter
in interfacePlatform
-
setStartDelimiter
public void setStartDelimiter(String startDelimiter)
Delimiter to use for fields and tables using spaces or other special values. Some databases use different delimiters for the beginning and end of the value. This delimiter indicates the start of the value.
-
getTableQualifier
public String getTableQualifier()
Return the qualifier for the table. Required by some databases such as Oracle and DB2- Specified by:
getTableQualifier
in interfacePlatform
-
getTimestampFromServer
public Timestamp getTimestampFromServer(AbstractSession session, String sessionName)
Answer the timestamp from the server.- Specified by:
getTimestampFromServer
in interfacePlatform
-
getTimestampQuery
public ValueReadQuery getTimestampQuery()
This method can be overridden by subclasses to return a query that will return the timestamp from the server. return null if the time should be the local time.- Specified by:
getTimestampQuery
in interfacePlatform
-
getUpdateSequenceQuery
public DataModifyQuery getUpdateSequenceQuery()
OBSOLETE: This method lazy initializes the update sequence number query. It allows for other queries to be used instead of the default one.
-
initializePlatformOperators
protected void initializePlatformOperators()
Initialize any platform-specific operators
-
initializeDefaultQueries
public void initializeDefaultQueries(DescriptorQueryManager queryManager, AbstractSession session)
INTERNAL: Allow the platform to initialize the CRUD queries to defaults. This is mainly used by EIS platforms, but could be used by relational ones for special behavior.
-
isAttunity
public boolean isAttunity()
- Specified by:
isAttunity
in interfacePlatform
-
isCloudscape
public boolean isCloudscape()
- Specified by:
isCloudscape
in interfacePlatform
-
isInformix
public boolean isInformix()
- Specified by:
isInformix
in interfacePlatform
-
isOracle12
public boolean isOracle12()
- Specified by:
isOracle12
in interfacePlatform
-
isPervasive
public boolean isPervasive()
-
isPostgreSQL
public boolean isPostgreSQL()
- Specified by:
isPostgreSQL
in interfacePlatform
-
isPointBase
public boolean isPointBase()
- Specified by:
isPointBase
in interfacePlatform
-
isSQLAnywhere
public boolean isSQLAnywhere()
- Specified by:
isSQLAnywhere
in interfacePlatform
-
isFirebird
public boolean isFirebird()
-
isSQLServer
public boolean isSQLServer()
- Specified by:
isSQLServer
in interfacePlatform
-
isSymfoware
public boolean isSymfoware()
- Specified by:
isSymfoware
in interfacePlatform
-
isTimesTen
public boolean isTimesTen()
- Specified by:
isTimesTen
in interfacePlatform
-
isTimesTen7
public boolean isTimesTen7()
- Specified by:
isTimesTen7
in interfacePlatform
-
initialize
public void initialize()
Allow the platform to initialize itself after login/init.- Specified by:
initialize
in interfacePlatform
-
setSelectSequenceNumberQuery
public void setSelectSequenceNumberQuery(ValueReadQuery seqQuery)
OBSOLETE: Can override the default query for returning the sequence numbers. This query must be a valid query that has one parameter which is the sequence name.
-
setSequencePreallocationSize
public void setSequencePreallocationSize(int size)
Set the number of sequence values to preallocate. Preallocating sequence values can greatly improve insert performance.
-
setTableQualifier
public void setTableQualifier(String qualifier)
Set the qualifier for the table. Required by some databases such as Oracle and DB2- Specified by:
setTableQualifier
in interfacePlatform
-
setTimestampQuery
public void setTimestampQuery(ValueReadQuery tsQuery)
Can override the default query for returning a timestamp from the server. See: getTimestampFromServer- Specified by:
setTimestampQuery
in interfacePlatform
-
setUpdateSequenceQuery
public void setUpdateSequenceQuery(DataModifyQuery updateSequenceNumberQuery)
This method sets the update sequence number query. It allows for other queries to be used instead of the default one.
-
getDataTypesConvertedFrom
public Vector getDataTypesConvertedFrom(Class javaClass)
PUBLIC: Return the list of Classes that can be converted to from the passed in javaClass.- Parameters:
javaClass
- - the class that is converted from- Returns:
- - a vector of classes
-
getDataTypesConvertedTo
public Vector getDataTypesConvertedTo(Class javaClass)
PUBLIC: Return the list of Classes that can be converted from to the passed in javaClass.- Parameters:
javaClass
- - the class that is converted to- Returns:
- - a vector of classes
-
getDefaultSequence
public Sequence getDefaultSequence()
Get default sequence- Specified by:
getDefaultSequence
in interfacePlatform
-
hasDefaultSequence
public boolean hasDefaultSequence()
Get default sequence
-
setDefaultSequence
public void setDefaultSequence(Sequence sequence)
Set default sequence. In case the passed sequence is of type DefaultSequence - use platformDefaultSequence with name and size of the passed sequence.- Specified by:
setDefaultSequence
in interfacePlatform
-
addSequence
public void addSequence(Sequence sequence)
Add sequence corresponding to the name- Specified by:
addSequence
in interfacePlatform
-
addSequence
public void addSequence(Sequence sequence, boolean isSessionConnected)
Add sequence corresponding to the name. Use this method with isSessionConnected parameter set to true to add a sequence to connected session. If the session is connected then the sequence is added only if there is no sequence with the same name already in use.- Specified by:
addSequence
in interfacePlatform
-
getSequence
public Sequence getSequence(String seqName)
Get sequence corresponding to the name- Specified by:
getSequence
in interfacePlatform
-
createPlatformDefaultSequence
protected Sequence createPlatformDefaultSequence()
INTERNAL: Create platform-default Sequence
-
removeSequence
public Sequence removeSequence(String seqName)
Remove sequence corresponding to name. Doesn't remove default sequence.- Specified by:
removeSequence
in interfacePlatform
-
removeAllSequences
public void removeAllSequences()
Remove all sequences, but the default one.- Specified by:
removeAllSequences
in interfacePlatform
-
getSequences
public Map<String,Sequence> getSequences()
INTERNAL: Returns a map of sequence names to Sequences (may be null).- Specified by:
getSequences
in interfacePlatform
-
getSequencesToWrite
public Map<String,Sequence> getSequencesToWrite()
INTERNAL: Used only for writing into XML or Java.- Specified by:
getSequencesToWrite
in interfacePlatform
-
getDefaultSequenceToWrite
public Sequence getDefaultSequenceToWrite()
INTERNAL: Used only for writing into XML or Java.- Specified by:
getDefaultSequenceToWrite
in interfacePlatform
-
setSequences
public void setSequences(Map sequences)
INTERNAL: Sets sequences - for XML support only- Specified by:
setSequences
in interfacePlatform
-
usesPlatformDefaultSequence
public boolean usesPlatformDefaultSequence()
INTERNAL: Indicates whether defaultSequence is the same as platform default sequence.- Specified by:
usesPlatformDefaultSequence
in interfacePlatform
-
createConnectionCustomizer
public ConnectionCustomizer createConnectionCustomizer(Accessor accessor, AbstractSession session)
INTERNAL:
-
shouldPrepare
public boolean shouldPrepare(DatabaseQuery query)
Allows query prepare to be disable in the platform. This is required for some EIS platforms, that cannot prepare the call.
-
shouldSelectIncludeOrderBy
public boolean shouldSelectIncludeOrderBy()
Return if the database requires the ORDER BY fields to be part of the select clause.
-
shouldSelectDistinctIncludeOrderBy
public boolean shouldSelectDistinctIncludeOrderBy()
Return if the database requires the ORDER BY fields to be part of the select clause.
-
shouldNativeSequenceUseTransaction
public boolean shouldNativeSequenceUseTransaction()
INTERNAL: Indicates whether a separate transaction is required for NativeSequence. This method is to be used *ONLY* by sequencing classes
-
supportsIdentity
public boolean supportsIdentity()
INTERNAL: Indicates whether the platform supports identity. This method is to be used *ONLY* by sequencing classes
-
supportsNativeSequenceNumbers
public boolean supportsNativeSequenceNumbers()
-
supportsSequenceObjects
public boolean supportsSequenceObjects()
INTERNAL: Indicates whether the platform supports sequence objects. This method is to be used *ONLY* by sequencing classes
-
buildSelectQueryForSequenceObject
public ValueReadQuery buildSelectQueryForSequenceObject()
INTERNAL: Returns query used to read value generated by sequence object (like Oracle sequence). This method is called when sequence object NativeSequence is connected, the returned query used until the sequence is disconnected. If the platform supportsSequenceObjects then (at least) one of buildSelectQueryForSequenceObject methods should return non-null query.
-
buildSelectQueryForSequenceObject
public ValueReadQuery buildSelectQueryForSequenceObject(String qualifiedSeqName, Integer size)
INTERNAL: Returns query used to read value generated by sequence object (like Oracle sequence). In case the other version of this method (taking no parameters) returns null, this method is called every time sequence object NativeSequence reads. If the platform supportsSequenceObjects then (at least) one of buildSelectQueryForSequenceObject methods should return non-null query.
-
buildSelectQueryForIdentity
public ValueReadQuery buildSelectQueryForIdentity()
INTERNAL: Returns query used to read back the value generated by Identity. This method is called when identity NativeSequence is connected, the returned query used until the sequence is disconnected. If the platform supportsIdentity then (at least) one of buildSelectQueryForIdentity methods should return non-null query.
-
buildSelectQueryForIdentity
public ValueReadQuery buildSelectQueryForIdentity(String seqName, Integer size)
INTERNAL: Returns query used to read back the value generated by Identity. In case the other version of this method (taking no parameters) returns null, this method is called every time identity NativeSequence reads. If the platform supportsIdentity then (at least) one of buildSelectQueryForIdentity methods should return non-null query.
-
buildNativeCall
public DatasourceCall buildNativeCall(String queryString)
INTERNAL: Return the correct call type for the native query string. This allows EIS platforms to use different types of native calls.
-
initIdentitySequences
public void initIdentitySequences(Session session, String defaultIdentityGenerator)
INTERNAL: Initialize platform specific identity sequences.- Specified by:
initIdentitySequences
in interfacePlatform
- Parameters:
session
- Active database session (in connected state).defaultIdentityGenerator
- Default identity generator sequence name.- Since:
- 2.7
-
removeIdentitySequences
public void removeIdentitySequences(Session session, String defaultIdentityGenerator, Set<String> tableNames)
INTERNAL: Remove platform specific identity sequences for specified tables. Default identity sequences are restored.- Specified by:
removeIdentitySequences
in interfacePlatform
- Parameters:
session
- Active database session (in connected state).defaultIdentityGenerator
- Default identity generator sequence name.tableNames
- Set of table names to check for identity sequence removal.- Since:
- 2.7
-
createExpressionFor
public Expression createExpressionFor(DatabaseField field, Expression builder, String fieldClassificationClassName)
INTERNAL: Override this method if the platform needs to use a custom function based on the DatabaseField- Returns:
- An expression for the given field set equal to a parameter matching the field
-
getINClauseLimit
public int getINClauseLimit()
INTERNAL: Some database platforms have a limit for the number of parameters in an IN clause.
-
-