Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.hibernate.dialect
Class SybaseDialect

    java.lang.Object
      org.hibernate.dialect.Dialect
          org.hibernate.dialect.SybaseDialect

Direct Known Subclasses:
  SQLServerDialect, Sybase11Dialect, SybaseAnywhereDialect

    public class SybaseDialect

extends Dialect

An SQL dialect compatible with Sybase and MS SQL Server.

Author:
  Gavin King

Field Summary

Fields inherited from class org.hibernate.dialect.Dialect
`CLOSED_QUOTE, DEFAULT_BATCH_SIZE, NO_BATCH, QUOTE`

Constructor Summary
`SybaseDialect()`

Method Summary
`String` | `appendIdentitySelectToInsert(String insertSQL)` Provided we `Dialect.supportsInsertSelectIdentity()`, then attch the "select identity" clause to the insert statement.
`String` | `appendLockHint(LockMode mode, String tableName)` Some dialects support an alternative means to `SELECT FOR UPDATE`, whereby a "lock hint" is appends to the table name in the from clause.
`String` | `applyLocksToSql(String sql, Map aliasedLockModes, Map keyColumnNames)` Modifies the given SQL by applying the appropriate updates for the specified lock modes and key columns.
`boolean` | `doesReadCommittedCauseWritersToBlockReaders()` For the underlying database, is READ_COMMITTED isolation implemented by forcing readers to wait for write locks to be released?
`boolean` | `doesRepeatableReadCauseReadersToBlockWriters()` For the underlying database, is REPEATABLE_READ isolation implemented by forcing writers to wait for read locks to be released?
`boolean` | `dropTemporaryTableAfterUse()` Do we need to drop the temporary table after use?
`String` | `generateTemporaryTableName(String baseTableName)` Generate a temporary table name given the bas table.
`String` | `getAddColumnString()` The syntax used to add a column to a table (optional).
`String` | `getCurrentTimestampSelectString()` Retrieve the command used to retrieve the current timestammp from the database.
`String` | `getForUpdateString()` Get the string to append to SELECT statements to acquire locks for this dialect.
`String` | `getIdentityColumnString()` The syntax used during DDL to define a column as being an IDENTITY.
`String` | `getIdentitySelectString()` Get the select command to use to retrieve the last generated IDENTITY value.
`String` | `getNullColumnString()` The keyword used to specify a nullable column.
`ResultSet` | `getResultSet(CallableStatement ps)` Given a callable statement previously processed by `Dialect.registerResultSetOutParameter(java.sql.CallableStatement, int)`, extract the `ResultSet` from the OUT parameter.
`boolean` | `isCurrentTimestampSelectStringCallable()` Should the value returned by `Dialect.getCurrentTimestampSelectString()` be treated as callable.
`boolean` | `qualifyIndexName()` Do we need to qualify index names with the schema name?
`int` | `registerResultSetOutParameter(CallableStatement statement, int col)` Registers an OUT parameter which will be returing a `ResultSet`.
`boolean` | `supportsCurrentTimestampSelection()` Does this dialect support a way to retrieve the database's current timestamp value?
`boolean` | `supportsEmptyInList()` Does this dialect support empty IN lists? For example, is [where XYZ in ()] a supported construct?
`boolean` | `supportsExistsInSelect()` Does the dialect support an exists statement in the select clause?
`boolean` | `supportsIdentityColumns()` Does this dialect support identity column key generation?
`boolean` | `supportsInsertSelectIdentity()` Does the dialect support some form of inserting and selecting the generated IDENTITY value all in the same statement.
`boolean` | `supportsTemporaryTables()` Does this dialect support temporary tables?

Methods inherited from class org.hibernate.dialect.Dialect
`areStringComparisonsCaseInsensitive, bindLimitParametersFirst, bindLimitParametersInReverseOrder, buildSQLExceptionConverter, closeQuote, createCaseFragment, createOuterJoinFragment, dropConstraints, forUpdateOfColumns, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getCascadeConstraintsString, getCastTypeName, getColumnComment, getCreateMultisetTableString, getCreateSequenceString, getCreateSequenceString, getCreateSequenceStrings, getCreateSequenceStrings, getCreateTableString, getCreateTemporaryTablePostfix, getCreateTemporaryTableString, getCurrentTimestampSQLFunctionName, getDefaultProperties, getDialect, getDialect, getDropForeignKeyString, getDropSequenceString, getDropSequenceStrings, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateString, getForUpdateString, getFunctions, getHibernateTypeName, getHibernateTypeName, getIdentityColumnString, getIdentityInsertString, getIdentitySelectString, getKeywords, getLimitString, getLimitString, getLockingStrategy, getLowercaseFunction, getMaxAliasLength, getNativeIdentifierGeneratorClass, getNoColumnsInsertString, getQuerySequencesString, getSelectClauseNullString, getSelectGUIDString, getSelectSequenceNextValString, getSequenceNextValString, getTableComment, getTableTypeString, getTypeName, getTypeName, getViolatedConstraintNameExtracter, hasAlterTable, hasDataTypeInIdentityColumn, hasSelfReferentialForeignKeyBug, openQuote, performTemporaryTableDDLInIsolation, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword, supportsBindAsCallableArgument, supportsCascadeDelete, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsExpectedLobUsagePattern, supportsIfExistsAfterTableName, supportsIfExistsBeforeTableName, supportsLimit, supportsLimitOffset, supportsLobValueChangePropogation, supportsNotNullUnique, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsPooledSequences, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsSequences, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnique, supportsUniqueConstraintInCreateAlterTable, supportsVariableLimit, toBooleanValueString, toString, transformSelectString, useInputStreamToInsertBlob, useMaxForLimit`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### SybaseDialect

    public SybaseDialect()

