public interface IDbmsSupport
Dbms getDbms()
DbmsSupportFactory
.String getDbmsName()
boolean isParameterTypeMatchRequired()
boolean hasSkipLockedFunctionality()
String getSysDate()
String getNumericKeyFieldType()
String getFromForTablelessSelect()
String getAutoIncrementKeyFieldType()
boolean autoIncrementKeyMustBeInserted()
boolean autoIncrementUsesSequenceObject()
String getTimestampFieldType()
String getClobFieldType()
boolean isClobType(ResultSetMetaData rsmeta, int colNum) throws SQLException
SQLException
boolean mustInsertEmptyClobBeforeData()
String emptyClobValue()
Reader getClobReader(ResultSet rs, int column) throws SQLException, JdbcException
SQLException
JdbcException
Reader getClobReader(ResultSet rs, String column) throws SQLException, JdbcException
SQLException
JdbcException
Object getClobHandle(ResultSet rs, int column) throws SQLException, JdbcException
SQLException
JdbcException
Object getClobHandle(ResultSet rs, String column) throws SQLException, JdbcException
SQLException
JdbcException
Writer getClobWriter(ResultSet rs, int column, Object clobHandle) throws SQLException, JdbcException
SQLException
JdbcException
Writer getClobWriter(ResultSet rs, String column, Object clobHandle) throws SQLException, JdbcException
SQLException
JdbcException
void updateClob(ResultSet rs, int column, Object clobHandle) throws SQLException, JdbcException
SQLException
JdbcException
void updateClob(ResultSet rs, String column, Object clobHandle) throws SQLException, JdbcException
SQLException
JdbcException
Object getClobHandle(PreparedStatement stmt, int column) throws SQLException, JdbcException
SQLException
JdbcException
Writer getClobWriter(PreparedStatement stmt, int column, Object clobHandle) throws SQLException, JdbcException
SQLException
JdbcException
void applyClobParameter(PreparedStatement stmt, int column, Object clobHandle) throws SQLException, JdbcException
SQLException
JdbcException
String getBlobFieldType()
boolean isBlobType(ResultSetMetaData rsmeta, int colNum) throws SQLException
SQLException
boolean mustInsertEmptyBlobBeforeData()
String emptyBlobValue()
InputStream getBlobInputStream(ResultSet rs, int column) throws SQLException, JdbcException
SQLException
JdbcException
InputStream getBlobInputStream(ResultSet rs, String column) throws SQLException, JdbcException
SQLException
JdbcException
Object getBlobHandle(ResultSet rs, int column) throws SQLException, JdbcException
SQLException
JdbcException
Object getBlobHandle(ResultSet rs, String column) throws SQLException, JdbcException
SQLException
JdbcException
OutputStream getBlobOutputStream(ResultSet rs, int column, Object blobHandle) throws SQLException, JdbcException
SQLException
JdbcException
OutputStream getBlobOutputStream(ResultSet rs, String column, Object blobHandle) throws SQLException, JdbcException
SQLException
JdbcException
void updateBlob(ResultSet rs, int column, Object blobHandle) throws SQLException, JdbcException
SQLException
JdbcException
void updateBlob(ResultSet rs, String column, Object blobHandle) throws SQLException, JdbcException
SQLException
JdbcException
Object getBlobHandle(PreparedStatement stmt, int column) throws SQLException, JdbcException
SQLException
JdbcException
OutputStream getBlobOutputStream(PreparedStatement stmt, int column, Object blobInsertHandle) throws SQLException, JdbcException
SQLException
JdbcException
void applyBlobParameter(PreparedStatement stmt, int column, Object blobInsertHandle) throws SQLException, JdbcException
SQLException
JdbcException
String getTextFieldType()
String prepareQueryTextForWorkQueueReading(int batchSize, String selectQuery) throws JdbcException
JdbcException
String prepareQueryTextForWorkQueueReading(int batchSize, String selectQuery, int wait) throws JdbcException
JdbcException
String prepareQueryTextForWorkQueuePeeking(int batchSize, String selectQuery) throws JdbcException
JdbcException
String prepareQueryTextForWorkQueuePeeking(int batchSize, String selectQuery, int wait) throws JdbcException
JdbcException
String getFirstRecordQuery(String tableName) throws JdbcException
JdbcException
String prepareQueryTextForNonLockingRead(String selectQuery) throws JdbcException
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 MsSqlServerDbmsSupport.prepareQueryTextForNonLockingRead(String)
JdbcException
JdbcSession prepareSessionForNonLockingRead(Connection conn) throws JdbcException
prepareQueryTextForNonLockingRead(String)
or by prepareQueryTextForWorkQueuePeeking(int,String)
,
are executed, they will not be blocked by locks, and will avoid placing locks itself as much as possible.
Preferably 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.
After the query is executed, jdbcSession.close() will be called, to return the connection to its normal state (which is expected to be REPEATABLE_READ).
Should return null if no preparation of the connection is required.
For an example, see GenericDbmsSupport.prepareSessionForNonLockingRead(Connection)
JdbcException
String provideIndexHintAfterFirstKeyword(String tableName, String indexName)
String provideFirstRowsHintAfterFirstKeyword(int rowCount)
String provideTrailingFirstRowsHint(int rowCount)
String getSchema(Connection conn) throws JdbcException
JdbcException
void convertQuery(QueryExecutionContext queryExecutionContext, String sqlDialectFrom) throws SQLException, JdbcException
SQLException
JdbcException
ResultSet getTableColumns(Connection conn, String tableName) throws JdbcException
JdbcException
ResultSet getTableColumns(Connection conn, String schemaName, String tableName) throws JdbcException
JdbcException
ResultSet getTableColumns(Connection conn, String schemaName, String tableName, String columnNamePattern) throws JdbcException
JdbcException
boolean isTablePresent(Connection conn, String tableName) throws JdbcException
JdbcException
boolean isTablePresent(Connection conn, String schemaName, String tableName) throws JdbcException
JdbcException
boolean isColumnPresent(Connection conn, String tableName, String columnName) throws JdbcException
JdbcException
boolean isColumnPresent(Connection conn, String schemaName, String tableName, String columnName) throws JdbcException
JdbcException
boolean isIndexPresent(Connection conn, String schemaOwner, String tableName, String indexName)
boolean isSequencePresent(Connection conn, String schemaOwner, String tableName, String sequenceName)
boolean hasIndexOnColumn(Connection conn, String schemaOwner, String tableName, String columnName) throws JdbcException
JdbcException
boolean hasIndexOnColumns(Connection conn, String schemaOwner, String tableName, List<String> columns) throws JdbcException
JdbcException
String getSchemaOwner(Connection conn) throws SQLException, JdbcException
SQLException
JdbcException
boolean isConstraintViolation(SQLException e)
String getRowNumberShortName()
String getIbisStoreSummaryQuery()
String getBooleanFieldType()
String getBooleanValue(boolean value)
Copyright © 2023 Frank!Framework. All rights reserved.