Class SybaseASEDatabase

java.lang.Object
org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>
org.flywaydb.database.sybasease.SybaseASEDatabase
All Implemented Interfaces:
Closeable, AutoCloseable

public class SybaseASEDatabase extends org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>
  • Field Summary

    Fields inherited from class org.flywaydb.core.internal.database.base.Database

    configuration, databaseType, jdbcConnectionFactory, jdbcMetaData, jdbcTemplate, rawMainJdbcConnection, statementInterceptor
  • Constructor Summary

    Constructors
    Constructor
    Description
    SybaseASEDatabase(org.flywaydb.core.api.configuration.Configuration configuration, org.flywaydb.core.internal.jdbc.JdbcConnectionFactory jdbcConnectionFactory, org.flywaydb.core.internal.jdbc.StatementInterceptor statementInterceptor)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
     
    protected String
     
    void
    ensureSupported(org.flywaydb.core.api.configuration.Configuration configuration)
     
     
     
     
    org.flywaydb.core.internal.sqlscript.Delimiter
     
     
    getRawCreateScript(org.flywaydb.core.internal.database.base.Table table, boolean baseline)
     
    boolean
     
    boolean
     
    boolean
    Multi statement transaction support is dependent on the 'ddl in tran' option being set.

    Methods inherited from class org.flywaydb.core.internal.database.base.Database

    cleanPostSchemas, cleanPreSchemas, close, computeVersionDisplayName, determineVersion, disposeEventConnection, doCleanPostSchemas, doCleanPreSchemas, doGetCatalog, doQuote, ensureDatabaseIsRecentEnough, ensureDatabaseNotOlderThanOtherwiseRecommendUpgradeToFlywayEdition, getAllSchemas, getBaselineStatement, getCatalog, getConfiguration, getCreateScript, getCurrentUser, getDatabaseHosting, getDatabaseType, getDeleteStatement, getEscapedQuote, getEventConnection, getInsertStatement, getInstalledBy, getJdbcMetaData, getMainConnection, getMigrationConnection, getSelectStatement, getUpdateStatement, getVersion, hasEventConnection, notifyDatabaseIsNotFormallySupported, quote, recommendFlywayUpgradeIfNecessary, recommendFlywayUpgradeIfNecessaryForMajorVersion, unQuote, useSingleConnection

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SybaseASEDatabase

      public SybaseASEDatabase(org.flywaydb.core.api.configuration.Configuration configuration, org.flywaydb.core.internal.jdbc.JdbcConnectionFactory jdbcConnectionFactory, org.flywaydb.core.internal.jdbc.StatementInterceptor statementInterceptor)
  • Method Details

    • doGetConnection

      protected SybaseASEConnection doGetConnection(Connection connection)
      Specified by:
      doGetConnection in class org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>
    • ensureSupported

      public void ensureSupported(org.flywaydb.core.api.configuration.Configuration configuration)
      Specified by:
      ensureSupported in class org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>
    • getRawCreateScript

      public String getRawCreateScript(org.flywaydb.core.internal.database.base.Table table, boolean baseline)
      Specified by:
      getRawCreateScript in class org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>
    • supportsEmptyMigrationDescription

      public boolean supportsEmptyMigrationDescription()
      Overrides:
      supportsEmptyMigrationDescription in class org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>
    • getDefaultDelimiter

      public org.flywaydb.core.internal.sqlscript.Delimiter getDefaultDelimiter()
      Overrides:
      getDefaultDelimiter in class org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>
    • doGetCurrentUser

      protected String doGetCurrentUser() throws SQLException
      Overrides:
      doGetCurrentUser in class org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>
      Throws:
      SQLException
    • supportsDdlTransactions

      public boolean supportsDdlTransactions()
      Specified by:
      supportsDdlTransactions in class org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>
    • getBooleanTrue

      public String getBooleanTrue()
      Specified by:
      getBooleanTrue in class org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>
    • getBooleanFalse

      public String getBooleanFalse()
      Specified by:
      getBooleanFalse in class org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>
    • getOpenQuote

      public String getOpenQuote()
      Overrides:
      getOpenQuote in class org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>
    • getCloseQuote

      public String getCloseQuote()
      Overrides:
      getCloseQuote in class org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>
    • catalogIsSchema

      public boolean catalogIsSchema()
      Specified by:
      catalogIsSchema in class org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>
    • supportsMultiStatementTransactions

      public boolean supportsMultiStatementTransactions()
      Multi statement transaction support is dependent on the 'ddl in tran' option being set. However, setting 'ddl in tran' doesn't necessarily mean that multi-statement transactions are supported. i.e. - multi statement transaction support => ddl in tran - ddl in tran =/> multi statement transaction support Also, ddl in tran can change during execution for unknown reasons. Therefore, as a best guess: - When this method is called, check ddl in tran - If ddl in tran is true, assume support for multi statement transactions forever more - Never check ddl in tran again - If ddl in tran is false, return false - Check ddl in tran again on the next call
      Overrides:
      supportsMultiStatementTransactions in class org.flywaydb.core.internal.database.base.Database<SybaseASEConnection>