Method Detail

### getAddColumnString

    public String getAddColumnString()

  Description copied from class: `Dialect`
  The syntax used to add a column to a table (optional).

  Overrides:
    `getAddColumnString` in class `Dialect`
  Returns:
    The "add column" fragment.

### getNullColumnString

    public String getNullColumnString()

  Description copied from class: `Dialect`
  The keyword used to specify a nullable column.

  Overrides:
    `getNullColumnString` in class `Dialect`
  Returns:
    String

### qualifyIndexName

    public boolean qualifyIndexName()

  Description copied from class: `Dialect`
  Do we need to qualify index names with the schema name?

  Overrides:
    `qualifyIndexName` in class `Dialect`
  Returns:
    boolean

### getForUpdateString

    public String getForUpdateString()

  Description copied from class: `Dialect`
  Get the string to append to SELECT statements to acquire locks for this dialect.

  Overrides:
    `getForUpdateString` in class `Dialect`
  Returns:
    The appropriate `FOR UPDATE` clause string.

### supportsIdentityColumns

    public boolean supportsIdentityColumns()

  Description copied from class: `Dialect`
  Does this dialect support identity column key generation?

  Overrides:
    `supportsIdentityColumns` in class `Dialect`
  Returns:
    True if IDENTITY columns are supported; false otherwise.

### getIdentitySelectString

    public String getIdentitySelectString()

  Description copied from class: `Dialect`
  Get the select command to use to retrieve the last generated IDENTITY value.

  Overrides:
    `getIdentitySelectString` in class `Dialect`
  Returns:
    The appropriate select command

### getIdentityColumnString

    public String getIdentityColumnString()

  Description copied from class: `Dialect`
  The syntax used during DDL to define a column as being an IDENTITY.

  Overrides:
    `getIdentityColumnString` in class `Dialect`
  Returns:
    The appropriate DDL fragment.

### supportsInsertSelectIdentity

    public boolean supportsInsertSelectIdentity()

  Description copied from class: `Dialect`
  Does the dialect support some form of inserting and selecting the generated IDENTITY value all in the same statement.

  Overrides:
    `supportsInsertSelectIdentity` in class `Dialect`
  Returns:
    True if the dialect supports selecting the just generated IDENTITY in the insert statement.

### appendIdentitySelectToInsert

    public String appendIdentitySelectToInsert(String insertSQL)

  Description copied from class: `Dialect`
  Provided we `Dialect.supportsInsertSelectIdentity()`, then attch the "select identity" clause to the insert statement.

  Note, if `Dialect.supportsInsertSelectIdentity()` == false then the insert-string should be returned without modification.

  Overrides:
    `appendIdentitySelectToInsert` in class `Dialect`
  Parameters:
    `insertSQL` - The insert command
  Returns:
    The insert command with any necessary identity select clause attached.

### appendLockHint

    public String appendLockHint(LockMode mode,
                                 String tableName)

  Description copied from class: `Dialect`
  Some dialects support an alternative means to `SELECT FOR UPDATE`, whereby a "lock hint" is appends to the table name in the from clause.

  contributed by Helge Schulz

  Overrides:
    `appendLockHint` in class `Dialect`
  Parameters:
    `mode` - The lock mode to apply
    `tableName` - The name of the table to which to apply the lock hint.
  Returns:
    The table with any required lock hints.

### applyLocksToSql

    public String applyLocksToSql(String sql,
                                  Map aliasedLockModes,
                                  Map keyColumnNames)

  Description copied from class: `Dialect`
  Modifies the given SQL by applying the appropriate updates for the specified lock modes and key columns.

  The behavior here is that of an ANSI SQL `SELECT FOR UPDATE`. This method is really intended to allow dialects which do not support `SELECT FOR UPDATE` to achieve this in their own fashion.

  Overrides:
    `applyLocksToSql` in class `Dialect`
  Parameters:
    `sql` - the SQL string to modify
    `aliasedLockModes` - a map of lock modes indexed by aliased table names.
    `keyColumnNames` - a map of key columns indexed by aliased table names.
  Returns:
    the modified SQL string.

