Class H2DbmsSupport
java.lang.Object
org.frankframework.dbms.GenericDbmsSupport
org.frankframework.dbms.H2DbmsSupport
- All Implemented Interfaces:
IDbmsSupport
-
Field Summary
Fields inherited from class GenericDbmsSupport
KEYWORD_SELECT, log, sqlTranslators -
Constructor Summary
ConstructorsConstructorDescriptionH2DbmsSupport(@Nullable String productVersion, @Nullable Connection connection) -
Method Summary
Modifier and TypeMethodDescription@NonNull ObjectgetBlobHandle(@NonNull ResultSet rs, int column) @NonNull ObjectgetClobHandle(@NonNull ResultSet rs, int column) getDatetimeLiteral(Date date) getDbms()getSchema(Connection conn) getTableColumns(Connection conn, String schemaName, String tableName, String columnNamePattern) getTimestampAsDate(String columnName) booleanhasIndexOnColumn(Connection conn, String schemaName, String tableName, String columnName) booleanhasIndexOnColumns(Connection conn, String schemaOwner, String tableName, List<String> columns) booleanbooleanisColumnPresent(Connection conn, String schemaName, String tableName, String columnName) booleanWhen applying query parameters in String to JDBC prepared statements, some databases can convert from string to the correct type server-side without explicit casting.booleanisTablePresent(Connection conn, String schemaName, String tableName) prepareQueryTextForWorkQueuePeeking(int batchSize, String selectQuery, int wait) prepareQueryTextForWorkQueueReading(int batchSize, String selectQuery, int wait) Methods inherited from class GenericDbmsSupport
applyBlobParameter, applyClobParameter, autoIncrementInsertValue, autoIncrementKeyMustBeInserted, autoIncrementUsesSequenceObject, convertQuery, createTranslator, doHasIndexOnColumns, doIsColumnPresent, doIsTablePresent, getAutoIncrementKeyFieldType, getBlobFieldType, getBlobHandle, getBlobInputStream, getBlobInputStream, getBlobOutputStream, getBlobOutputStream, getBlobOutputStream, getClobHandle, getClobReader, getClobReader, getClobWriter, getClobWriter, getDateAndOffset, getFormattedDate, getFromForTablelessSelect, getSqlTranslator, getSysDate, getTableColumns, getTableColumns, getTimestampFieldType, isBlobType, isClobType, isColumnPresent, isConstraintViolation, isQueryConversionRequired, isSequencePresent, isTablePresent, prepareQueryTextForNonLockingRead, prepareQueryTextForWorkQueuePeeking, prepareQueryTextForWorkQueueReading, provideFirstRowsHintAfterFirstKeyword, provideIndexHintAfterFirstKeyword, provideTrailingFirstRowsHint, splitQuery, updateBlob, updateBlob, updateClob, updateClob, warnConvertQueryMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface IDbmsSupport
canFetchStatementParameterMetaData, getBooleanValue, getCursorSqlType, getDbmsName, getLength, getTextFieldType, isRowVersionTimestamp, isStoredProcedureResultSetSupported
-
Constructor Details
-
H2DbmsSupport
public H2DbmsSupport() -
H2DbmsSupport
-
-
Method Details
-
getTargetSqlDialect
-
isParameterTypeMatchSupported
public boolean isParameterTypeMatchSupported()Description copied from interface:IDbmsSupportWhen applying query parameters in String to JDBC prepared statements, some databases can convert from string to the correct type server-side without explicit casting.
Some databases require the correct types to be used when setting the value in thePreparedStatement, however our generic code can only get that information from theParameterMetaData.
This method indicates if the database supports retrieving the column-type information that is needed for the parameter type matching from theParameterMetaData, before the query has been executed.- Returns:
truefor PostgreSQL, H2 and MS SQL Server.falsefor Oracle, MySQL and MariaDB.
-
getDbms
- Specified by:
getDbmsin interfaceIDbmsSupport- Overrides:
getDbmsin classGenericDbmsSupport
-
hasSkipLockedFunctionality
public boolean hasSkipLockedFunctionality()- Specified by:
hasSkipLockedFunctionalityin interfaceIDbmsSupport- Overrides:
hasSkipLockedFunctionalityin classGenericDbmsSupport
-
prepareQueryTextForWorkQueueReading
public String prepareQueryTextForWorkQueueReading(int batchSize, String selectQuery, int wait) throws DbmsException - Specified by:
prepareQueryTextForWorkQueueReadingin interfaceIDbmsSupport- Overrides:
prepareQueryTextForWorkQueueReadingin classGenericDbmsSupport- Throws:
DbmsException
-
prepareQueryTextForWorkQueuePeeking
- Specified by:
prepareQueryTextForWorkQueuePeekingin interfaceIDbmsSupport- Overrides:
prepareQueryTextForWorkQueuePeekingin classGenericDbmsSupport
-
getSchema
- Specified by:
getSchemain interfaceIDbmsSupport- Overrides:
getSchemain classGenericDbmsSupport- Throws:
DbmsException
-
getDatetimeLiteral
- Specified by:
getDatetimeLiteralin interfaceIDbmsSupport- Overrides:
getDatetimeLiteralin classGenericDbmsSupport
-
getTimestampAsDate
- Specified by:
getTimestampAsDatein interfaceIDbmsSupport- Overrides:
getTimestampAsDatein classGenericDbmsSupport
-
getClobHandle
- Specified by:
getClobHandlein interfaceIDbmsSupport- Overrides:
getClobHandlein classGenericDbmsSupport- Throws:
SQLException
-
getBlobHandle
- Specified by:
getBlobHandlein interfaceIDbmsSupport- Overrides:
getBlobHandlein classGenericDbmsSupport- Throws:
SQLException
-
getTableColumns
public ResultSet getTableColumns(Connection conn, String schemaName, String tableName, String columnNamePattern) throws DbmsException - Specified by:
getTableColumnsin interfaceIDbmsSupport- Overrides:
getTableColumnsin classGenericDbmsSupport- Throws:
DbmsException
-
isTablePresent
public boolean isTablePresent(Connection conn, String schemaName, String tableName) throws DbmsException - Specified by:
isTablePresentin interfaceIDbmsSupport- Overrides:
isTablePresentin classGenericDbmsSupport- Throws:
DbmsException
-
isColumnPresent
public boolean isColumnPresent(Connection conn, String schemaName, String tableName, String columnName) throws DbmsException - Specified by:
isColumnPresentin interfaceIDbmsSupport- Overrides:
isColumnPresentin classGenericDbmsSupport- Throws:
DbmsException
-
hasIndexOnColumn
public boolean hasIndexOnColumn(Connection conn, String schemaName, String tableName, String columnName) throws DbmsException - Specified by:
hasIndexOnColumnin interfaceIDbmsSupport- Overrides:
hasIndexOnColumnin classGenericDbmsSupport- Throws:
DbmsException
-
hasIndexOnColumns
public boolean hasIndexOnColumns(Connection conn, String schemaOwner, String tableName, List<String> columns) - Specified by:
hasIndexOnColumnsin interfaceIDbmsSupport- Overrides:
hasIndexOnColumnsin classGenericDbmsSupport
-