public abstract class AbstractJdbcDatabase extends Object implements Database
| Modifier and Type | Field and Description |
|---|---|
protected Boolean |
caseSensitive |
protected String |
currentDateTimeFunction |
protected List<DatabaseFunction> |
dateFunctions |
protected BigInteger |
defaultAutoIncrementBy |
protected BigInteger |
defaultAutoIncrementStartWith |
protected String |
defaultCatalogName |
protected String |
defaultSchemaName |
protected String |
quotingEndCharacter |
protected String |
quotingEndReplacement |
protected String |
quotingStartCharacter |
protected ObjectQuotingStrategy |
quotingStrategy |
protected String |
sequenceCurrentValueFunction |
protected String |
sequenceNextValueFunction
The sequence name will be substituted into the string e.g.
|
protected List<String> |
unmodifiableDataTypes |
protected Boolean |
unquotedObjectsAreUppercased |
COMPARATOR, PRIORITY_DATABASE, PRIORITY_DEFAULT| Constructor and Description |
|---|
AbstractJdbcDatabase() |
| Modifier and Type | Method and Description |
|---|---|
void |
addReservedWords(Collection<String> words) |
protected boolean |
canCreateChangeLogTable() |
void |
close() |
void |
commit() |
String |
correctObjectName(String objectName,
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(String catalog,
String schema)
Deprecated.
|
boolean |
createsIndexesForForeignKeys() |
boolean |
dataTypeIsNotModifiable(String typeName)
Types like int4 in postgres cannot have a modifier.
|
boolean |
disableForeignKeyChecks() |
boolean |
doesTagExist(String tag) |
void |
dropDatabaseObjects(CatalogAndSchema schemaToDrop)
Drops all objects owned by the connected user.
|
void |
enableForeignKeyChecks() |
boolean |
equals(Object o) |
String |
escapeColumnName(String catalogName,
String schemaName,
String tableName,
String columnName)
Escapes a single column name in a database-dependent manner so reserved words can be used as a column
name (i.e.
|
String |
escapeColumnName(String catalogName,
String schemaName,
String tableName,
String columnName,
boolean quoteNamesThatMayBeFunctions)
Deprecated.
Know if you should quote the name or not, and use
escapeColumnName(String, String, String, String) which will quote things that look like functions, or leave it along as you see fit. Don't rely on this function guessing. |
String |
escapeColumnNameList(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.
|
String |
escapeConstraintName(String constraintName) |
String |
escapeDataTypeName(String dataTypeName) |
String |
escapeIndexName(String catalogName,
String schemaName,
String indexName) |
String |
escapeObjectName(String objectName,
Class<? extends DatabaseObject> objectType) |
String |
escapeObjectName(String catalogName,
String schemaName,
String objectName,
Class<? extends DatabaseObject> objectType) |
String |
escapeSequenceName(String catalogName,
String schemaName,
String sequenceName) |
String |
escapeStringForDatabase(String string) |
String |
escapeTableName(String catalogName,
String schemaName,
String tableName) |
String |
escapeViewName(String catalogName,
String schemaName,
String viewName) |
void |
execute(SqlStatement[] statements,
List<SqlVisitor> sqlVisitors) |
void |
executeRollbackStatements(Change change,
List<SqlVisitor> sqlVisitors) |
void |
executeRollbackStatements(SqlStatement[] statements,
List<SqlVisitor> sqlVisitors) |
void |
executeStatements(Change change,
DatabaseChangeLog changeLog,
List<SqlVisitor> sqlVisitors) |
protected List<SqlVisitor> |
filterRollbackVisitors(List<SqlVisitor> visitors)
Takes a list of SqlVisitors and returns a new list with only the SqlVisitors set to apply to rollbacks
|
protected boolean |
generateAutoIncrementBy(BigInteger incrementBy) |
protected boolean |
generateAutoIncrementStartWith(BigInteger startWith) |
String |
generateDatabaseFunctionValue(DatabaseFunction databaseFunction)
Some function names are placeholders that need to be replaced with the specific database value.
|
String |
generatePrimaryKeyName(String tableName) |
Object |
get(String key) |
boolean |
getAutoCommitMode()
Auto-commit mode to run in
|
protected String |
getAutoIncrementByClause() |
protected String |
getAutoIncrementClause() |
String |
getAutoIncrementClause(BigInteger startWith,
BigInteger incrementBy)
Returns database-specific auto-increment DDL clause.
|
protected String |
getAutoIncrementClosing() |
protected String |
getAutoIncrementOpening() |
protected String |
getAutoIncrementStartWithClause() |
String |
getConcatSql(String... values)
Returns SQL to concat the passed values.
|
DatabaseConnection |
getConnection() |
protected String |
getConnectionCatalogName() |
protected String |
getConnectionSchemaName()
Overwrite this method to get the default schema name for the connection.
|
protected SqlStatement |
getConnectionSchemaNameCallStatement()
Used to obtain the connection schema name through a statement
Override this method to change the statement.
|
DatabaseObject[] |
getContainingObjects() |
String |
getCurrentDateTimeFunction()
Returns database-specific function for generating the current date/time.
|
String |
getDatabaseChangeLogLockTableName() |
String |
getDatabaseChangeLogTableName() |
int |
getDatabaseMajorVersion() |
int |
getDatabaseMinorVersion() |
String |
getDatabaseProductName()
Returns the name of the database product according to the underlying database.
|
String |
getDatabaseProductVersion() |
int |
getDataTypeMaxParameters(String dataTypeName) |
List<DatabaseFunction> |
getDateFunctions()
Returns list of database native date functions
|
String |
getDateLiteral(Date date) |
String |
getDateLiteral(Date date) |
String |
getDateLiteral(String isoDate)
Return a date literal with the same value as a string formatted using ISO 8601.
|
String |
getDateTimeLiteral(Timestamp date) |
String |
getDefaultCatalogName() |
protected abstract String |
getDefaultDatabaseProductName() |
CatalogAndSchema |
getDefaultSchema() |
String |
getDefaultSchemaName() |
Integer |
getFetchSize() |
String |
getJdbcCatalogName(CatalogAndSchema schema) |
String |
getJdbcCatalogName(Schema schema) |
String |
getJdbcSchemaName(CatalogAndSchema schema) |
String |
getJdbcSchemaName(Schema schema) |
String |
getLineComment()
Returns database-specific line comment string.
|
String |
getLiquibaseCatalogName() |
String |
getLiquibaseSchemaName() |
String |
getLiquibaseTablespaceName() |
String |
getName() |
ObjectQuotingStrategy |
getObjectQuotingStrategy() |
boolean |
getOutputDefaultCatalog() |
boolean |
getOutputDefaultSchema() |
RanChangeSet |
getRanChangeSet(ChangeSet changeSet) |
List<RanChangeSet> |
getRanChangeSetList()
Returns the ChangeSets that have been run against the current database.
|
Date |
getRanDate(ChangeSet changeSet) |
ChangeSet.RunStatus |
getRunStatus(ChangeSet changeSet)
Returns the run status for the given ChangeSet
|
CatalogAndSchema |
getSchemaFromJdbcInfo(String rawCatalogName,
String rawSchemaName) |
String |
getSystemSchema() |
protected Set<String> |
getSystemTables()
Returns system (undroppable) views.
|
protected Set<String> |
getSystemViews()
Returns system (undroppable) views.
|
String |
getTimeLiteral(Time date) |
String |
getViewDefinition(CatalogAndSchema schema,
String viewName) |
int |
hashCode() |
boolean |
isAutoCommit() |
boolean |
isCaseSensitive() |
protected boolean |
isDateOnly(String isoDate) |
protected boolean |
isDateTime(String isoDate) |
boolean |
isDefaultCatalog(String catalog) |
boolean |
isDefaultSchema(String catalog,
String schema) |
boolean |
isFunction(String string) |
boolean |
isLiquibaseObject(DatabaseObject object) |
boolean |
isReservedWord(String string) |
boolean |
isSafeToRunUpdate()
Default implementation, just look for "local" IPs.
|
boolean |
isSystemObject(DatabaseObject example) |
boolean |
isSystemView(CatalogAndSchema schema,
String viewName) |
protected boolean |
isTimeOnly(String isoDate) |
protected boolean |
isTimestamp(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.
|
protected boolean |
mustQuoteObjectName(String objectName,
Class<? extends DatabaseObject> objectType) |
Date |
parseDate(String dateAsString) |
String |
quoteObject(String objectName,
Class<? extends DatabaseObject> objectType) |
void |
removeRanStatus(ChangeSet changeSet) |
boolean |
requiresPassword() |
boolean |
requiresUsername() |
void |
resetInternalState() |
void |
rollback() |
void |
saveRollbackStatement(Change change,
List<SqlVisitor> sqlVisitors,
Writer writer) |
void |
saveStatements(Change change,
List<SqlVisitor> sqlVisitors,
Writer writer) |
AbstractJdbcDatabase |
set(String key,
Object value) |
void |
setAutoCommit(boolean b) |
void |
setCanCacheLiquibaseTableInfo(boolean canCacheLiquibaseTableInfo) |
void |
setCaseSensitive(Boolean caseSensitive) |
void |
setConnection(DatabaseConnection conn) |
void |
setCurrentDateTimeFunction(String function) |
void |
setDatabaseChangeLogLockTableName(String tableName)
Set the table name of the change log lock to the given table name
|
void |
setDatabaseChangeLogTableName(String tableName)
Set the table name of the change log to the given table name
|
void |
setDefaultCatalogName(String defaultCatalogName) |
void |
setDefaultSchemaName(String schemaName) |
void |
setLiquibaseCatalogName(String catalogName) |
void |
setLiquibaseSchemaName(String schemaName) |
void |
setLiquibaseTablespaceName(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(String objectName) |
boolean |
supportsAutoIncrement() |
boolean |
supportsCatalogInObjectName(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(String tagString)
Tags the database changelog with the given string.
|
String |
toString() |
String |
unescapeDataTypeName(String dataTypeName) |
String |
unescapeDataTypeString(String dataTypeString) |
ValidationErrors |
validate() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetDefaultDriver, getDefaultPort, getShortName, isCorrectDatabaseImplementation, supportsInitiallyDeferrableColumns, supportsTablespacesgetPriorityprotected String defaultCatalogName
protected String defaultSchemaName
protected String currentDateTimeFunction
protected String sequenceNextValueFunction
protected String sequenceCurrentValueFunction
protected String quotingStartCharacter
protected String quotingEndCharacter
protected String quotingEndReplacement
protected List<DatabaseFunction> dateFunctions
protected BigInteger defaultAutoIncrementStartWith
protected BigInteger defaultAutoIncrementBy
protected Boolean unquotedObjectsAreUppercased
protected ObjectQuotingStrategy quotingStrategy
protected Boolean caseSensitive
public 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 void addReservedWords(Collection<String> words)
addReservedWords in interface Databasepublic boolean supportsDDLInTransaction()
supportsDDLInTransaction in interface Databasepublic String getDatabaseProductName()
getDatabaseProductName in interface Databaseprotected abstract String getDefaultDatabaseProductName()
public String getDatabaseProductVersion() throws DatabaseException
getDatabaseProductVersion in interface DatabaseDatabaseExceptionpublic int getDatabaseMajorVersion()
throws DatabaseException
getDatabaseMajorVersion in interface DatabaseDatabaseExceptionpublic int getDatabaseMinorVersion()
throws DatabaseException
getDatabaseMinorVersion in interface DatabaseDatabaseExceptionpublic String getDefaultCatalogName()
getDefaultCatalogName in interface Databaseprotected String getConnectionCatalogName() throws DatabaseException
DatabaseExceptionpublic CatalogAndSchema correctSchema(String catalog, String schema)
CatalogAndSchema.standardize(Database)public CatalogAndSchema correctSchema(CatalogAndSchema schema)
DatabasecorrectSchema in interface Databasepublic String correctObjectName(String objectName, Class<? extends DatabaseObject> objectType)
DatabasecorrectObjectName in interface Databasepublic CatalogAndSchema getDefaultSchema()
getDefaultSchema in interface Databasepublic String getDefaultSchemaName()
getDefaultSchemaName in interface Databaseprotected String getConnectionSchemaName()
getConnectionSchemaNameCallStatement()protected SqlStatement getConnectionSchemaNameCallStatement()
getConnectionSchemaName()public void setDefaultCatalogName(String defaultCatalogName)
setDefaultCatalogName in interface Databasepublic void setDefaultSchemaName(String schemaName)
setDefaultSchemaName in interface Databasepublic Integer getFetchSize()
getFetchSize in interface Databasepublic boolean supportsSequences()
supportsSequences in interface Databasepublic boolean supportsAutoIncrement()
supportsAutoIncrement in interface Databasepublic void setCurrentDateTimeFunction(String function)
setCurrentDateTimeFunction in interface Databasepublic String getDateLiteral(String isoDate)
getDateLiteral in interface Databasepublic String getDateTimeLiteral(Timestamp date)
getDateTimeLiteral in interface Databasepublic String getDateLiteral(Date date)
getDateLiteral in interface Databasepublic String getTimeLiteral(Time date)
getTimeLiteral in interface Databasepublic String getDateLiteral(Date date)
getDateLiteral in interface Databasepublic Date parseDate(String dateAsString) throws DateParseException
parseDate in interface DatabaseDateParseExceptionprotected boolean isDateOnly(String isoDate)
protected boolean isDateTime(String isoDate)
protected boolean isTimestamp(String isoDate)
protected boolean isTimeOnly(String isoDate)
public String getLineComment()
getLineComment in interface Databasepublic String getAutoIncrementClause(BigInteger startWith, BigInteger incrementBy)
getAutoIncrementClause in interface Databaseprotected String getAutoIncrementClause()
protected boolean generateAutoIncrementStartWith(BigInteger startWith)
protected boolean generateAutoIncrementBy(BigInteger incrementBy)
protected String getAutoIncrementOpening()
protected String getAutoIncrementClosing()
protected String getAutoIncrementStartWithClause()
protected String getAutoIncrementByClause()
public String getConcatSql(String... values)
DatabasegetConcatSql in interface Databasepublic String getDatabaseChangeLogTableName()
getDatabaseChangeLogTableName in interface DatabaseDatabase.getDatabaseChangeLogTableName()public String getDatabaseChangeLogLockTableName()
getDatabaseChangeLogLockTableName in interface DatabaseDatabase.getDatabaseChangeLogLockTableName()public String getLiquibaseTablespaceName()
getLiquibaseTablespaceName in interface DatabaseDatabase.getLiquibaseTablespaceName()public void setDatabaseChangeLogTableName(String tableName)
DatabasesetDatabaseChangeLogTableName in interface DatabaseDatabase.setDatabaseChangeLogTableName(java.lang.String)public void setDatabaseChangeLogLockTableName(String tableName)
DatabasesetDatabaseChangeLogLockTableName in interface DatabaseDatabase.setDatabaseChangeLogLockTableName(java.lang.String)public void setLiquibaseTablespaceName(String tablespace)
setLiquibaseTablespaceName in interface DatabaseDatabase.setLiquibaseTablespaceName(java.lang.String)protected boolean canCreateChangeLogTable()
throws DatabaseException
DatabaseExceptionpublic void setCanCacheLiquibaseTableInfo(boolean canCacheLiquibaseTableInfo)
setCanCacheLiquibaseTableInfo in interface Databasepublic String getLiquibaseCatalogName()
getLiquibaseCatalogName in interface Databasepublic void setLiquibaseCatalogName(String catalogName)
setLiquibaseCatalogName in interface Databasepublic String getLiquibaseSchemaName()
getLiquibaseSchemaName in interface Databasepublic void setLiquibaseSchemaName(String schemaName)
setLiquibaseSchemaName in interface Databasepublic boolean isCaseSensitive()
isCaseSensitive in interface Databasepublic void setCaseSensitive(Boolean caseSensitive)
public boolean isReservedWord(String string)
isReservedWord in interface Databaseprotected boolean startsWithNumeric(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, String viewName)
public boolean isLiquibaseObject(DatabaseObject object)
isLiquibaseObject in interface Databasepublic void tag(String tagString) throws DatabaseException
tag in interface DatabaseDatabaseExceptionpublic boolean doesTagExist(String tag) throws DatabaseException
doesTagExist in interface DatabaseDatabaseExceptionpublic String getViewDefinition(CatalogAndSchema schema, String viewName) throws DatabaseException
getViewDefinition in interface DatabaseDatabaseExceptionpublic String escapeTableName(String catalogName, String schemaName, String tableName)
escapeTableName in interface Databasepublic String escapeObjectName(String catalogName, String schemaName, String objectName, Class<? extends DatabaseObject> objectType)
escapeObjectName in interface Databasepublic String escapeObjectName(String objectName, Class<? extends DatabaseObject> objectType)
escapeObjectName in interface Databaseprotected boolean mustQuoteObjectName(String objectName, Class<? extends DatabaseObject> objectType)
public String quoteObject(String objectName, Class<? extends DatabaseObject> objectType)
public String escapeIndexName(String catalogName, String schemaName, String indexName)
escapeIndexName in interface Databasepublic String escapeSequenceName(String catalogName, String schemaName, String sequenceName)
escapeSequenceName in interface Databasepublic String escapeConstraintName(String constraintName)
escapeConstraintName in interface Databasepublic String escapeColumnName(String catalogName, String schemaName, String tableName, String columnName)
DatabaseescapeColumnName in interface DatabasecolumnName - column namepublic String escapeColumnName(String catalogName, String schemaName, String tableName, String columnName, boolean quoteNamesThatMayBeFunctions)
escapeColumnName(String, String, String, String) which will quote things that look like functions, or leave it along as you see fit. Don't rely on this function guessing.escapeColumnName(String, String, String, String) but allows control over whether function-like names should be left unquoted.escapeColumnName in interface Databasepublic String escapeColumnNameList(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(Class<? extends DatabaseObject> type)
supportsCatalogInObjectName in interface Databasepublic String generatePrimaryKeyName(String tableName)
generatePrimaryKeyName in interface Databasepublic String escapeViewName(String catalogName, String schemaName, 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 List<RanChangeSet> getRanChangeSetList() throws DatabaseException
getRanChangeSetList in interface DatabaseDatabaseExceptionpublic 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 String escapeStringForDatabase(String string)
escapeStringForDatabase in interface Databasepublic void commit()
throws DatabaseException
commit in interface DatabaseDatabaseExceptionpublic void rollback()
throws DatabaseException
rollback in interface DatabaseDatabaseExceptionpublic 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, List<SqlVisitor> sqlVisitors) throws LiquibaseException
executeStatements in interface DatabaseLiquibaseExceptionpublic void execute(SqlStatement[] statements, List<SqlVisitor> sqlVisitors) throws LiquibaseException
execute in interface DatabaseLiquibaseExceptionpublic void saveStatements(Change change, List<SqlVisitor> sqlVisitors, Writer writer) throws IOException, StatementNotSupportedOnDatabaseException, LiquibaseException
saveStatements in interface DatabaseIOExceptionStatementNotSupportedOnDatabaseExceptionLiquibaseExceptionpublic void executeRollbackStatements(SqlStatement[] statements, List<SqlVisitor> sqlVisitors) throws LiquibaseException, RollbackImpossibleException
executeRollbackStatements in interface DatabaseLiquibaseExceptionRollbackImpossibleExceptionpublic void executeRollbackStatements(Change change, List<SqlVisitor> sqlVisitors) throws LiquibaseException, RollbackImpossibleException
executeRollbackStatements in interface DatabaseLiquibaseExceptionRollbackImpossibleExceptionpublic void saveRollbackStatement(Change change, List<SqlVisitor> sqlVisitors, Writer writer) throws IOException, RollbackImpossibleException, StatementNotSupportedOnDatabaseException, LiquibaseException
saveRollbackStatement in interface DatabaseIOExceptionRollbackImpossibleExceptionStatementNotSupportedOnDatabaseExceptionLiquibaseExceptionprotected List<SqlVisitor> filterRollbackVisitors(List<SqlVisitor> visitors)
public List<DatabaseFunction> getDateFunctions()
DatabasegetDateFunctions in interface Databasepublic boolean isFunction(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(String dataTypeName)
getDataTypeMaxParameters in interface Databasepublic CatalogAndSchema getSchemaFromJdbcInfo(String rawCatalogName, String rawSchemaName)
public String getJdbcCatalogName(CatalogAndSchema schema)
public String getJdbcSchemaName(CatalogAndSchema schema)
public boolean dataTypeIsNotModifiable(String typeName)
DatabasedataTypeIsNotModifiable in interface DatabasetypeName - type namepublic void setObjectQuotingStrategy(ObjectQuotingStrategy quotingStrategy)
setObjectQuotingStrategy in interface Databasepublic ObjectQuotingStrategy getObjectQuotingStrategy()
getObjectQuotingStrategy in interface Databasepublic String generateDatabaseFunctionValue(DatabaseFunction databaseFunction)
DatabasegenerateDatabaseFunctionValue in interface DatabasedatabaseFunction - database function to check.public String getCurrentDateTimeFunction()
DatabasegetCurrentDateTimeFunction in interface Databasepublic void setOutputDefaultSchema(boolean outputDefaultSchema)
DatabasesetOutputDefaultSchema in interface Databasepublic boolean isDefaultSchema(String catalog, String schema)
isDefaultSchema in interface Databasepublic boolean isDefaultCatalog(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 Databasepublic String getSystemSchema()
getSystemSchema in interface Databasepublic String escapeDataTypeName(String dataTypeName)
escapeDataTypeName in interface Databasepublic String unescapeDataTypeName(String dataTypeName)
unescapeDataTypeName in interface Databasepublic String unescapeDataTypeString(String dataTypeString)
unescapeDataTypeString in interface Databasepublic AbstractJdbcDatabase set(String key, Object value)
public ValidationErrors validate()
Copyright © 2018 Liquibase.org. All rights reserved.