Package liquibase.database.core
Class EnterpriseDBDatabase
java.lang.Object
liquibase.database.AbstractJdbcDatabase
liquibase.database.core.AbstractPostgresDatabase
liquibase.database.core.PostgresDatabase
liquibase.database.core.EnterpriseDBDatabase
- All Implemented Interfaces:
AutoCloseable,Database,PrioritizedService
-
Field Summary
Fields inherited from class liquibase.database.core.PostgresDatabase
MINIMUM_DBMS_MAJOR_VERSION, MINIMUM_DBMS_MINOR_VERSION, PRODUCT_NAME, VALID_AUTO_INCREMENT_COLUMN_TYPE_NAMESFields inherited from class liquibase.database.AbstractJdbcDatabase
caseSensitive, currentDateTimeFunction, dateFunctions, defaultAutoIncrementBy, defaultAutoIncrementStartWith, defaultCatalogName, defaultSchemaName, quotingStrategy, sequenceCurrentValueFunction, sequenceNextValueFunction, unmodifiableDataTypes, unquotedObjectsAreUppercasedFields inherited from interface liquibase.database.Database
COMPLETE_SQL_SCOPE_KEY, IGNORE_MISSING_REFERENCES_KEYFields inherited from interface liquibase.servicelocator.PrioritizedService
COMPARATOR, PRIORITY_DATABASE, PRIORITY_DEFAULT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetDefaultDriver(String url) If this database understands the given url, return the default driver class name.intReturns an all-lower-case short name of the product.booleanChecks if the given connection points to an EnterpriseDB database.booleanEnterpriseDB (Advanced Server) acceptsCREATE TYPE ... AS (...), but the standard composite-type snapshot generator does not read composite types on it, so it opts down fromPostgresDatabase.booleansupportsCreateIfNotExists(Class<? extends DatabaseObject> type) Does the database support the "if not exits" syntax?Methods inherited from class liquibase.database.core.PostgresDatabase
equals, generateAutoIncrementBy, generateAutoIncrementStartWith, generatePrimaryKeyName, getAutoIncrementClause, getAutoIncrementClause, getDefaultDatabaseProductName, getMaxFractionalDigitsForTimestamp, hashCode, restoreSearchPath, rollback, saveSearchPath, setConnection, supportsCheckConstraintSnapshot, supportsDatabaseChangeLogHistory, supportsEnumTypeSnapshot, supportsInitiallyDeferrableColumns, supportsSequences, supportsStoredLogicSnapshot, supportsTablespacesMethods inherited from class liquibase.database.core.AbstractPostgresDatabase
correctObjectName, escapeObjectName, getConnectionSchemaNameCallStatement, getDatabaseChangeLogLockTableName, getDatabaseChangeLogTableName, getSchemaAndCatalogCase, getSystemViews, hasMixedCase, isReservedWord, isSystemObject, setDefaultCatalogName, supportsCatalogInObjectName, unescapeDataTypeName, useSerialDatatypesMethods inherited from class liquibase.database.AbstractJdbcDatabase
addReservedWords, canCreateChangeLogTable, close, commit, correctSchema, correctSchema, createsIndexesForForeignKeys, dataTypeIsNotModifiable, disableForeignKeyChecks, doesTagExist, dropDatabaseObjects, enableForeignKeyChecks, escapeColumnName, escapeColumnName, escapeColumnNameList, escapeConstraintName, escapeDataTypeName, escapeIndexName, escapeObjectName, escapeSequenceName, escapeStringForDatabase, escapeTableName, escapeViewName, execute, executeRollbackStatements, executeRollbackStatements, executeStatements, filterRollbackVisitors, generateDatabaseFunctionValue, get, getAutoCommitMode, getAutoIncrementByClause, getAutoIncrementClause, getAutoIncrementClosing, getAutoIncrementOpening, getAutoIncrementStartWithClause, getConcatSql, getConnection, getConnectionCatalogName, getConnectionSchemaName, getContainingObjects, getCurrentDateTimeFunction, getDatabaseMajorVersion, getDatabaseMinorVersion, getDatabaseProductName, getDatabaseProductVersion, getDataTypeMaxParameters, getDateFunctions, getDateLiteral, 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, getRawDatabaseChangeLogLockTableName, getRawDatabaseChangeLogTableName, getRunStatus, getSchemaFromJdbcInfo, getSystemSchema, getSystemTables, getTimeLiteral, getViewDefinition, isAutoCommit, isCaseSensitive, isCatalogOrSchemaType, isCurrentTimeFunction, isDateOnly, isDateTime, isDefaultCatalog, isDefaultSchema, isFunction, isLiquibaseObject, isSafeToRunUpdate, isSystemView, isTimeOnly, isTimestamp, jdbcCallsCatalogsSchemas, markChangeSetExecStatus, mustQuoteObjectName, parseDate, quoteObject, removeRanStatus, requiresExplicitNullForColumns, requiresPassword, requiresUsername, resetInternalState, saveRollbackStatement, saveStatements, set, setAutoCommit, setCanCacheLiquibaseTableInfo, setCaseSensitive, setCurrentDateTimeFunction, setDatabaseChangeLogLockTableName, setDatabaseChangeLogTableName, setDefaultSchemaName, setLiquibaseCatalogName, setLiquibaseSchemaName, setLiquibaseTablespaceName, setObjectQuotingStrategy, setOutputDefaultCatalog, setOutputDefaultSchema, setPreviousAutoCommit, startsWithNumeric, supportsAutoIncrement, supportsBatchUpdates, supportsCatalogs, supportsDDLInTransaction, supportsDropTableCascadeConstraints, supportsForeignKeyDisable, supportsNotNullConstraintNames, supportsPrimaryKeyNames, supportsRestrictForeignKeys, supportsSchemas, tag, toString, unescapeDataTypeString, validateMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface liquibase.database.Database
addCompleteSqlToScope, afterUpdate, checkDatabaseConnection, dropDatabaseObjects, escapeForLike, escapeTablespaceName, failOnDefferable, generateConnectCommandSuccessMessage, getDisplayName, supports, temporarilySetObjectQuotingStrategy
-
Constructor Details
-
EnterpriseDBDatabase
public EnterpriseDBDatabase()
-
-
Method Details
-
isCorrectDatabaseImplementation
Checks if the given connection points to an EnterpriseDB database.Returns false early if the URL is null (which can happen with some JDBC drivers like IBM Informix), since a null URL cannot match any database type.
- Specified by:
isCorrectDatabaseImplementationin interfaceDatabase- Overrides:
isCorrectDatabaseImplementationin classPostgresDatabase- Parameters:
conn- the database connection to check- Returns:
- true if this is an EnterpriseDB connection, false otherwise
- Throws:
DatabaseException- if there is an error querying the database
-
getShortName
Description copied from interface:DatabaseReturns an all-lower-case short name of the product. Used for end-user selecting of database type such as the DBMS precondition.- Specified by:
getShortNamein interfaceDatabase- Overrides:
getShortNamein classPostgresDatabase
-
getPriority
public int getPriority()- Specified by:
getPriorityin interfacePrioritizedService- Overrides:
getPriorityin classPostgresDatabase
-
getDefaultDriver
Description copied from interface:DatabaseIf this database understands the given url, return the default driver class name. Otherwise return null.- Specified by:
getDefaultDriverin interfaceDatabase- Overrides:
getDefaultDriverin classPostgresDatabase
-
getDefaultPort
- Specified by:
getDefaultPortin interfaceDatabase- Overrides:
getDefaultPortin classPostgresDatabase
-
supportsCreateIfNotExists
Description copied from interface:DatabaseDoes the database support the "if not exits" syntax?- Specified by:
supportsCreateIfNotExistsin interfaceDatabase- Overrides:
supportsCreateIfNotExistsin classPostgresDatabase- Parameters:
type- the DatabaseObject type to be checked.- Returns:
- true if the "if not exists" syntax is supported, false otherwise.
-
supportsCompositeTypeSnapshot
public boolean supportsCompositeTypeSnapshot()EnterpriseDB (Advanced Server) acceptsCREATE TYPE ... AS (...), but the standard composite-type snapshot generator does not read composite types on it, so it opts down fromPostgresDatabase. This preserves today's behavior, where the generator explicitly excludes EnterpriseDB.- Overrides:
supportsCompositeTypeSnapshotin classPostgresDatabase- Returns:
- true if composite types on this database are snapshot-able via the standard generator
-