Package org.frankframework.dbms
Class MsSqlServerDbmsSupport
java.lang.Object
org.frankframework.dbms.GenericDbmsSupport
org.frankframework.dbms.MsSqlServerDbmsSupport
- All Implemented Interfaces:
IDbmsSupport
- Author:
- Gerrit van Brakel
-
Field Summary
Fields inherited from class org.frankframework.dbms.GenericDbmsSupport
KEYWORD_SELECT, log, sqlTranslators -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetBooleanValue(boolean value) getDateAndOffset(String dateValue, int daysOffset) getDatetimeLiteral(Date date) getDbms()getSchema(Connection conn) SQL String returning current date and time of dbms.getTimestampAsDate(String columnName) booleanhasIndexOnColumns(Connection conn, String schemaOwner, String tableName, List<String> columns) booleanbooleanisClobType(ResultSetMetaData rsmeta, int colNum) booleanisRowVersionTimestamp(ResultSetMetaData resultSetMetaData, int columnNumber) booleanisSequencePresent(Connection conn, String schemaOwner, String tableName, String sequenceName) prepareQueryTextForNonLockingRead(String selectQuery) Modify the provided selectQuery in such a way that the resulting query will not be blocked by locks, and will avoid placing locks itself as much as possible.prepareQueryTextForWorkQueuePeeking(int batchSize, String selectQuery, int wait) prepareQueryTextForWorkQueueReading(int batchSize, String selectQuery, int wait) provideTrailingFirstRowsHint(int rowCount) Methods inherited from class org.frankframework.dbms.GenericDbmsSupport
applyBlobParameter, applyClobParameter, autoIncrementInsertValue, autoIncrementKeyMustBeInserted, autoIncrementUsesSequenceObject, convertQuery, createTranslator, doHasIndexOnColumns, doIsColumnPresent, doIsTablePresent, getBlobHandle, getBlobHandle, getBlobInputStream, getBlobInputStream, getBlobOutputStream, getBlobOutputStream, getBlobOutputStream, getClobHandle, getClobHandle, getClobReader, getClobReader, getClobWriter, getClobWriter, getFormattedDate, getFromForTablelessSelect, getSqlTranslator, getTableColumns, getTableColumns, getTableColumns, getTextFieldType, hasIndexOnColumn, isBlobType, isColumnPresent, isColumnPresent, isConstraintViolation, isParameterTypeMatchRequired, isQueryConversionRequired, isTablePresent, isTablePresent, prepareQueryTextForWorkQueuePeeking, prepareQueryTextForWorkQueueReading, provideFirstRowsHintAfterFirstKeyword, provideIndexHintAfterFirstKeyword, splitQuery, updateBlob, updateBlob, updateClob, updateClob, warnConvertQueryMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.frankframework.dbms.IDbmsSupport
canFetchStatementParameterMetaData, getCursorSqlType, getDbmsName, isStoredProcedureResultSetSupported
-
Constructor Details
-
MsSqlServerDbmsSupport
public MsSqlServerDbmsSupport()
-
-
Method Details
-
getDbms
- Specified by:
getDbmsin interfaceIDbmsSupport- Overrides:
getDbmsin classGenericDbmsSupport
-
hasSkipLockedFunctionality
public boolean hasSkipLockedFunctionality()- Specified by:
hasSkipLockedFunctionalityin interfaceIDbmsSupport- Overrides:
hasSkipLockedFunctionalityin classGenericDbmsSupport
-
getSysDate
Description copied from interface:IDbmsSupportSQL String returning current date and time of dbms.- Specified by:
getSysDatein interfaceIDbmsSupport- Overrides:
getSysDatein classGenericDbmsSupport
-
getDateAndOffset
- Specified by:
getDateAndOffsetin interfaceIDbmsSupport- Overrides:
getDateAndOffsetin classGenericDbmsSupport
-
getAutoIncrementKeyFieldType
- Specified by:
getAutoIncrementKeyFieldTypein interfaceIDbmsSupport- Overrides:
getAutoIncrementKeyFieldTypein classGenericDbmsSupport
-
getTimestampFieldType
- Specified by:
getTimestampFieldTypein interfaceIDbmsSupport- Overrides:
getTimestampFieldTypein classGenericDbmsSupport
-
getDatetimeLiteral
- Specified by:
getDatetimeLiteralin interfaceIDbmsSupport- Overrides:
getDatetimeLiteralin classGenericDbmsSupport
-
getTimestampAsDate
- Specified by:
getTimestampAsDatein interfaceIDbmsSupport- Overrides:
getTimestampAsDatein classGenericDbmsSupport
-
getBlobFieldType
- Specified by:
getBlobFieldTypein interfaceIDbmsSupport- Overrides:
getBlobFieldTypein classGenericDbmsSupport
-
isClobType
- Specified by:
isClobTypein interfaceIDbmsSupport- Overrides:
isClobTypein classGenericDbmsSupport- Throws:
SQLException
-
prepareQueryTextForWorkQueueReading
public String prepareQueryTextForWorkQueueReading(int batchSize, String selectQuery, int wait) throws DbmsException - Specified by:
prepareQueryTextForWorkQueueReadingin interfaceIDbmsSupport- Overrides:
prepareQueryTextForWorkQueueReadingin classGenericDbmsSupport- Throws:
DbmsException
-
prepareQueryTextForWorkQueuePeeking
public String prepareQueryTextForWorkQueuePeeking(int batchSize, String selectQuery, int wait) throws DbmsException - Specified by:
prepareQueryTextForWorkQueuePeekingin interfaceIDbmsSupport- Overrides:
prepareQueryTextForWorkQueuePeekingin classGenericDbmsSupport- Throws:
DbmsException
-
prepareQueryTextForNonLockingRead
Description copied from interface:IDbmsSupportModify the provided selectQuery in such a way that the resulting query will not be blocked by locks, and will avoid placing locks itself as much as possible. Preferably, the effective isolation level is READ_COMMITTED (committed rows of other transactions may be read), but if placing locks can be avoided 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, seeprepareQueryTextForNonLockingRead(String)- Specified by:
prepareQueryTextForNonLockingReadin interfaceIDbmsSupport- Overrides:
prepareQueryTextForNonLockingReadin classGenericDbmsSupport- Throws:
DbmsException
-
provideTrailingFirstRowsHint
- Specified by:
provideTrailingFirstRowsHintin interfaceIDbmsSupport- Overrides:
provideTrailingFirstRowsHintin classGenericDbmsSupport
-
getSchema
- Specified by:
getSchemain interfaceIDbmsSupport- Overrides:
getSchemain classGenericDbmsSupport- Throws:
DbmsException
-
getLength
- Specified by:
getLengthin interfaceIDbmsSupport- Overrides:
getLengthin classGenericDbmsSupport
-
isSequencePresent
public boolean isSequencePresent(Connection conn, String schemaOwner, String tableName, String sequenceName) - Specified by:
isSequencePresentin interfaceIDbmsSupport- Overrides:
isSequencePresentin classGenericDbmsSupport
-
hasIndexOnColumns
public boolean hasIndexOnColumns(Connection conn, String schemaOwner, String tableName, List<String> columns) - Specified by:
hasIndexOnColumnsin interfaceIDbmsSupport- Overrides:
hasIndexOnColumnsin classGenericDbmsSupport
-
getBooleanValue
- Specified by:
getBooleanValuein interfaceIDbmsSupport- Overrides:
getBooleanValuein classGenericDbmsSupport
-
isRowVersionTimestamp
public boolean isRowVersionTimestamp(ResultSetMetaData resultSetMetaData, int columnNumber) throws SQLException - Parameters:
resultSetMetaData-columnNumber-- Returns:
- whether the columnNumber metadata is defined as a RowVersion/Timestamp (MSSQL - specific, see
MsSqlServerDbmsSupport). - Throws:
SQLException
-