public abstract class AbstractJdbcDatabase extends java.lang.Object implements Database
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
currentDateTimeFunction |
protected java.util.List<DatabaseFunction> |
dateFunctions |
protected java.math.BigInteger |
defaultAutoIncrementBy |
protected java.math.BigInteger |
defaultAutoIncrementStartWith |
protected java.lang.String |
defaultCatalogName |
protected java.lang.String |
defaultSchemaName |
protected java.lang.String |
quotingEndCharacter |
protected java.lang.String |
quotingStartCharacter |
protected ObjectQuotingStrategy |
quotingStrategy |
protected java.lang.String |
sequenceCurrentValueFunction |
protected java.lang.String |
sequenceNextValueFunction
The sequence name will be substituted into the string e.g.
|
protected java.util.List<java.lang.String> |
unmodifiableDataTypes |
protected java.lang.Boolean |
unquotedObjectsAreUppercased |
PRIORITY_DATABASE, PRIORITY_DEFAULT| Constructor and Description |
|---|
AbstractJdbcDatabase() |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
canCreateChangeLogTable() |
void |
checkDatabaseChangeLogLockTable()
This method will check the database ChangeLogLock table used to keep track of
if a machine is updating the database.
|
void |
checkDatabaseChangeLogTable(boolean updateExistingNullChecksums,
DatabaseChangeLog databaseChangeLog,
java.lang.String... contexts)
This method will check the database ChangeLog table used to keep track of
the changes in the file.
|
void |
close() |
void |
commit() |
java.lang.String |
correctObjectName(java.lang.String objectName,
java.lang.Class<? extends DatabaseObject> objectType)
Fix the object name to the format the database expects, handling changes in case, etc.
|
CatalogAndSchema |
correctSchema(CatalogAndSchema schema)
Returns a new CatalogAndSchema adjusted for this database.
|
CatalogAndSchema |
correctSchema(java.lang.String catalog,
java.lang.String schema) |
boolean |
createsIndexesForForeignKeys() |
boolean |
dataTypeIsNotModifiable(java.lang.String typeName)
Types like int4 in postgres cannot have a modifier.
|
boolean |
disableForeignKeyChecks() |
boolean |
doesTagExist(java.lang.String tag) |
void |
dropDatabaseObjects(CatalogAndSchema schemaToDrop)
Drops all objects owned by the connected user.
|
void |
enableForeignKeyChecks() |
boolean |
equals(java.lang.Object o) |
java.lang.String |
escapeColumnName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName,
java.lang.String columnName)
Escapes a single column name in a database-dependent manner so reserved words can be used as a column
name (i.e.
|
java.lang.String |
escapeColumnNameList(java.lang.String columnNames)
Escapes a list of column names in a database-dependent manner so reserved words can be used as a column
name (i.e.
|
java.lang.String |
escapeConstraintName(java.lang.String constraintName) |
java.lang.String |
escapeIndexName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String indexName) |
java.lang.String |
escapeObjectName(java.lang.String objectName,
java.lang.Class<? extends DatabaseObject> objectType) |
java.lang.String |
escapeObjectName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String objectName,
java.lang.Class<? extends DatabaseObject> objectType) |
java.lang.String |
escapeSequenceName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String sequenceName) |
java.lang.String |
escapeStringForDatabase(java.lang.String string) |
java.lang.String |
escapeTableName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName) |
java.lang.String |
escapeViewName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String viewName) |
void |
execute(SqlStatement[] statements,
java.util.List<SqlVisitor> sqlVisitors) |
void |
executeRollbackStatements(Change change,
java.util.List<SqlVisitor> sqlVisitors) |
void |
executeStatements(Change change,
DatabaseChangeLog changeLog,
java.util.List<SqlVisitor> sqlVisitors) |
protected boolean |
generateAutoIncrementBy(java.math.BigInteger incrementBy) |
protected boolean |
generateAutoIncrementStartWith(java.math.BigInteger startWith) |
java.lang.String |
generateDatabaseFunctionValue(DatabaseFunction databaseFunction)
Some function names are placeholders that need to be replaced with the specific database value.
|
java.lang.String |
generatePrimaryKeyName(java.lang.String tableName) |
boolean |
getAutoCommitMode()
Auto-commit mode to run in
|
protected java.lang.String |
getAutoIncrementByClause() |
protected java.lang.String |
getAutoIncrementClause() |
java.lang.String |
getAutoIncrementClause(java.math.BigInteger startWith,
java.math.BigInteger incrementBy)
Returns database-specific auto-increment DDL clause.
|
protected java.lang.String |
getAutoIncrementClosing() |
protected java.lang.String |
getAutoIncrementOpening() |
protected java.lang.String |
getAutoIncrementStartWithClause() |
java.lang.String |
getConcatSql(java.lang.String... values)
Returns SQL to concat the passed values.
|
DatabaseConnection |
getConnection() |
protected java.lang.String |
getConnectionCatalogName() |
protected java.lang.String |
getConnectionSchemaName()
Overwrite this method to get the default schema name for the connection.
|
DatabaseObject[] |
getContainingObjects() |
java.lang.String |
getCurrentDateTimeFunction()
Returns database-specific function for generating the current date/time.
|
java.lang.String |
getDatabaseChangeLogLockTableName() |
java.lang.String |
getDatabaseChangeLogTableName() |
int |
getDatabaseMajorVersion() |
int |
getDatabaseMinorVersion() |
java.lang.String |
getDatabaseProductName()
Returns the name of the database product according to the underlying database.
|
java.lang.String |
getDatabaseProductVersion() |
int |
getDataTypeMaxParameters(java.lang.String dataTypeName) |
java.util.List<DatabaseFunction> |
getDateFunctions()
Returns list of database native date functions
|
java.lang.String |
getDateLiteral(java.sql.Date date) |
java.lang.String |
getDateLiteral(java.util.Date date) |
java.lang.String |
getDateLiteral(java.lang.String isoDate)
Return a date literal with the same value as a string formatted using ISO 8601.
|
java.lang.String |
getDateTimeLiteral(java.sql.Timestamp date) |
java.lang.String |
getDefaultCatalogName() |
protected abstract java.lang.String |
getDefaultDatabaseProductName() |
CatalogAndSchema |
getDefaultSchema() |
java.lang.String |
getDefaultSchemaName() |
java.lang.String |
getJdbcCatalogName(CatalogAndSchema schema) |
java.lang.String |
getJdbcCatalogName(Schema schema) |
java.lang.String |
getJdbcSchemaName(CatalogAndSchema schema) |
java.lang.String |
getJdbcSchemaName(Schema schema) |
java.lang.String |
getLineComment()
Returns database-specific line comment string.
|
java.lang.String |
getLiquibaseCatalogName() |
java.lang.String |
getLiquibaseSchemaName() |
java.lang.String |
getLiquibaseTablespaceName() |
java.lang.String |
getName() |
int |
getNextChangeSetSequenceValue() |
ObjectQuotingStrategy |
getObjectQuotingStrategy() |
boolean |
getOutputDefaultCatalog() |
boolean |
getOutputDefaultSchema() |
RanChangeSet |
getRanChangeSet(ChangeSet changeSet) |
java.util.List<RanChangeSet> |
getRanChangeSetList()
Returns the ChangeSets that have been run against the current database.
|
java.util.Date |
getRanDate(ChangeSet changeSet) |
ChangeSet.RunStatus |
getRunStatus(ChangeSet changeSet)
Returns the run status for the given ChangeSet
|
CatalogAndSchema |
getSchemaFromJdbcInfo(java.lang.String rawCatalogName,
java.lang.String rawSchemaName) |
protected java.util.Set<java.lang.String> |
getSystemTables()
Returns system (undroppable) views.
|
protected java.util.Set<java.lang.String> |
getSystemViews()
Returns system (undroppable) views.
|
java.lang.String |
getTimeLiteral(java.sql.Time date) |
java.lang.String |
getViewDefinition(CatalogAndSchema schema,
java.lang.String viewName) |
boolean |
hasDatabaseChangeLogLockTable() |
boolean |
hasDatabaseChangeLogTable() |
int |
hashCode() |
boolean |
isAutoCommit() |
boolean |
isCaseSensitive() |
boolean |
isDatabaseChangeLogLockTableInitialized(boolean tableJustCreated) |
protected boolean |
isDateOnly(java.lang.String isoDate) |
protected boolean |
isDateTime(java.lang.String isoDate) |
boolean |
isDefaultCatalog(java.lang.String catalog) |
boolean |
isDefaultSchema(java.lang.String catalog,
java.lang.String schema) |
boolean |
isFunction(java.lang.String string) |
boolean |
isLiquibaseObject(DatabaseObject object) |
boolean |
isReservedWord(java.lang.String string) |
boolean |
isSafeToRunUpdate()
Default implementation, just look for "local" IPs.
|
boolean |
isSystemObject(DatabaseObject example) |
boolean |
isSystemView(CatalogAndSchema schema,
java.lang.String viewName) |
protected boolean |
isTimeOnly(java.lang.String isoDate) |
boolean |
jdbcCallsCatalogsSchemas() |
void |
markChangeSetExecStatus(ChangeSet changeSet,
ChangeSet.ExecType execType)
After the change set has been ran against the database this method will update the change log table
with the information.
|
java.util.Date |
parseDate(java.lang.String dateAsString) |
java.lang.String |
quoteObject(java.lang.String objectName,
java.lang.Class<? extends DatabaseObject> objectType) |
void |
removeRanStatus(ChangeSet changeSet) |
boolean |
requiresPassword() |
boolean |
requiresUsername() |
void |
resetInternalState() |
protected void |
resetRanChangeSetList() |
void |
rollback() |
void |
saveRollbackStatement(Change change,
java.util.List<SqlVisitor> sqlVisitors,
java.io.Writer writer) |
void |
saveStatements(Change change,
java.util.List<SqlVisitor> sqlVisitors,
java.io.Writer writer) |
void |
setAutoCommit(boolean b) |
void |
setCanCacheLiquibaseTableInfo(boolean canCacheLiquibaseTableInfo) |
void |
setConnection(DatabaseConnection conn) |
void |
setCurrentDateTimeFunction(java.lang.String function) |
void |
setDatabaseChangeLogLockTableName(java.lang.String tableName)
Set the table name of the change log lock to the given table name
|
void |
setDatabaseChangeLogTableName(java.lang.String tableName)
Set the table name of the change log to the given table name
|
void |
setDefaultCatalogName(java.lang.String defaultCatalogName) |
void |
setDefaultSchemaName(java.lang.String schemaName) |
void |
setLiquibaseCatalogName(java.lang.String catalogName) |
void |
setLiquibaseSchemaName(java.lang.String schemaName) |
void |
setLiquibaseTablespaceName(java.lang.String tablespace) |
void |
setObjectQuotingStrategy(ObjectQuotingStrategy quotingStrategy) |
void |
setOutputDefaultCatalog(boolean outputDefaultCatalog) |
void |
setOutputDefaultSchema(boolean outputDefaultSchema)
Whether the default schema should be included in generated SQL
|
protected boolean |
startsWithNumeric(java.lang.String objectName) |
boolean |
supportsAutoIncrement() |
boolean |
supportsCatalogInObjectName(java.lang.Class<? extends DatabaseObject> type) |
boolean |
supportsCatalogs() |
boolean |
supportsDDLInTransaction()
By default databases should support DDL within a transaction.
|
boolean |
supportsDropTableCascadeConstraints() |
boolean |
supportsForeignKeyDisable() |
boolean |
supportsPrimaryKeyNames() |
boolean |
supportsRestrictForeignKeys() |
boolean |
supportsSchemas() |
boolean |
supportsSequences()
Does the database type support sequence.
|
void |
tag(java.lang.String tagString)
Tags the database changelog with the given string.
|
java.lang.String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetDefaultDriver, getDefaultPort, getShortName, isCorrectDatabaseImplementation, supportsInitiallyDeferrableColumns, supportsTablespacesgetPriorityprotected java.lang.String defaultCatalogName
protected java.lang.String defaultSchemaName
protected java.lang.String currentDateTimeFunction
protected java.lang.String sequenceNextValueFunction
protected java.lang.String sequenceCurrentValueFunction
protected java.lang.String quotingStartCharacter
protected java.lang.String quotingEndCharacter
protected java.util.List<DatabaseFunction> dateFunctions
protected java.util.List<java.lang.String> unmodifiableDataTypes
protected java.math.BigInteger defaultAutoIncrementStartWith
protected java.math.BigInteger defaultAutoIncrementBy
protected java.lang.Boolean unquotedObjectsAreUppercased
protected ObjectQuotingStrategy quotingStrategy
protected void resetRanChangeSetList()
public java.lang.String getName()
public boolean requiresPassword()
requiresPassword in interface Databasepublic boolean requiresUsername()
requiresUsername in interface Databasepublic DatabaseObject[] getContainingObjects()
public DatabaseConnection getConnection()
getConnection in interface Databasepublic void setConnection(DatabaseConnection conn)
setConnection in interface Databasepublic boolean getAutoCommitMode()
getAutoCommitMode in interface Databasepublic boolean supportsDDLInTransaction()
supportsDDLInTransaction in interface Databasepublic java.lang.String getDatabaseProductName()
getDatabaseProductName in interface Databaseprotected abstract java.lang.String getDefaultDatabaseProductName()
public java.lang.String getDatabaseProductVersion()
throws DatabaseException
getDatabaseProductVersion in interface DatabaseDatabaseExceptionpublic int getDatabaseMajorVersion()
throws DatabaseException
getDatabaseMajorVersion in interface DatabaseDatabaseExceptionpublic int getDatabaseMinorVersion()
throws DatabaseException
getDatabaseMinorVersion in interface DatabaseDatabaseExceptionpublic java.lang.String getDefaultCatalogName()
getDefaultCatalogName in interface Databaseprotected java.lang.String getConnectionCatalogName()
throws DatabaseException
DatabaseExceptionpublic CatalogAndSchema correctSchema(java.lang.String catalog, java.lang.String schema)
public CatalogAndSchema correctSchema(CatalogAndSchema schema)
DatabasecorrectSchema in interface Databasepublic java.lang.String correctObjectName(java.lang.String objectName,
java.lang.Class<? extends DatabaseObject> objectType)
DatabasecorrectObjectName in interface Databasepublic CatalogAndSchema getDefaultSchema()
getDefaultSchema in interface Databasepublic java.lang.String getDefaultSchemaName()
getDefaultSchemaName in interface Databaseprotected java.lang.String getConnectionSchemaName()
public void setDefaultCatalogName(java.lang.String defaultCatalogName)
setDefaultCatalogName in interface Databasepublic void setDefaultSchemaName(java.lang.String schemaName)
setDefaultSchemaName in interface Databaseprotected java.util.Set<java.lang.String> getSystemTables()
protected java.util.Set<java.lang.String> getSystemViews()
public boolean supportsSequences()
supportsSequences in interface Databasepublic boolean supportsAutoIncrement()
supportsAutoIncrement in interface Databasepublic void setCurrentDateTimeFunction(java.lang.String function)
setCurrentDateTimeFunction in interface Databasepublic java.lang.String getDateLiteral(java.lang.String isoDate)
getDateLiteral in interface Databasepublic java.lang.String getDateTimeLiteral(java.sql.Timestamp date)
getDateTimeLiteral in interface Databasepublic java.lang.String getDateLiteral(java.sql.Date date)
getDateLiteral in interface Databasepublic java.lang.String getTimeLiteral(java.sql.Time date)
getTimeLiteral in interface Databasepublic java.lang.String getDateLiteral(java.util.Date date)
getDateLiteral in interface Databasepublic java.util.Date parseDate(java.lang.String dateAsString)
throws DateParseException
parseDate in interface DatabaseDateParseExceptionprotected boolean isDateOnly(java.lang.String isoDate)
protected boolean isDateTime(java.lang.String isoDate)
protected boolean isTimeOnly(java.lang.String isoDate)
public java.lang.String getLineComment()
getLineComment in interface Databasepublic java.lang.String getAutoIncrementClause(java.math.BigInteger startWith,
java.math.BigInteger incrementBy)
getAutoIncrementClause in interface Databaseprotected java.lang.String getAutoIncrementClause()
protected boolean generateAutoIncrementStartWith(java.math.BigInteger startWith)
protected boolean generateAutoIncrementBy(java.math.BigInteger incrementBy)
protected java.lang.String getAutoIncrementOpening()
protected java.lang.String getAutoIncrementClosing()
protected java.lang.String getAutoIncrementStartWithClause()
protected java.lang.String getAutoIncrementByClause()
public java.lang.String getConcatSql(java.lang.String... values)
DatabasegetConcatSql in interface Databasepublic java.lang.String getDatabaseChangeLogTableName()
getDatabaseChangeLogTableName in interface DatabaseDatabase.getDatabaseChangeLogTableName()public java.lang.String getDatabaseChangeLogLockTableName()
getDatabaseChangeLogLockTableName in interface DatabaseDatabase.getDatabaseChangeLogLockTableName()public java.lang.String getLiquibaseTablespaceName()
getLiquibaseTablespaceName in interface DatabaseDatabase.getLiquibaseTablespaceName()public void setDatabaseChangeLogTableName(java.lang.String tableName)
DatabasesetDatabaseChangeLogTableName in interface DatabaseDatabase.setDatabaseChangeLogTableName(java.lang.String)public void setDatabaseChangeLogLockTableName(java.lang.String tableName)
DatabasesetDatabaseChangeLogLockTableName in interface DatabaseDatabase.setDatabaseChangeLogLockTableName(java.lang.String)public void setLiquibaseTablespaceName(java.lang.String tablespace)
setLiquibaseTablespaceName in interface DatabaseDatabase.setLiquibaseTablespaceName(java.lang.String)public void checkDatabaseChangeLogTable(boolean updateExistingNullChecksums,
DatabaseChangeLog databaseChangeLog,
java.lang.String... contexts)
throws DatabaseException
checkDatabaseChangeLogTable in interface DatabaseupdateExistingNullChecksums - contexts - DatabaseExceptionprotected boolean canCreateChangeLogTable()
throws DatabaseException
DatabaseExceptionpublic void setCanCacheLiquibaseTableInfo(boolean canCacheLiquibaseTableInfo)
setCanCacheLiquibaseTableInfo in interface Databasepublic boolean hasDatabaseChangeLogTable()
throws DatabaseException
hasDatabaseChangeLogTable in interface DatabaseDatabaseExceptionpublic boolean hasDatabaseChangeLogLockTable()
throws DatabaseException
hasDatabaseChangeLogLockTable in interface DatabaseDatabaseExceptionpublic boolean isDatabaseChangeLogLockTableInitialized(boolean tableJustCreated)
throws DatabaseException
DatabaseExceptionpublic java.lang.String getLiquibaseCatalogName()
getLiquibaseCatalogName in interface Databasepublic void setLiquibaseCatalogName(java.lang.String catalogName)
setLiquibaseCatalogName in interface Databasepublic java.lang.String getLiquibaseSchemaName()
getLiquibaseSchemaName in interface Databasepublic void setLiquibaseSchemaName(java.lang.String schemaName)
setLiquibaseSchemaName in interface Databasepublic void checkDatabaseChangeLogLockTable()
throws DatabaseException
checkDatabaseChangeLogLockTable in interface DatabaseDatabaseExceptionpublic boolean isCaseSensitive()
isCaseSensitive in interface Databasepublic boolean isReservedWord(java.lang.String string)
isReservedWord in interface Databaseprotected boolean startsWithNumeric(java.lang.String objectName)
public void dropDatabaseObjects(CatalogAndSchema schemaToDrop) throws LiquibaseException
dropDatabaseObjects in interface DatabaseLiquibaseExceptionpublic boolean supportsDropTableCascadeConstraints()
supportsDropTableCascadeConstraints in interface Databasepublic boolean isSystemObject(DatabaseObject example)
isSystemObject in interface Databasepublic boolean isSystemView(CatalogAndSchema schema, java.lang.String viewName)
public boolean isLiquibaseObject(DatabaseObject object)
isLiquibaseObject in interface Databasepublic void tag(java.lang.String tagString)
throws DatabaseException
tag in interface DatabaseDatabaseExceptionpublic boolean doesTagExist(java.lang.String tag)
throws DatabaseException
doesTagExist in interface DatabaseDatabaseExceptionpublic java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String getViewDefinition(CatalogAndSchema schema, java.lang.String viewName) throws DatabaseException
getViewDefinition in interface DatabaseDatabaseExceptionpublic java.lang.String escapeTableName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName)
escapeTableName in interface Databasepublic java.lang.String escapeObjectName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String objectName,
java.lang.Class<? extends DatabaseObject> objectType)
escapeObjectName in interface Databasepublic java.lang.String escapeObjectName(java.lang.String objectName,
java.lang.Class<? extends DatabaseObject> objectType)
escapeObjectName in interface Databasepublic java.lang.String quoteObject(java.lang.String objectName,
java.lang.Class<? extends DatabaseObject> objectType)
public java.lang.String escapeIndexName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String indexName)
escapeIndexName in interface Databasepublic java.lang.String escapeSequenceName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String sequenceName)
escapeSequenceName in interface Databasepublic java.lang.String escapeConstraintName(java.lang.String constraintName)
escapeConstraintName in interface Databasepublic java.lang.String escapeColumnName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName,
java.lang.String columnName)
DatabaseescapeColumnName in interface DatabasecolumnName - column namepublic java.lang.String escapeColumnNameList(java.lang.String columnNames)
DatabaseescapeColumnNameList in interface DatabasecolumnNames - list of column namespublic boolean supportsSchemas()
supportsSchemas in interface Databasepublic boolean supportsCatalogs()
supportsCatalogs in interface Databasepublic boolean jdbcCallsCatalogsSchemas()
public boolean supportsCatalogInObjectName(java.lang.Class<? extends DatabaseObject> type)
supportsCatalogInObjectName in interface Databasepublic java.lang.String generatePrimaryKeyName(java.lang.String tableName)
generatePrimaryKeyName in interface Databasepublic java.lang.String escapeViewName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String viewName)
escapeViewName in interface Databasepublic ChangeSet.RunStatus getRunStatus(ChangeSet changeSet) throws DatabaseException, DatabaseHistoryException
getRunStatus in interface DatabaseDatabaseExceptionDatabaseHistoryExceptionpublic RanChangeSet getRanChangeSet(ChangeSet changeSet) throws DatabaseException, DatabaseHistoryException
getRanChangeSet in interface DatabaseDatabaseExceptionDatabaseHistoryExceptionpublic java.util.List<RanChangeSet> getRanChangeSetList() throws DatabaseException
getRanChangeSetList in interface DatabaseDatabaseExceptionpublic java.util.Date getRanDate(ChangeSet changeSet) throws DatabaseException, DatabaseHistoryException
getRanDate in interface DatabaseDatabaseExceptionDatabaseHistoryExceptionpublic void markChangeSetExecStatus(ChangeSet changeSet, ChangeSet.ExecType execType) throws DatabaseException
markChangeSetExecStatus in interface DatabaseDatabaseExceptionpublic void removeRanStatus(ChangeSet changeSet) throws DatabaseException
removeRanStatus in interface DatabaseDatabaseExceptionpublic java.lang.String escapeStringForDatabase(java.lang.String string)
escapeStringForDatabase in interface Databasepublic void commit()
throws DatabaseException
commit in interface DatabaseDatabaseExceptionpublic void rollback()
throws DatabaseException
rollback in interface DatabaseDatabaseExceptionpublic boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic void close()
throws DatabaseException
close in interface DatabaseDatabaseExceptionpublic boolean supportsRestrictForeignKeys()
supportsRestrictForeignKeys in interface Databasepublic boolean isAutoCommit()
throws DatabaseException
isAutoCommit in interface DatabaseDatabaseExceptionpublic void setAutoCommit(boolean b)
throws DatabaseException
setAutoCommit in interface DatabaseDatabaseExceptionpublic boolean isSafeToRunUpdate()
throws DatabaseException
isSafeToRunUpdate in interface DatabaseDatabaseExceptionpublic void executeStatements(Change change, DatabaseChangeLog changeLog, java.util.List<SqlVisitor> sqlVisitors) throws LiquibaseException
executeStatements in interface DatabaseLiquibaseExceptionpublic void execute(SqlStatement[] statements, java.util.List<SqlVisitor> sqlVisitors) throws LiquibaseException
execute in interface DatabaseLiquibaseExceptionpublic void saveStatements(Change change, java.util.List<SqlVisitor> sqlVisitors, java.io.Writer writer) throws java.io.IOException, StatementNotSupportedOnDatabaseException, LiquibaseException
saveStatements in interface Databasejava.io.IOExceptionStatementNotSupportedOnDatabaseExceptionLiquibaseExceptionpublic void executeRollbackStatements(Change change, java.util.List<SqlVisitor> sqlVisitors) throws LiquibaseException, RollbackImpossibleException
executeRollbackStatements in interface DatabaseLiquibaseExceptionRollbackImpossibleExceptionpublic void saveRollbackStatement(Change change, java.util.List<SqlVisitor> sqlVisitors, java.io.Writer writer) throws java.io.IOException, RollbackImpossibleException, StatementNotSupportedOnDatabaseException, LiquibaseException
saveRollbackStatement in interface Databasejava.io.IOExceptionRollbackImpossibleExceptionStatementNotSupportedOnDatabaseExceptionLiquibaseExceptionpublic int getNextChangeSetSequenceValue()
throws LiquibaseException
getNextChangeSetSequenceValue in interface DatabaseLiquibaseExceptionpublic java.util.List<DatabaseFunction> getDateFunctions()
DatabasegetDateFunctions in interface Databasepublic boolean isFunction(java.lang.String string)
isFunction in interface Databasepublic void resetInternalState()
resetInternalState in interface Databasepublic boolean supportsForeignKeyDisable()
supportsForeignKeyDisable in interface Databasepublic boolean disableForeignKeyChecks()
throws DatabaseException
disableForeignKeyChecks in interface DatabaseDatabaseExceptionpublic void enableForeignKeyChecks()
throws DatabaseException
enableForeignKeyChecks in interface DatabaseDatabaseExceptionpublic boolean createsIndexesForForeignKeys()
createsIndexesForForeignKeys in interface Databasepublic int getDataTypeMaxParameters(java.lang.String dataTypeName)
getDataTypeMaxParameters in interface Databasepublic CatalogAndSchema getSchemaFromJdbcInfo(java.lang.String rawCatalogName, java.lang.String rawSchemaName)
public java.lang.String getJdbcCatalogName(CatalogAndSchema schema)
public java.lang.String getJdbcSchemaName(CatalogAndSchema schema)
public final java.lang.String getJdbcCatalogName(Schema schema)
public final java.lang.String getJdbcSchemaName(Schema schema)
public boolean dataTypeIsNotModifiable(java.lang.String typeName)
DatabasedataTypeIsNotModifiable in interface DatabasetypeName - type namepublic void setObjectQuotingStrategy(ObjectQuotingStrategy quotingStrategy)
setObjectQuotingStrategy in interface Databasepublic ObjectQuotingStrategy getObjectQuotingStrategy()
getObjectQuotingStrategy in interface Databasepublic java.lang.String generateDatabaseFunctionValue(DatabaseFunction databaseFunction)
DatabasegenerateDatabaseFunctionValue in interface DatabasedatabaseFunction - database function to check.public java.lang.String getCurrentDateTimeFunction()
DatabasegetCurrentDateTimeFunction in interface Databasepublic void setOutputDefaultSchema(boolean outputDefaultSchema)
DatabasesetOutputDefaultSchema in interface Databasepublic boolean isDefaultSchema(java.lang.String catalog,
java.lang.String schema)
isDefaultSchema in interface Databasepublic boolean isDefaultCatalog(java.lang.String catalog)
isDefaultCatalog in interface Databasepublic boolean getOutputDefaultSchema()
getOutputDefaultSchema in interface Databasepublic boolean getOutputDefaultCatalog()
getOutputDefaultCatalog in interface Databasepublic void setOutputDefaultCatalog(boolean outputDefaultCatalog)
setOutputDefaultCatalog in interface Databasepublic boolean supportsPrimaryKeyNames()
supportsPrimaryKeyNames in interface Database