liquibase.database.core
Class InformixDatabase

java.lang.Object
  extended by liquibase.database.AbstractJdbcDatabase
      extended by liquibase.database.core.InformixDatabase
All Implemented Interfaces:
Database, PrioritizedService

public class InformixDatabase
extends AbstractJdbcDatabase


Field Summary
 
Fields inherited from class liquibase.database.AbstractJdbcDatabase
currentDateTimeFunction, dateFunctions, defaultAutoIncrementBy, defaultAutoIncrementStartWith, quotingEndCharacter, quotingStartCharacter, quotingStrategy, sequenceCurrentValueFunction, sequenceNextValueFunction, unmodifiableDataTypes, unquotedObjectsAreUppercased
 
Fields inherited from interface liquibase.servicelocator.PrioritizedService
PRIORITY_DATABASE, PRIORITY_DEFAULT
 
Constructor Summary
InformixDatabase()
           
 
Method Summary
 void checkDatabaseChangeLogTable(boolean updateExistingNullChecksums, DatabaseChangeLog databaseChangeLog, String... contexts)
          This method will check the database ChangeLog table used to keep track of the changes in the file.
 String getAutoIncrementClause(BigInteger startWith, BigInteger incrementBy)
          Returns database-specific auto-increment DDL clause.
 String getDateLiteral(String isoDate)
          Return a date literal with the same value as a string formatted using ISO 8601.
protected  String getDefaultDatabaseProductName()
           
 String getDefaultDriver(String url)
          If this database understands the given url, return the default driver class name.
 Integer getDefaultPort()
           
 String getDefaultSchemaName()
           
 int getPriority()
           
 String getShortName()
          Returns an all-lower-case short name of the product.
protected  Set<String> getSystemViews()
          Returns system (undroppable) views.
 String getViewDefinition(CatalogAndSchema schema, String viewName)
           
 boolean isCorrectDatabaseImplementation(DatabaseConnection conn)
          Is this AbstractDatabase subclass the correct one to use for the given connection.
 void setConnection(DatabaseConnection connection)
           
 boolean supportsInitiallyDeferrableColumns()
          Returns whether this database support initially deferrable columns.
 boolean supportsRestrictForeignKeys()
           
 boolean supportsSchemas()
           
 boolean supportsTablespaces()
           
 
Methods inherited from class liquibase.database.AbstractJdbcDatabase
canCreateChangeLogTable, checkDatabaseChangeLogLockTable, close, commit, correctObjectName, correctSchema, correctSchema, dataTypeIsNotModifiable, disableForeignKeyChecks, doesTagExist, doGetDefaultCatalogName, doGetDefaultSchemaName, dropDatabaseObjects, enableForeignKeyChecks, equals, escapeColumnName, escapeColumnNameList, escapeConstraintName, escapeIndexName, escapeObjectName, escapeObjectName, escapeSequenceName, escapeStringForDatabase, escapeTableName, escapeViewName, execute, executeRollbackStatements, executeStatements, generateAutoIncrementBy, generateAutoIncrementStartWith, generateDatabaseFunctionValue, generatePrimaryKeyName, getAutoCommitMode, getAutoIncrementByClause, getAutoIncrementClause, getAutoIncrementClosing, getAutoIncrementOpening, getAutoIncrementStartWithClause, getConcatSql, getConnection, getContainingObjects, getCurrentDateTimeFunction, getDatabaseChangeLogLockTableName, getDatabaseChangeLogTableName, getDatabaseMajorVersion, getDatabaseMinorVersion, getDatabaseProductName, getDatabaseProductVersion, getDataTypeMaxParameters, getDateFunctions, getDateLiteral, getDateLiteral, getDateTimeLiteral, getDefaultCatalogName, getDefaultSchema, getJdbcCatalogName, getJdbcCatalogName, getJdbcSchemaName, getJdbcSchemaName, getLineComment, getLiquibaseCatalogName, getLiquibaseSchemaName, getLiquibaseTablespaceName, getName, getNextChangeSetSequenceValue, getObjectQuotingStrategy, getRanChangeSet, getRanChangeSetList, getRanDate, getRunStatus, getSchemaFromJdbcInfo, getSystemTables, getTimeLiteral, hasDatabaseChangeLogLockTable, hasDatabaseChangeLogTable, hashCode, isAutoCommit, isCaseSensitive, isDateOnly, isDateTime, isFunction, isLiquibaseObject, isReservedWord, isSafeToRunUpdate, isSystemObject, isSystemView, isTimeOnly, jdbcCallsCatalogsSchemas, markChangeSetExecStatus, parseDate, removeRanStatus, requiresPassword, requiresUsername, resetInternalState, resetRanChangeSetList, rollback, saveRollbackStatement, saveStatements, setAutoCommit, setCanCacheLiquibaseTableInfo, setCurrentDateTimeFunction, setDatabaseChangeLogLockTableName, setDatabaseChangeLogTableName, setDefaultCatalogName, setDefaultSchemaName, setLiquibaseTablespaceName, setObjectQuotingStrategy, startsWithNumeric, supportsAutoIncrement, supportsCatalogInObjectName, supportsCatalogs, supportsDDLInTransaction, supportsDropTableCascadeConstraints, supportsForeignKeyDisable, supportsSequences, tag, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

