Package liquibase.database.core
Class MariaDBDatabase
java.lang.Object
liquibase.database.AbstractJdbcDatabase
liquibase.database.core.MySQLDatabase
liquibase.database.core.MariaDBDatabase
- All Implemented Interfaces:
AutoCloseable
,Database
,PrioritizedService
Encapsulates MySQL database support.
-
Field Summary
Fields inherited from class liquibase.database.core.MySQLDatabase
PRECISION_PATTERN
Fields inherited from class liquibase.database.AbstractJdbcDatabase
caseSensitive, currentDateTimeFunction, dateFunctions, defaultAutoIncrementBy, defaultAutoIncrementStartWith, defaultCatalogName, defaultSchemaName, quotingStrategy, sequenceCurrentValueFunction, sequenceNextValueFunction, unmodifiableDataTypes, unquotedObjectsAreUppercased
Fields inherited from interface liquibase.database.Database
COMPLETE_SQL_SCOPE_KEY
Fields inherited from interface liquibase.servicelocator.PrioritizedService
COMPARATOR, PRIORITY_DATABASE, PRIORITY_DEFAULT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected String
getDefaultDriver
(String url) If this database understands the given url, return the default driver class name.int
Most relational databases support 9 fractional digits, and subclasses must overwrite this method if they support less than that.protected String
Returns an all-lower-case short name of the product.boolean
Is this AbstractDatabase subclass the correct one to use for the given connection.boolean
supports
(Class<? extends DatabaseObject> object) Whether this database supports the specified object type.boolean
supportsCreateIfNotExists
(Class<? extends DatabaseObject> type) Does the database support the "if not exits" syntax?boolean
Does the particular database implementation support the database changelog history feature and associated table?boolean
Does the database type support sequence.Methods inherited from class liquibase.database.core.MySQLDatabase
addReservedWords, correctObjectName, createsIndexesForForeignKeys, disableForeignKeyChecks, enableForeignKeyChecks, escapeIndexName, escapeStringForDatabase, generateAutoIncrementBy, generateAutoIncrementStartWith, generateDatabaseFunctionValue, getAutoIncrementClause, getAutoIncrementClosing, getAutoIncrementOpening, getAutoIncrementStartWithClause, getConcatSql, getCurrentDateTimeFunction, getDatabasePatchVersion, getDefaultFractionalDigitsForTimestamp, getDefaultPort, getFSPFromTimeType, getLineComment, getPriority, getQuotingEndCharacter, getQuotingStartCharacter, getSchemaFromJdbcInfo, getTableOptionAutoIncrementStartWithClause, getUseAffectedRows, isMinimumMySQLVersion, isReservedWord, mustQuoteObjectName, supportsCatalogs, supportsForeignKeyDisable, supportsInitiallyDeferrableColumns, supportsSchemas, supportsTablespaces, warnAboutAlterColumn
Methods inherited from class liquibase.database.AbstractJdbcDatabase
canCreateChangeLogTable, close, commit, correctSchema, correctSchema, dataTypeIsNotModifiable, doesTagExist, dropDatabaseObjects, equals, escapeColumnName, escapeColumnName, escapeColumnNameList, escapeConstraintName, escapeDataTypeName, escapeObjectName, escapeObjectName, escapeSequenceName, escapeTableName, escapeViewName, execute, executeRollbackStatements, executeRollbackStatements, executeStatements, filterRollbackVisitors, generatePrimaryKeyName, get, getAutoCommitMode, getAutoIncrementByClause, getAutoIncrementClause, getAutoIncrementClause, getConnection, getConnectionCatalogName, getConnectionSchemaName, getConnectionSchemaNameCallStatement, getContainingObjects, getCurrentDateTimeFunction, getDatabaseChangeLogLockTableName, getDatabaseChangeLogTableName, getDatabaseMajorVersion, getDatabaseMinorVersion, getDatabaseProductName, getDatabaseProductVersion, getDataTypeMaxParameters, getDateFunctions, getDateLiteral, getDateLiteral, getDateLiteral, getDateTimeLiteral, getDefaultCatalogName, getDefaultScaleForNativeDataType, getDefaultSchema, getDefaultSchemaName, getFetchSize, getJdbcCatalogName, getJdbcCatalogName, getJdbcSchemaName, getJdbcSchemaName, getLiquibaseCatalogName, getLiquibaseSchemaName, getLiquibaseTablespaceName, getName, getObjectQuotingStrategy, getOutputDefaultCatalog, getOutputDefaultSchema, getQuotingEndReplacement, getRanChangeSet, getRanChangeSetList, getRanDate, getRawDatabaseChangeLogLockTableName, getRawDatabaseChangeLogTableName, getRunStatus, getSchemaAndCatalogCase, getSystemSchema, getSystemTables, getSystemViews, getTimeLiteral, getViewDefinition, hashCode, isAutoCommit, isCaseSensitive, isCatalogOrSchemaType, isCurrentTimeFunction, isDateOnly, isDateTime, isDefaultCatalog, isDefaultSchema, isFunction, isLiquibaseObject, isSafeToRunUpdate, isSystemObject, isSystemView, isTimeOnly, isTimestamp, jdbcCallsCatalogsSchemas, markChangeSetExecStatus, parseDate, quoteObject, removeRanStatus, requiresExplicitNullForColumns, requiresPassword, requiresUsername, resetInternalState, rollback, saveRollbackStatement, saveStatements, set, setAutoCommit, setCanCacheLiquibaseTableInfo, setCaseSensitive, setConnection, setCurrentDateTimeFunction, setDatabaseChangeLogLockTableName, setDatabaseChangeLogTableName, setDefaultCatalogName, setDefaultSchemaName, setLiquibaseCatalogName, setLiquibaseSchemaName, setLiquibaseTablespaceName, setObjectQuotingStrategy, setOutputDefaultCatalog, setOutputDefaultSchema, setPreviousAutoCommit, startsWithNumeric, supportsAutoIncrement, supportsBatchUpdates, supportsCatalogInObjectName, supportsDDLInTransaction, supportsDropTableCascadeConstraints, supportsNotNullConstraintNames, supportsPrimaryKeyNames, supportsRestrictForeignKeys, tag, toString, unescapeDataTypeName, unescapeDataTypeString, validate
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface liquibase.database.Database
addCompleteSqlToScope, afterUpdate, checkDatabaseConnection, dropDatabaseObjects, failOnDefferable, generateConnectCommandSuccessMessage, getDisplayName, temporarilySetObjectQuotingStrategy
-
Constructor Details
-
MariaDBDatabase
public MariaDBDatabase()
-
-
Method Details
-
getShortName
Description copied from interface:Database
Returns an all-lower-case short name of the product. Used for end-user selecting of database type such as the DBMS precondition.- Specified by:
getShortName
in interfaceDatabase
- Overrides:
getShortName
in classMySQLDatabase
-
getDefaultDatabaseProductName
- Overrides:
getDefaultDatabaseProductName
in classMySQLDatabase
-
getDefaultDriver
Description copied from interface:Database
If this database understands the given url, return the default driver class name. Otherwise return null.- Specified by:
getDefaultDriver
in interfaceDatabase
- Overrides:
getDefaultDriver
in classMySQLDatabase
-
getMaxFractionalDigitsForTimestamp
public int getMaxFractionalDigitsForTimestamp()Description copied from class:AbstractJdbcDatabase
Most relational databases support 9 fractional digits, and subclasses must overwrite this method if they support less than that.- Specified by:
getMaxFractionalDigitsForTimestamp
in interfaceDatabase
- Overrides:
getMaxFractionalDigitsForTimestamp
in classMySQLDatabase
- Returns:
- the maximum number of supported fractional digits in TIMESTAMP columns
-
isCorrectDatabaseImplementation
Description copied from interface:Database
Is this AbstractDatabase subclass the correct one to use for the given connection.- Specified by:
isCorrectDatabaseImplementation
in interfaceDatabase
- Overrides:
isCorrectDatabaseImplementation
in classMySQLDatabase
- Throws:
DatabaseException
-
getMinimumVersionForFractionalDigitsForTimestamp
- Overrides:
getMinimumVersionForFractionalDigitsForTimestamp
in classMySQLDatabase
-
supports
Description copied from interface:Database
Whether this database supports the specified object type. It is invoking the deprecated methods to ensure that extensions are not broken, but once those are removed it will return only true- Specified by:
supports
in interfaceDatabase
- Overrides:
supports
in classMySQLDatabase
- Parameters:
object
- the object type to check- Returns:
- true if the database supports the object type, false otherwise
-
supportsSequences
public boolean supportsSequences()Description copied from class:AbstractJdbcDatabase
Does the database type support sequence.- Specified by:
supportsSequences
in interfaceDatabase
- Overrides:
supportsSequences
in classMySQLDatabase
-
supportsCreateIfNotExists
Description copied from interface:Database
Does the database support the "if not exits" syntax?- Specified by:
supportsCreateIfNotExists
in interfaceDatabase
- Overrides:
supportsCreateIfNotExists
in classMySQLDatabase
- Parameters:
type
- the DatabaseObject type to be checked.- Returns:
- true if the "if not exists" syntax is supported, false otherwise.
-
supportsDatabaseChangeLogHistory
public boolean supportsDatabaseChangeLogHistory()Description copied from interface:Database
Does the particular database implementation support the database changelog history feature and associated table?- Specified by:
supportsDatabaseChangeLogHistory
in interfaceDatabase
- Overrides:
supportsDatabaseChangeLogHistory
in classMySQLDatabase
- Returns:
- true if supported, false otherwise
-