Class RDMSOS2200Dialect

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

public class RDMSOS2200Dialect extends Dialect
This is the Hibernate dialect for the Unisys 2200 Relational Database (RDMS). This dialect was developed for use with Hibernate 3.0.5. Other versions may require modifications to the dialect. Version History: Also change the version displayed below in the constructor 1.1 1.0 2005-10-24 CDH - First dated version for use with CP 11
  • Constructor Details

    • RDMSOS2200Dialect

      public RDMSOS2200Dialect()
  • Method Details

    • qualifyIndexName

      public boolean qualifyIndexName()
      RDMS does not support qualifing index names with the schema name.
      Overrides:
      qualifyIndexName in class Dialect
      Returns:
      boolean
    • forUpdateOfColumns

      public boolean forUpdateOfColumns()
      The RDMS DB supports the 'FOR UPDATE OF' clause. However, the RDMS-JDBC driver does not support this feature, so a false is return. The base dialect also returns a false, but we will leave this over-ride in to make sure it stays false.
      Overrides:
      forUpdateOfColumns in class Dialect
      Returns:
      True if the database supports FOR UPDATE OF syntax; false otherwise.
    • getForUpdateString

      public String getForUpdateString()
      Since the RDMS-JDBC driver does not support for updates, this string is set to an empty string. Whenever, the driver does support this feature, the returned string should be " FOR UPDATE OF". Note that RDMS does not support the string 'FOR UPDATE' string.
      Overrides:
      getForUpdateString in class Dialect
      Returns:
      The appropriate FOR UPDATE clause string.
    • supportsUniqueConstraintInCreateAlterTable

      public boolean supportsUniqueConstraintInCreateAlterTable()
      RDMS does not support adding Unique constraints via create and alter table.
      Overrides:
      supportsUniqueConstraintInCreateAlterTable in class Dialect
      Returns:
      boolean
    • supportsCascadeDelete

      public boolean supportsCascadeDelete()
      RDMS does not support Cascade Deletes. Need to review this in the future when support is provided.
      Overrides:
      supportsCascadeDelete in class Dialect
    • supportsOuterJoinForUpdate

      public boolean supportsOuterJoinForUpdate()
      Currently, RDMS-JDBC does not support ForUpdate. Need to review this in the future when support is provided.
      Overrides:
      supportsOuterJoinForUpdate in class Dialect
      Returns:
      True if outer joined rows can be locked via FOR UPDATE.
    • 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
    • supportsSequences

      public boolean supportsSequences()
      Description copied from class: Dialect
      Does this dialect support sequences?
      Overrides:
      supportsSequences in class Dialect
      Returns:
      True if sequences supported; false otherwise.
    • getSequenceNextValString

      public String getSequenceNextValString(String sequenceName)
      Description copied from class: Dialect
      Generate the appropriate select statement to to retrieve the next value of a sequence.

      This should be a "stand alone" select statement.

      Overrides:
      getSequenceNextValString in class Dialect
      Parameters:
      sequenceName - the name of the sequence
      Returns:
      String The "nextval" select string.
    • getCreateSequenceString

      public String getCreateSequenceString(String sequenceName)
      Description copied from class: Dialect
      Typically dialects which support sequences can create a sequence with a single command. This is convenience form of Dialect.getCreateSequenceStrings(java.lang.String) to help facilitate that.

      Dialects which support sequences and can create a sequence in a single command need *only* override this method. Dialects which support sequences but require multiple commands to create a sequence should instead override Dialect.getCreateSequenceStrings(java.lang.String).

      Overrides:
      getCreateSequenceString in class Dialect
      Parameters:
      sequenceName - The name of the sequence
      Returns:
      The sequence creation command
    • getDropSequenceString

      public String getDropSequenceString(String sequenceName)
      Description copied from class: Dialect
      Typically dialects which support sequences can drop a sequence with a single command. This is convenience form of Dialect.getDropSequenceStrings(java.lang.String) to help facilitate that.

      Dialects which support sequences and can drop a sequence in a single command need *only* override this method. Dialects which support sequences but require multiple commands to drop a sequence should instead override Dialect.getDropSequenceStrings(java.lang.String).

      Overrides:
      getDropSequenceString in class Dialect
      Parameters:
      sequenceName - The name of the sequence
      Returns:
      The sequence drop commands
    • getCascadeConstraintsString

      public String getCascadeConstraintsString()
      Description copied from class: Dialect
      Completely optional cascading drop clause
      Overrides:
      getCascadeConstraintsString in class Dialect
      Returns:
      String
    • createCaseFragment

      public CaseFragment createCaseFragment()
      Description copied from class: Dialect
      Create a CaseFragment strategy responsible for handling this dialect's variations in how CASE statements are handled.
      Overrides:
      createCaseFragment in class Dialect
      Returns:
      This dialect's CaseFragment strategy.
    • supportsLimit

      public boolean supportsLimit()
      Description copied from class: Dialect
      Does this dialect support some form of limiting query results via a SQL clause?
      Overrides:
      supportsLimit in class Dialect
      Returns:
      True if this dialect supports some form of LIMIT.
    • supportsLimitOffset

      public boolean supportsLimitOffset()
      Description copied from class: Dialect
      Does this dialect's LIMIT support (if any) additionally support specifying an offset?
      Overrides:
      supportsLimitOffset in class Dialect
      Returns:
      True if the dialect supports an offset within the limit support.
    • getLimitString

      public String getLimitString(String sql, int offset, int limit)
      Description copied from class: Dialect
      Given a limit and an offset, apply the limit clause to the query.
      Overrides:
      getLimitString in class Dialect
      Parameters:
      sql - The query to which to apply the limit.
      offset - The offset of the limit
      limit - The limit of the limit ;)
      Returns:
      The modified query statement with the limit applied.
    • supportsVariableLimit

      public boolean supportsVariableLimit()
      Description copied from class: Dialect
      Does this dialect support bind variables (i.e., prepared statement parameters) for its limit/offset?
      Overrides:
      supportsVariableLimit in class Dialect
      Returns:
      True if bind variables can be used; false otherwise.
    • supportsUnionAll

      public boolean supportsUnionAll()
      Description copied from class: Dialect
      Does this dialect support UNION ALL, which is generally a faster variant of UNION?
      Overrides:
      supportsUnionAll in class Dialect
      Returns:
      True if UNION ALL is supported; false otherwise.
    • getLockingStrategy

      public LockingStrategy getLockingStrategy(Lockable lockable, LockMode lockMode)
      Description copied from class: Dialect
      Get a strategy instance which knows how to acquire a database-level lock of the specified mode for this dialect.
      Overrides:
      getLockingStrategy in class Dialect
      Parameters:
      lockable - The persister for the entity to be locked.
      lockMode - The type of lock to be acquired.
      Returns:
      The appropriate locking strategy.