InformixDatabase

public InformixDatabase()
Method Detail

getSystemViews

protected Set<String> getSystemViews()
Description copied from class: AbstractJdbcDatabase
Returns system (undroppable) views.

Overrides:
getSystemViews in class AbstractJdbcDatabase

getPriority

public int getPriority()

getDefaultDatabaseProductName

protected String getDefaultDatabaseProductName()
Specified by:
getDefaultDatabaseProductName in class AbstractJdbcDatabase

getDefaultPort

public Integer getDefaultPort()

getDefaultSchemaName

public String getDefaultSchemaName()
Specified by:
getDefaultSchemaName in interface Database
Overrides:
getDefaultSchemaName in class AbstractJdbcDatabase

setConnection

public void setConnection(DatabaseConnection connection)
Specified by:
setConnection in interface Database
Overrides:
setConnection in class AbstractJdbcDatabase

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.


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.


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

supportsInitiallyDeferrableColumns

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


supportsTablespaces

public boolean supportsTablespaces()

checkDatabaseChangeLogTable

public void checkDatabaseChangeLogTable(boolean updateExistingNullChecksums,
                                        DatabaseChangeLog databaseChangeLog,
                                        String... contexts)
                                 throws DatabaseException
Description copied from class: AbstractJdbcDatabase
This method will check the database ChangeLog table used to keep track of the changes in the file. If the table does not exist it will create one otherwise it will not do anything besides outputting a log message.

Specified by:
checkDatabaseChangeLogTable in interface Database
Overrides:
checkDatabaseChangeLogTable in class AbstractJdbcDatabase
Throws:
DatabaseException

getViewDefinition

public String getViewDefinition(CatalogAndSchema schema,
                                String viewName)
                         throws DatabaseException
Specified by:
getViewDefinition in interface Database
Overrides:
getViewDefinition in class AbstractJdbcDatabase
Throws:
DatabaseException

getAutoIncrementClause

public String getAutoIncrementClause(BigInteger startWith,
                                     BigInteger incrementBy)
Description copied from class: AbstractJdbcDatabase
Returns database-specific auto-increment DDL clause.

Specified by:
getAutoIncrementClause in interface Database
Overrides:
getAutoIncrementClause in class AbstractJdbcDatabase

getDateLiteral

public String getDateLiteral(String isoDate)
Description copied from class: AbstractJdbcDatabase
Return a date literal with the same value as a string formatted using ISO 8601.

Note: many databases accept date literals in ISO8601 format with the 'T' replaced with a space. Only databases which do not accept these strings should need to override this method.

Implementation restriction: Currently, only the following subsets of ISO8601 are supported: yyyy-MM-dd hh:mm:ss yyyy-MM-ddThh:mm:ss

Specified by:
getDateLiteral in interface Database
Overrides:
getDateLiteral in class AbstractJdbcDatabase

supportsRestrictForeignKeys

public boolean supportsRestrictForeignKeys()
Specified by:
supportsRestrictForeignKeys in interface Database
Overrides:
supportsRestrictForeignKeys in class AbstractJdbcDatabase

supportsSchemas

public boolean supportsSchemas()
Specified by:
supportsSchemas in interface Database
Overrides:
supportsSchemas in class AbstractJdbcDatabase


Copyright © 2013 Liquibase.org. All Rights Reserved.