### registerResultSetOutParameter

    public int registerResultSetOutParameter(CallableStatement statement,
                                             int col)
                                      throws SQLException

  Description copied from class: `Dialect`
  Registers an OUT parameter which will be returing a `ResultSet`. How this is accomplished varies greatly from DB to DB, hence its inclusion (along with `Dialect.getResultSet(java.sql.CallableStatement)`) here.

  Overrides:
    `registerResultSetOutParameter` in class `Dialect`
  Parameters:
    `statement` - The callable statement.
    `col` - The bind position at which to register the OUT param.
  Returns:
    The number of (contiguous) bind positions used.
  Throws:
    `SQLException` - Indicates problems registering the OUT param.

### getResultSet

    public ResultSet getResultSet(CallableStatement ps)
                           throws SQLException

  Description copied from class: `Dialect`
  Given a callable statement previously processed by `Dialect.registerResultSetOutParameter(java.sql.CallableStatement, int)`, extract the `ResultSet` from the OUT parameter.

  Overrides:
    `getResultSet` in class `Dialect`
  Parameters:
    `ps` - The callable statement.
  Returns:
    The extracted result set.
  Throws:
    `SQLException` - Indicates problems extracting the result set.

### supportsCurrentTimestampSelection

    public boolean supportsCurrentTimestampSelection()

  Description copied from class: `Dialect`
  Does this dialect support a way to retrieve the database's current timestamp value?

  Overrides:
    `supportsCurrentTimestampSelection` in class `Dialect`
  Returns:
    True if the current timestamp can be retrieved; false otherwise.

### isCurrentTimestampSelectStringCallable

    public boolean isCurrentTimestampSelectStringCallable()

  Description copied from class: `Dialect`
  Should the value returned by `Dialect.getCurrentTimestampSelectString()` be treated as callable. Typically this indicates that JDBC escape sytnax is being used...

  Overrides:
    `isCurrentTimestampSelectStringCallable` in class `Dialect`
  Returns:
    True if the `Dialect.getCurrentTimestampSelectString()` return is callable; false otherwise.

### getCurrentTimestampSelectString

    public String getCurrentTimestampSelectString()

  Description copied from class: `Dialect`
  Retrieve the command used to retrieve the current timestammp from the database.

  Overrides:
    `getCurrentTimestampSelectString` in class `Dialect`
  Returns:
    The command.

### supportsTemporaryTables

    public boolean supportsTemporaryTables()

  Description copied from class: `Dialect`
  Does this dialect support temporary tables?

  Overrides:
    `supportsTemporaryTables` in class `Dialect`
  Returns:
    True if temp tables are supported; false otherwise.

### generateTemporaryTableName

    public String generateTemporaryTableName(String baseTableName)

  Description copied from class: `Dialect`
  Generate a temporary table name given the bas table.

  Overrides:
    `generateTemporaryTableName` in class `Dialect`
  Parameters:
    `baseTableName` - The table name from which to base the temp table name.
  Returns:
    The generated temp table name.

### dropTemporaryTableAfterUse

    public boolean dropTemporaryTableAfterUse()

  Description copied from class: `Dialect`
  Do we need to drop the temporary table after use?

  Overrides:
    `dropTemporaryTableAfterUse` in class `Dialect`
  Returns:
    True if the table should be dropped.

### supportsEmptyInList

    public boolean supportsEmptyInList()

  Description copied from class: `Dialect`
  Does this dialect support empty IN lists?

  For example, is [where XYZ in ()] a supported construct?

  Overrides:
    `supportsEmptyInList` in class `Dialect`
  Returns:
    True if empty in lists are supported; false otherwise.

### supportsExistsInSelect

    public boolean supportsExistsInSelect()

  Description copied from class: `Dialect`
  Does the dialect support an exists statement in the select clause?

  Overrides:
    `supportsExistsInSelect` in class `Dialect`
  Returns:
    True if exists checks are allowed in the select clause; false otherwise.

### doesReadCommittedCauseWritersToBlockReaders

    public boolean doesReadCommittedCauseWritersToBlockReaders()

  Description copied from class: `Dialect`
  For the underlying database, is READ_COMMITTED isolation implemented by forcing readers to wait for write locks to be released?

  Overrides:
    `doesReadCommittedCauseWritersToBlockReaders` in class `Dialect`
  Returns:
    True if writers block readers to achieve READ_COMMITTED; false otherwise.

### doesRepeatableReadCauseReadersToBlockWriters

    public boolean doesRepeatableReadCauseReadersToBlockWriters()

  Description copied from class: `Dialect`
  For the underlying database, is REPEATABLE_READ isolation implemented by forcing writers to wait for read locks to be released?

  Overrides:
    `doesRepeatableReadCauseReadersToBlockWriters` in class `Dialect`
  Returns:
    True if readers block writers to achieve REPEATABLE_READ; false otherwise.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD