public class H2Database extends AbstractJdbcDatabase
caseSensitive, currentDateTimeFunction, dateFunctions, defaultAutoIncrementBy, defaultAutoIncrementStartWith, defaultCatalogName, defaultSchemaName, quotingStrategy, sequenceCurrentValueFunction, sequenceNextValueFunction, unmodifiableDataTypes, unquotedObjectsAreUppercased
COMPARATOR, PRIORITY_DATABASE, PRIORITY_DEFAULT
Constructor and Description |
---|
H2Database() |
Modifier and Type | Method and Description |
---|---|
boolean |
createsIndexesForForeignKeys() |
protected String |
getAutoIncrementByClause() |
protected String |
getAutoIncrementClause() |
protected String |
getAutoIncrementStartWithClause() |
String |
getConcatSql(String... values)
Returns SQL to concat the passed values.
|
protected String |
getConnectionSchemaName()
Overwrite this method to get the default schema name for the connection.
|
String |
getDateLiteral(String isoDate)
Return a date literal with the same value as a string formatted using ISO 8601.
|
protected String |
getDefaultDatabaseProductName() |
String |
getDefaultDriver(String url)
If this database understands the given url, return the default driver class name.
|
Integer |
getDefaultPort() |
int |
getMaxFractionalDigitsForTimestamp()
Most relational databases support 9 fractional digits, and subclasses must overwrite this method if they
support less than that.
|
int |
getPriority() |
String |
getShortName()
Returns an all-lower-case short name of the product.
|
String |
getViewDefinition(CatalogAndSchema schema,
String name) |
boolean |
isCorrectDatabaseImplementation(DatabaseConnection conn)
Is this AbstractDatabase subclass the correct one to use for the given connection.
|
boolean |
isReservedWord(String objectName) |
boolean |
isSafeToRunUpdate()
Default implementation, just look for "local" IPs.
|
Date |
parseDate(String dateAsString) |
void |
setConnection(DatabaseConnection conn) |
boolean |
supportsDropTableCascadeConstraints() |
boolean |
supportsInitiallyDeferrableColumns()
Returns whether this database support initially deferrable columns.
|
boolean |
supportsMinMaxForSequences() |
boolean |
supportsSequences()
Does the database type support sequence.
|
boolean |
supportsTablespaces() |
addReservedWords, canCreateChangeLogTable, close, commit, correctObjectName, correctSchema, correctSchema, dataTypeIsNotModifiable, disableForeignKeyChecks, doesTagExist, dropDatabaseObjects, enableForeignKeyChecks, equals, escapeColumnName, escapeColumnName, escapeColumnNameList, escapeConstraintName, escapeDataTypeName, escapeIndexName, escapeObjectName, escapeObjectName, escapeSequenceName, escapeStringForDatabase, escapeTableName, escapeViewName, execute, executeRollbackStatements, executeRollbackStatements, executeStatements, filterRollbackVisitors, generateAutoIncrementBy, generateAutoIncrementStartWith, generateDatabaseFunctionValue, generatePrimaryKeyName, get, getAutoCommitMode, getAutoIncrementClause, getAutoIncrementClause, getAutoIncrementClosing, getAutoIncrementOpening, getConnection, getConnectionCatalogName, getConnectionSchemaNameCallStatement, getContainingObjects, getCurrentDateTimeFunction, getDatabaseChangeLogLockTableName, getDatabaseChangeLogTableName, getDatabaseMajorVersion, getDatabaseMinorVersion, getDatabaseProductName, getDatabaseProductVersion, getDataTypeMaxParameters, getDateFunctions, getDateLiteral, getDateLiteral, getDateTimeLiteral, getDefaultCatalogName, getDefaultFractionalDigitsForTimestamp, getDefaultScaleForNativeDataType, getDefaultSchema, getDefaultSchemaName, getFetchSize, getJdbcCatalogName, getJdbcCatalogName, getJdbcSchemaName, getJdbcSchemaName, getLineComment, getLiquibaseCatalogName, getLiquibaseSchemaName, getLiquibaseTablespaceName, getName, getObjectQuotingStrategy, getOutputDefaultCatalog, getOutputDefaultSchema, getQuotingEndCharacter, getQuotingEndReplacement, getQuotingStartCharacter, getRanChangeSet, getRanChangeSetList, getRanDate, getRunStatus, getSchemaAndCatalogCase, getSchemaFromJdbcInfo, getSystemSchema, getSystemTables, getSystemViews, getTimeLiteral, hashCode, isAutoCommit, isCaseSensitive, isDateOnly, isDateTime, isDefaultCatalog, isDefaultSchema, isFunction, isLiquibaseObject, isSystemObject, isSystemView, isTimeOnly, isTimestamp, jdbcCallsCatalogsSchemas, markChangeSetExecStatus, mustQuoteObjectName, quoteObject, removeRanStatus, requiresExplicitNullForColumns, requiresPassword, requiresUsername, resetInternalState, rollback, saveRollbackStatement, saveStatements, set, setAutoCommit, setCanCacheLiquibaseTableInfo, setCaseSensitive, setCurrentDateTimeFunction, setDatabaseChangeLogLockTableName, setDatabaseChangeLogTableName, setDefaultCatalogName, setDefaultSchemaName, setLiquibaseCatalogName, setLiquibaseSchemaName, setLiquibaseTablespaceName, setObjectQuotingStrategy, setOutputDefaultCatalog, setOutputDefaultSchema, startsWithNumeric, supportsAutoIncrement, supportsBatchUpdates, supportsCatalogInObjectName, supportsCatalogs, supportsDDLInTransaction, supportsForeignKeyDisable, supportsNotNullConstraintNames, supportsPrimaryKeyNames, supportsRestrictForeignKeys, supportsSchemas, tag, toString, unescapeDataTypeName, unescapeDataTypeString, validate
public String getShortName()
Database
public Integer getDefaultPort()
protected String getDefaultDatabaseProductName()
getDefaultDatabaseProductName
in class AbstractJdbcDatabase
public String getDefaultDriver(String url)
Database
public int getPriority()
public boolean isCorrectDatabaseImplementation(DatabaseConnection conn) throws DatabaseException
Database
DatabaseException
public boolean supportsTablespaces()
public String getViewDefinition(CatalogAndSchema schema, String name) throws DatabaseException
getViewDefinition
in interface Database
getViewDefinition
in class AbstractJdbcDatabase
DatabaseException
public Date parseDate(String dateAsString) throws DateParseException
parseDate
in interface Database
parseDate
in class AbstractJdbcDatabase
DateParseException
public boolean isSafeToRunUpdate() throws DatabaseException
AbstractJdbcDatabase
isSafeToRunUpdate
in interface Database
isSafeToRunUpdate
in class AbstractJdbcDatabase
DatabaseException
public boolean supportsSequences()
AbstractJdbcDatabase
supportsSequences
in interface Database
supportsSequences
in class AbstractJdbcDatabase
protected String getConnectionSchemaName()
AbstractJdbcDatabase
getConnectionSchemaName
in class AbstractJdbcDatabase
AbstractJdbcDatabase.getConnectionSchemaNameCallStatement()
public String getConcatSql(String... values)
Database
getConcatSql
in interface Database
getConcatSql
in class AbstractJdbcDatabase
public String getDateLiteral(String isoDate)
AbstractJdbcDatabase
getDateLiteral
in interface Database
getDateLiteral
in class AbstractJdbcDatabase
public boolean isReservedWord(String objectName)
isReservedWord
in interface Database
isReservedWord
in class AbstractJdbcDatabase
public boolean supportsInitiallyDeferrableColumns()
Database
protected String getAutoIncrementClause()
getAutoIncrementClause
in class AbstractJdbcDatabase
protected String getAutoIncrementStartWithClause()
getAutoIncrementStartWithClause
in class AbstractJdbcDatabase
protected String getAutoIncrementByClause()
getAutoIncrementByClause
in class AbstractJdbcDatabase
public boolean createsIndexesForForeignKeys()
createsIndexesForForeignKeys
in interface Database
createsIndexesForForeignKeys
in class AbstractJdbcDatabase
public boolean supportsDropTableCascadeConstraints()
supportsDropTableCascadeConstraints
in interface Database
supportsDropTableCascadeConstraints
in class AbstractJdbcDatabase
public void setConnection(DatabaseConnection conn)
setConnection
in interface Database
setConnection
in class AbstractJdbcDatabase
public boolean supportsMinMaxForSequences()
public int getMaxFractionalDigitsForTimestamp()
AbstractJdbcDatabase
getMaxFractionalDigitsForTimestamp
in interface Database
getMaxFractionalDigitsForTimestamp
in class AbstractJdbcDatabase
Copyright © 2019 Liquibase.org. All rights reserved.