liquibase.database.core
Class MySQLDatabase

java.lang.Object
  extended by liquibase.database.AbstractDatabase
      extended by liquibase.database.core.MySQLDatabase
All Implemented Interfaces:
Database, DatabaseObject, PrioritizedService

public class MySQLDatabase
extends AbstractDatabase

Encapsulates MySQL database support.


Field Summary
static String PRODUCT_NAME
           
 
Fields inherited from class liquibase.database.AbstractDatabase
currentDateTimeFunction, databaseFunctions
 
Fields inherited from interface liquibase.servicelocator.PrioritizedService
PRIORITY_DATABASE, PRIORITY_DEFAULT
 
Constructor Summary
MySQLDatabase()
           
 
Method Summary
 String convertRequestedSchemaToCatalog(String requestedSchema)
           
 String convertRequestedSchemaToSchema(String requestedSchema)
           
 boolean disableForeignKeyChecks()
           
 void enableForeignKeyChecks()
           
 String escapeDatabaseObject(String objectName)
           
 String escapeIndexName(String schemaName, String indexName)
           
 String getConcatSql(String... values)
          Returns SQL to concat the passed values.
 String getCurrentDateTimeFunction()
          Returns database-specific function for generating the current date/time.
protected  String getDefaultDatabaseSchemaName()
           
 String getDefaultDriver(String url)
          If this database understands the given url, return the default driver class name.
 String getLineComment()
          Returns database-specific line comment string.
 int getPriority()
           
 String getTypeName()
          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 supportsForeignKeyDisable()
           
 boolean supportsInitiallyDeferrableColumns()
          Returns whether this database support initially deferrable columns.
 boolean supportsSequences()
          Does the database type support sequence.
 boolean supportsTablespaces()
           
 
Methods inherited from class liquibase.database.AbstractDatabase
canCreateChangeLogTable, checkDatabaseChangeLogLockTable, checkDatabaseChangeLogTable, close, commit, doesTagExist, dropDatabaseObjects, equals, escapeColumnName, escapeColumnNameList, escapeConstraintName, escapeSequenceName, escapeStringForDatabase, escapeTableName, escapeViewName, execute, executeRollbackStatements, executeStatements, generatePrimaryKeyName, getAutoCommitMode, getAutoIncrementClause, getConnection, getContainingObjects, getDatabaseChangeLogLockTableName, getDatabaseChangeLogTableName, getDatabaseFunctions, getDatabaseMajorVersion, getDatabaseMinorVersion, getDatabaseProductName, getDatabaseProductVersion, getDateLiteral, getDateLiteral, getDateLiteral, getDateTimeLiteral, getDefaultCatalogName, getDefaultSchemaName, getLiquibaseSchemaName, getNextChangeSetSequenceValue, getRanChangeSet, getRanChangeSetList, getRanDate, getRunStatus, getSystemTablesAndViews, getTable, getTimeLiteral, getViewDefinition, hasDatabaseChangeLogLockTable, hasDatabaseChangeLogTable, hashCode, isAutoCommit, isDateOnly, isDateTime, isLiquibaseTable, isLocalDatabase, isReservedWord, isSystemTable, isSystemView, isTimeOnly, markChangeSetExecStatus, parseDate, removeRanStatus, requiresPassword, requiresUsername, reset, rollback, saveRollbackStatement, saveStatements, setAutoCommit, setCanCacheLiquibaseTableInfo, setConnection, setCurrentDateTimeFunction, setDatabaseChangeLogLockTableName, setDatabaseChangeLogTableName, setDefaultSchemaName, shouldQuoteValue, supportsAutoIncrement, supportsDDLInTransaction, supportsDropTableCascadeConstraints, supportsRestrictForeignKeys, supportsSchemas, tag, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

PRODUCT_NAME

public static final String PRODUCT_NAME
See Also:
Constant Field Values
Constructor Detail

MySQLDatabase

public MySQLDatabase()
Method Detail

getTypeName

public String getTypeName()
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.


getPriority

public int getPriority()

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.

Throws:
DatabaseException

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.


supportsSequences

public boolean supportsSequences()
Description copied from class: AbstractDatabase
Does the database type support sequence.

Specified by:
supportsSequences in interface Database
Overrides:
supportsSequences in class AbstractDatabase

supportsInitiallyDeferrableColumns

public boolean supportsInitiallyDeferrableColumns()
Description copied from interface: Database
Returns whether this database support initially deferrable columns.


getCurrentDateTimeFunction

public String getCurrentDateTimeFunction()
Description copied from interface: Database
Returns database-specific function for generating the current date/time.


getLineComment

public String getLineComment()
Description copied from class: AbstractDatabase
Returns database-specific line comment string.

Specified by:
getLineComment in interface Database
Overrides:
getLineComment in class AbstractDatabase

getConcatSql

public String getConcatSql(String... values)
Description copied from interface: Database
Returns SQL to concat the passed values.

Specified by:
getConcatSql in interface Database
Overrides:
getConcatSql in class AbstractDatabase

supportsTablespaces

public boolean supportsTablespaces()

getDefaultDatabaseSchemaName

protected String getDefaultDatabaseSchemaName()
                                       throws DatabaseException
Overrides:
getDefaultDatabaseSchemaName in class AbstractDatabase
Throws:
DatabaseException

convertRequestedSchemaToSchema

public String convertRequestedSchemaToSchema(String requestedSchema)
                                      throws DatabaseException
Specified by:
convertRequestedSchemaToSchema in interface Database
Overrides:
convertRequestedSchemaToSchema in class AbstractDatabase
Throws:
DatabaseException

convertRequestedSchemaToCatalog

public String convertRequestedSchemaToCatalog(String requestedSchema)
                                       throws DatabaseException
Specified by:
convertRequestedSchemaToCatalog in interface Database
Overrides:
convertRequestedSchemaToCatalog in class AbstractDatabase
Throws:
DatabaseException

escapeDatabaseObject

public String escapeDatabaseObject(String objectName)
Specified by:
escapeDatabaseObject in interface Database
Overrides:
escapeDatabaseObject in class AbstractDatabase

escapeIndexName

public String escapeIndexName(String schemaName,
                              String indexName)
Specified by:
escapeIndexName in interface Database
Overrides:
escapeIndexName in class AbstractDatabase

supportsForeignKeyDisable

public boolean supportsForeignKeyDisable()
Specified by:
supportsForeignKeyDisable in interface Database
Overrides:
supportsForeignKeyDisable in class AbstractDatabase

disableForeignKeyChecks

public boolean disableForeignKeyChecks()
                                throws DatabaseException
Specified by:
disableForeignKeyChecks in interface Database
Overrides:
disableForeignKeyChecks in class AbstractDatabase
Throws:
DatabaseException

enableForeignKeyChecks

public void enableForeignKeyChecks()
                            throws DatabaseException
Specified by:
enableForeignKeyChecks in interface Database
Overrides:
enableForeignKeyChecks in class AbstractDatabase
Throws:
DatabaseException


Copyright © 2004-2011 Liquibase.org. All Rights Reserved.