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
public class MariaDBDatabase extends MySQLDatabase
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.servicelocator.PrioritizedService
COMPARATOR, PRIORITY_DATABASE, PRIORITY_DEFAULT
-
-
Constructor Summary
Constructors Constructor Description MariaDBDatabase()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
getDefaultDatabaseProductName()
String
getDefaultDriver(String url)
If this database understands the given url, return the default driver class name.int
getMaxFractionalDigitsForTimestamp()
Most relational databases support 9 fractional digits, and subclasses must overwrite this method if they support less than that.protected String
getMinimumVersionForFractionalDigitsForTimestamp()
String
getShortName()
Returns an all-lower-case short name of the product.boolean
isCorrectDatabaseImplementation(DatabaseConnection conn)
Is this AbstractDatabase subclass the correct one to use for the given connection.boolean
supportsSequences()
Does the database type support sequence.-
Methods inherited from class liquibase.database.core.MySQLDatabase
correctObjectName, createsIndexesForForeignKeys, disableForeignKeyChecks, enableForeignKeyChecks, escapeIndexName, escapeStringForDatabase, generateAutoIncrementBy, generateAutoIncrementStartWith, generateDatabaseFunctionValue, getAutoIncrementClause, getAutoIncrementClosing, getAutoIncrementOpening, getAutoIncrementStartWithClause, getConcatSql, getCurrentDateTimeFunction, getDatabasePatchVersion, getDefaultFractionalDigitsForTimestamp, getDefaultPort, getLineComment, getPriority, getQuotingEndCharacter, getQuotingStartCharacter, getSchemaFromJdbcInfo, getTableOptionAutoIncrementStartWithClause, isMinimumMySQLVersion, isReservedWord, mustQuoteObjectName, supportsCatalogs, supportsForeignKeyDisable, supportsInitiallyDeferrableColumns, supportsSchemas, supportsTablespaces, warnAboutAlterColumn
-
Methods inherited from class liquibase.database.AbstractJdbcDatabase
addReservedWords, 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, 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, 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
afterUpdate, failOnDefferable, getDisplayName
-
-
-
-
Method Detail
-
getShortName
public String 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
protected String getDefaultDatabaseProductName()
- Overrides:
getDefaultDatabaseProductName
in classMySQLDatabase
-
getDefaultDriver
public String getDefaultDriver(String url)
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
public boolean isCorrectDatabaseImplementation(DatabaseConnection conn) throws DatabaseException
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
protected String getMinimumVersionForFractionalDigitsForTimestamp()
- Overrides:
getMinimumVersionForFractionalDigitsForTimestamp
in classMySQLDatabase
-
supportsSequences
public boolean supportsSequences()
Description copied from class:AbstractJdbcDatabase
Does the database type support sequence.- Specified by:
supportsSequences
in interfaceDatabase
- Overrides:
supportsSequences
in classMySQLDatabase
-
-