liquibase.database.core
Class SybaseDatabase

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

public class SybaseDatabase
extends AbstractJdbcDatabase

Encapsulates Sybase ASE database support.


Field Summary
static String PRODUCT_NAME
           
protected  Set<String> systemTablesAndViews
           
 
Fields inherited from class liquibase.database.AbstractJdbcDatabase
caseSensitive, currentDateTimeFunction, dateFunctions, defaultAutoIncrementBy, defaultAutoIncrementStartWith, defaultCatalogName, defaultSchemaName, quotingEndCharacter, quotingEndReplacement, quotingStartCharacter, quotingStrategy, sequenceCurrentValueFunction, sequenceNextValueFunction, unmodifiableDataTypes, unquotedObjectsAreUppercased
 
Fields inherited from interface liquibase.servicelocator.PrioritizedService
COMPARATOR, PRIORITY_DATABASE, PRIORITY_DEFAULT
 
Constructor Summary
SybaseDatabase()
           
 
Method Summary
 String escapeIndexName(String catalogName, String schemaName, String indexName)
           
 String escapeObjectName(String objectName, Class<? extends DatabaseObject> objectType)
           
protected  boolean generateAutoIncrementBy(BigInteger incrementBy)
           
protected  boolean generateAutoIncrementStartWith(BigInteger startWith)
           
 String generateDefaultConstraintName(String tableName, String columnName)
           
protected  String getAutoIncrementClause()
           
 String getConcatSql(String... values)
          Returns SQL to concat the passed values.
protected  String getConnectionSchemaNameCallStatement()
          Used to obtain the connection schema name through a statement Override this method to change the statement.
 int getDatabaseMajorVersion()
           
 int getDatabaseMinorVersion()
           
protected  String getDefaultDatabaseProductName()
           
 String getDefaultDriver(String url)
          If this database understands the given url, return the default driver class name.
 Integer getDefaultPort()
           
 int getPriority()
           
 String getShortName()
          Returns an all-lower-case short name of the product.
 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.
 boolean isSystemObject(DatabaseObject example)
           
 boolean supportsDDLInTransaction()
          Sybase does not support DDL and meta data in transactions properly, as such we turn off the commit and turn on auto commit.
 boolean supportsDropTableCascadeConstraints()
           
 boolean supportsInitiallyDeferrableColumns()
          Returns whether this database support initially deferrable columns.
 boolean supportsRestrictForeignKeys()
           
 boolean supportsSequences()
          Does the database type support sequence.
 boolean supportsTablespaces()
           
 
Methods inherited from class liquibase.database.AbstractJdbcDatabase
addReservedWords, canCreateChangeLogTable, close, commit, correctObjectName, correctSchema, correctSchema, createsIndexesForForeignKeys, dataTypeIsNotModifiable, disableForeignKeyChecks, doesTagExist, dropDatabaseObjects, enableForeignKeyChecks, equals, escapeColumnName, escapeColumnName, escapeColumnNameList, escapeConstraintName, escapeDataTypeName, escapeObjectName, escapeSequenceName, escapeStringForDatabase, escapeTableName, escapeViewName, execute, executeRollbackStatements, executeRollbackStatements, executeStatements, filterRollbackVisitors, generateDatabaseFunctionValue, generatePrimaryKeyName, get, getAutoCommitMode, getAutoIncrementByClause, getAutoIncrementClause, getAutoIncrementClosing, getAutoIncrementOpening, getAutoIncrementStartWithClause, getConnection, getConnectionCatalogName, getConnectionSchemaName, getContainingObjects, getCurrentDateTimeFunction, getDatabaseChangeLogLockTableName, getDatabaseChangeLogTableName, getDatabaseProductName, getDatabaseProductVersion, getDataTypeMaxParameters, getDateFunctions, getDateLiteral, getDateLiteral, getDateLiteral, getDateTimeLiteral, getDefaultCatalogName, getDefaultSchema, getDefaultSchemaName, getFetchSize, getJdbcCatalogName, getJdbcCatalogName, getJdbcSchemaName, getJdbcSchemaName, getLineComment, getLiquibaseCatalogName, getLiquibaseSchemaName, getLiquibaseTablespaceName, getName, getObjectQuotingStrategy, getOutputDefaultCatalog, getOutputDefaultSchema, getRanChangeSet, getRanChangeSetList, getRanDate, getRunStatus, getSchemaFromJdbcInfo, getSystemSchema, getSystemTables, getTimeLiteral, hashCode, isAutoCommit, isCaseSensitive, isDateOnly, isDateTime, isDefaultCatalog, isDefaultSchema, isFunction, isLiquibaseObject, isReservedWord, isSafeToRunUpdate, isSystemView, isTimeOnly, isTimestamp, jdbcCallsCatalogsSchemas, markChangeSetExecStatus, mustQuoteObjectName, parseDate, quoteObject, removeRanStatus, requiresPassword, requiresUsername, resetInternalState, rollback, saveRollbackStatement, saveStatements, set, setAutoCommit, setCanCacheLiquibaseTableInfo, setCaseSensitive, setConnection, setCurrentDateTimeFunction, setDatabaseChangeLogLockTableName, setDatabaseChangeLogTableName, setDefaultCatalogName, setDefaultSchemaName, setLiquibaseCatalogName, setLiquibaseSchemaName, setLiquibaseTablespaceName, setObjectQuotingStrategy, setOutputDefaultCatalog, setOutputDefaultSchema, startsWithNumeric, supportsAutoIncrement, supportsCatalogInObjectName, supportsCatalogs, supportsForeignKeyDisable, supportsPrimaryKeyNames, supportsSchemas, tag, toString, unescapeDataTypeName, unescapeDataTypeString, validate
 
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

