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_PATTERNFields 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 TypeMethodDescriptionprotected StringgetDefaultDriver(String url) If this database understands the given url, return the default driver class name.intMost relational databases support 9 fractional digits, and subclasses must overwrite this method if they support less than that.protected StringReturns an all-lower-case short name of the product.booleanIs this AbstractDatabase subclass the correct one to use for the given connection.booleansupports(Class<? extends DatabaseObject> object) Whether this database supports the specified object type.booleansupportsCreateIfNotExists(Class<? extends DatabaseObject> type) Does the database support the "if not exits" syntax?booleanDoes the particular database implementation support the database changelog history feature and associated table?booleanDoes 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, warnAboutAlterColumnMethods 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, 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, failOnDefferable, generateConnectCommandSuccessMessage, getDisplayName, temporarilySetObjectQuotingStrategy
-
Constructor Details
-
MariaDBDatabase
public MariaDBDatabase()
-
-
Method Details
-
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 classMySQLDatabase
-
getDefaultDatabaseProductName
- Overrides:
getDefaultDatabaseProductNamein classMySQLDatabase
-
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 classMySQLDatabase
-
getMaxFractionalDigitsForTimestamp
public int getMaxFractionalDigitsForTimestamp()Description copied from class:AbstractJdbcDatabaseMost relational databases support 9 fractional digits, and subclasses must overwrite this method if they support less than that.- Specified by:
getMaxFractionalDigitsForTimestampin interfaceDatabase- Overrides:
getMaxFractionalDigitsForTimestampin classMySQLDatabase- Returns:
- the maximum number of supported fractional digits in TIMESTAMP columns
-
isCorrectDatabaseImplementation
Description copied from interface:DatabaseIs this AbstractDatabase subclass the correct one to use for the given connection.- Specified by:
isCorrectDatabaseImplementationin interfaceDatabase- Overrides:
isCorrectDatabaseImplementationin classMySQLDatabase- Throws:
DatabaseException
-
getMinimumVersionForFractionalDigitsForTimestamp
- Overrides:
getMinimumVersionForFractionalDigitsForTimestampin classMySQLDatabase
-
supports
Description copied from interface:DatabaseWhether 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:
supportsin interfaceDatabase- Overrides:
supportsin 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:AbstractJdbcDatabaseDoes the database type support sequence.- Specified by:
supportsSequencesin interfaceDatabase- Overrides:
supportsSequencesin classMySQLDatabase
-
supportsCreateIfNotExists
Description copied from interface:DatabaseDoes the database support the "if not exits" syntax?- Specified by:
supportsCreateIfNotExistsin interfaceDatabase- Overrides:
supportsCreateIfNotExistsin 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:DatabaseDoes the particular database implementation support the database changelog history feature and associated table?- Specified by:
supportsDatabaseChangeLogHistoryin interfaceDatabase- Overrides:
supportsDatabaseChangeLogHistoryin classMySQLDatabase- Returns:
- true if supported, false otherwise
-