public class MsSqlServerDbmsSupport extends GenericDbmsSupport
Modifier and Type | Field and Description |
---|---|
protected static String |
CURRENT_TIMESTAMP |
protected static String |
DEFAULT_BLOB_VALUE |
protected static String |
GET_DATE |
protected static String |
NEXT_VALUE_FOR |
protected static String |
SELECT_CURRENT_VALUE |
protected static String |
WITH_UPDLOCK_ROWLOCK |
KEYWORD_SELECT, log, sqlTranslators, TYPE_BLOB, TYPE_CLOB, TYPE_FUNCTION
Constructor and Description |
---|
MsSqlServerDbmsSupport() |
applyBlobParameter, applyClobParameter, autoIncrementInsertValue, autoIncrementUsesSequenceObject, convertQuery, createTranslator, doHasIndexOnColumns, doIsColumnPresent, doIsTablePresent, emptyClobValue, getBlobHandle, getBlobHandle, getBlobHandle, getBlobInputStream, getBlobInputStream, getBlobOutputStream, getBlobOutputStream, getBlobOutputStream, getBlobOutputStream, getClobHandle, getClobHandle, getClobHandle, getClobReader, getClobReader, getClobWriter, getClobWriter, getClobWriter, getDbmsName, getFromForTablelessSelect, getIbisStoreSummaryQuery, getSchemaOwner, getTableColumns, getTableColumns, getTableColumns, getUpdateBlobQuery, getUpdateClobQuery, hasIndexOnColumn, isBlobType, isColumnPresent, isColumnPresent, isConstraintViolation, isParameterTypeMatchRequired, isQueryConversionRequired, isTablePresent, isTablePresent, mustInsertEmptyBlobBeforeData, mustInsertEmptyClobBeforeData, prepareQueryTextForWorkQueuePeeking, prepareQueryTextForWorkQueueReading, prepareSessionForNonLockingRead, provideFirstRowsHintAfterFirstKeyword, provideIndexHintAfterFirstKeyword, splitQuery, updateBlob, updateBlob, updateClob, updateClob, warnConvertQuery
protected static final String NEXT_VALUE_FOR
protected static final String SELECT_CURRENT_VALUE
protected static final String DEFAULT_BLOB_VALUE
protected static final String WITH_UPDLOCK_ROWLOCK
protected static final String GET_DATE
protected static final String CURRENT_TIMESTAMP
public Dbms getDbms()
IDbmsSupport
DbmsSupportFactory
.getDbms
in interface IDbmsSupport
getDbms
in class GenericDbmsSupport
public boolean hasSkipLockedFunctionality()
hasSkipLockedFunctionality
in interface IDbmsSupport
hasSkipLockedFunctionality
in class GenericDbmsSupport
public String getSysDate()
IDbmsSupport
getSysDate
in interface IDbmsSupport
getSysDate
in class GenericDbmsSupport
public String getDateAndOffset(String dateValue, int daysOffset)
getDateAndOffset
in interface IDbmsSupport
getDateAndOffset
in class GenericDbmsSupport
public String getNumericKeyFieldType()
getNumericKeyFieldType
in interface IDbmsSupport
getNumericKeyFieldType
in class GenericDbmsSupport
public String getAutoIncrementKeyFieldType()
getAutoIncrementKeyFieldType
in interface IDbmsSupport
getAutoIncrementKeyFieldType
in class GenericDbmsSupport
public boolean autoIncrementKeyMustBeInserted()
autoIncrementKeyMustBeInserted
in interface IDbmsSupport
autoIncrementKeyMustBeInserted
in class GenericDbmsSupport
public String getInsertedAutoIncrementValueQuery(String sequenceName)
getInsertedAutoIncrementValueQuery
in interface IDbmsSupport
getInsertedAutoIncrementValueQuery
in class GenericDbmsSupport
public String getTimestampFieldType()
getTimestampFieldType
in interface IDbmsSupport
getTimestampFieldType
in class GenericDbmsSupport
public String getDatetimeLiteral(Date date)
getDatetimeLiteral
in interface IDbmsSupport
getDatetimeLiteral
in class GenericDbmsSupport
public String getTimestampAsDate(String columnName)
getTimestampAsDate
in interface IDbmsSupport
getTimestampAsDate
in class GenericDbmsSupport
public String getBlobFieldType()
getBlobFieldType
in interface IDbmsSupport
getBlobFieldType
in class GenericDbmsSupport
public String emptyBlobValue()
emptyBlobValue
in interface IDbmsSupport
emptyBlobValue
in class GenericDbmsSupport
public String getClobFieldType()
getClobFieldType
in interface IDbmsSupport
getClobFieldType
in class GenericDbmsSupport
public boolean isClobType(ResultSetMetaData rsmeta, int colNum) throws SQLException
isClobType
in interface IDbmsSupport
isClobType
in class GenericDbmsSupport
SQLException
public String getTextFieldType()
getTextFieldType
in interface IDbmsSupport
getTextFieldType
in class GenericDbmsSupport
public String prepareQueryTextForWorkQueueReading(int batchSize, String selectQuery, int wait) throws JdbcException
prepareQueryTextForWorkQueueReading
in interface IDbmsSupport
prepareQueryTextForWorkQueueReading
in class GenericDbmsSupport
JdbcException
public String prepareQueryTextForWorkQueuePeeking(int batchSize, String selectQuery, int wait) throws JdbcException
prepareQueryTextForWorkQueuePeeking
in interface IDbmsSupport
prepareQueryTextForWorkQueuePeeking
in class GenericDbmsSupport
JdbcException
public String getFirstRecordQuery(String tableName) throws JdbcException
getFirstRecordQuery
in interface IDbmsSupport
getFirstRecordQuery
in class GenericDbmsSupport
JdbcException
public String prepareQueryTextForNonLockingRead(String selectQuery) throws JdbcException
IDbmsSupport
IDbmsSupport.prepareSessionForNonLockingRead(Connection)
.
Preferably, the effective isolation level is READ_COMMITTED (commited rows of other transactions may be read), but if placing locks can be avoid by an isolation level similar to READ_UNCOMMITTED, that is allowed too.
Should return the query unmodified if no special action is required.
For an example, see prepareQueryTextForNonLockingRead(String)
prepareQueryTextForNonLockingRead
in interface IDbmsSupport
prepareQueryTextForNonLockingRead
in class GenericDbmsSupport
JdbcException
public String provideTrailingFirstRowsHint(int rowCount)
provideTrailingFirstRowsHint
in interface IDbmsSupport
provideTrailingFirstRowsHint
in class GenericDbmsSupport
public String getSchema(Connection conn) throws JdbcException
getSchema
in interface IDbmsSupport
getSchema
in class GenericDbmsSupport
JdbcException
public String getRowNumber(String order, String sort)
getRowNumber
in interface IDbmsSupport
getRowNumber
in class GenericDbmsSupport
public String getRowNumberShortName()
getRowNumberShortName
in interface IDbmsSupport
getRowNumberShortName
in class GenericDbmsSupport
public String getLength(String column)
getLength
in interface IDbmsSupport
getLength
in class GenericDbmsSupport
public boolean isIndexPresent(Connection conn, String schemaOwner, String tableName, String indexName)
isIndexPresent
in interface IDbmsSupport
isIndexPresent
in class GenericDbmsSupport
public boolean isSequencePresent(Connection conn, String schemaOwner, String tableName, String sequenceName)
isSequencePresent
in interface IDbmsSupport
isSequencePresent
in class GenericDbmsSupport
public boolean hasIndexOnColumns(Connection conn, String schemaOwner, String tableName, List<String> columns)
hasIndexOnColumns
in interface IDbmsSupport
hasIndexOnColumns
in class GenericDbmsSupport
public String getCleanUpIbisstoreQuery(String tableName, String keyField, String typeField, String expiryDateField, int maxRows)
getCleanUpIbisstoreQuery
in interface IDbmsSupport
getCleanUpIbisstoreQuery
in class GenericDbmsSupport
public String getBooleanFieldType()
getBooleanFieldType
in interface IDbmsSupport
getBooleanFieldType
in class GenericDbmsSupport
public String getBooleanValue(boolean value)
getBooleanValue
in interface IDbmsSupport
getBooleanValue
in class GenericDbmsSupport
Copyright © 2023 Frank!Framework. All rights reserved.