systemTablesAndViews

protected Set<String> systemTablesAndViews
Constructor Detail

SybaseDatabase

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


getPriority

public int getPriority()

getDefaultPort

public Integer getDefaultPort()

getDefaultDatabaseProductName

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

supportsDDLInTransaction

public boolean supportsDDLInTransaction()
Sybase does not support DDL and meta data in transactions properly, as such we turn off the commit and turn on auto commit.

Specified by:
supportsDDLInTransaction in interface Database
Overrides:
supportsDDLInTransaction in class AbstractJdbcDatabase
Returns:
True if the database supports DDL within a transaction, otherwise false.

getSystemViews

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

Overrides:
getSystemViews in class AbstractJdbcDatabase

supportsInitiallyDeferrableColumns

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


supportsSequences

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

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

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.


getAutoIncrementClause

protected String getAutoIncrementClause()
Overrides:
getAutoIncrementClause in class AbstractJdbcDatabase

generateAutoIncrementStartWith

protected boolean generateAutoIncrementStartWith(BigInteger startWith)
Overrides:
generateAutoIncrementStartWith in class AbstractJdbcDatabase

generateAutoIncrementBy

protected boolean generateAutoIncrementBy(BigInteger incrementBy)
Overrides:
generateAutoIncrementBy in class AbstractJdbcDatabase

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 AbstractJdbcDatabase

supportsTablespaces

public boolean supportsTablespaces()

isSystemObject

public boolean isSystemObject(DatabaseObject example)
Specified by:
isSystemObject in interface Database
Overrides:
isSystemObject in class AbstractJdbcDatabase

generateDefaultConstraintName

public String generateDefaultConstraintName(String tableName,
                                            String columnName)

getConnectionSchemaNameCallStatement

protected String getConnectionSchemaNameCallStatement()
Description copied from class: AbstractJdbcDatabase
Used to obtain the connection schema name through a statement Override this method to change the statement. Only override this if getConnectionSchemaName is left unchanges or is using this method.

Overrides:
getConnectionSchemaNameCallStatement in class AbstractJdbcDatabase
Returns:
See Also:
AbstractJdbcDatabase.getConnectionSchemaName()

supportsRestrictForeignKeys

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

supportsDropTableCascadeConstraints

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

getViewDefinition

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

getDatabaseMajorVersion

public int getDatabaseMajorVersion()
                            throws DatabaseException
Specified by:
getDatabaseMajorVersion in interface Database
Overrides:
getDatabaseMajorVersion in class AbstractJdbcDatabase
Returns:
the major version if supported, otherwise -1
Throws:
DatabaseException
See Also:
AbstractJdbcDatabase.getDatabaseMajorVersion()

getDatabaseMinorVersion

public int getDatabaseMinorVersion()
                            throws DatabaseException
Specified by:
getDatabaseMinorVersion in interface Database
Overrides:
getDatabaseMinorVersion in class AbstractJdbcDatabase
Returns:
the minor version if supported, otherwise -1
Throws:
DatabaseException
See Also:
AbstractJdbcDatabase.getDatabaseMinorVersion()

escapeIndexName

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

escapeObjectName

public String escapeObjectName(String objectName,
                               Class<? extends DatabaseObject> objectType)
Specified by:
escapeObjectName in interface Database
Overrides:
escapeObjectName in class AbstractJdbcDatabase


Copyright © 2016 Liquibase.org. All rights reserved.