public class

RDMSOS2200Dialect

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

Class Overview

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

Summary

[Expand]
Inherited Constants
From class org.hibernate.dialect.Dialect
Public Constructors
RDMSOS2200Dialect()
Public Methods
CaseFragment createCaseFragment()
Create a CaseFragment strategy responsible for handling this dialect's variations in how CASE statements are handled.
boolean forUpdateOfColumns()
The RDMS DB supports the 'FOR UPDATE OF' clause.
String getAddColumnString()
The syntax used to add a column to a table (optional).
String getCascadeConstraintsString()
Completely optional cascading drop clause
String getCreateSequenceString(String sequenceName)
Typically dialects which support sequences can create a sequence with a single command.
String getDropSequenceString(String sequenceName)
Typically dialects which support sequences can drop a sequence with a single command.
String getForUpdateString()
Since the RDMS-JDBC driver does not support for updates, this string is set to an empty string.
String getLimitString(String sql, int offset, int limit)
Given a limit and an offset, apply the limit clause to the query.
LockingStrategy getLockingStrategy(Lockable lockable, LockMode lockMode)
Get a strategy instance which knows how to acquire a database-level lock of the specified mode for this dialect.
String getNullColumnString()
The keyword used to specify a nullable column.
String getSequenceNextValString(String sequenceName)
Generate the appropriate select statement to to retrieve the next value of a sequence.
boolean qualifyIndexName()
RDMS does not support qualifing index names with the schema name.
boolean supportsCascadeDelete()
RDMS does not support Cascade Deletes.
boolean supportsLimit()
Does this dialect support some form of limiting query results via a SQL clause?
boolean supportsLimitOffset()
Does this dialect's LIMIT support (if any) additionally support specifying an offset?
boolean supportsOuterJoinForUpdate()
Currently, RDMS-JDBC does not support ForUpdate.
boolean supportsSequences()
Does this dialect support sequences?
boolean supportsUnionAll()
Does this dialect support UNION ALL, which is generally a faster variant of UNION?
boolean supportsUniqueConstraintInCreateAlterTable()
RDMS does not support adding Unique constraints via create and alter table.
boolean supportsVariableLimit()
Does this dialect support bind variables (i.e., prepared statement parameters) for its limit/offset?
[Expand]
Inherited Methods
From class org.hibernate.dialect.Dialect
From class java.lang.Object

Public Constructors

public RDMSOS2200Dialect ()

Public Methods

public CaseFragment createCaseFragment ()

Create a CaseFragment strategy responsible for handling this dialect's variations in how CASE statements are handled.

Returns

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.

Returns
  • True if the database supports FOR UPDATE OF syntax; false otherwise.

public String getAddColumnString ()

The syntax used to add a column to a table (optional).

Returns
  • The "add column" fragment.

public String getCascadeConstraintsString ()

Completely optional cascading drop clause

Returns
  • String

public String getCreateSequenceString (String sequenceName)

Typically dialects which support sequences can create a sequence with a single command. This is convenience form of getCreateSequenceStrings(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 getCreateSequenceStrings(String).

Parameters
sequenceName The name of the sequence
Returns
  • The sequence creation command

public String getDropSequenceString (String sequenceName)

Typically dialects which support sequences can drop a sequence with a single command. This is convenience form of getDropSequenceStrings(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 getDropSequenceStrings(String).

Parameters
sequenceName The name of the sequence
Returns
  • The sequence drop commands

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.

Returns
  • The appropriate FOR UPDATE clause string.

public String getLimitString (String sql, int offset, int limit)

Given a limit and an offset, apply the limit clause to the query.

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.

public LockingStrategy getLockingStrategy (Lockable lockable, LockMode lockMode)

Get a strategy instance which knows how to acquire a database-level lock of the specified mode for this dialect.

Parameters
lockable The persister for the entity to be locked.
lockMode The type of lock to be acquired.
Returns
  • The appropriate locking strategy.

public String getNullColumnString ()

The keyword used to specify a nullable column.

Returns
  • String

public String getSequenceNextValString (String sequenceName)

Generate the appropriate select statement to to retrieve the next value of a sequence.

This should be a "stand alone" select statement.

Parameters
sequenceName the name of the sequence
Returns
  • String The "nextval" select string.

public boolean qualifyIndexName ()

RDMS does not support qualifing index names with the schema name.

Returns
  • boolean

public boolean supportsCascadeDelete ()

RDMS does not support Cascade Deletes. Need to review this in the future when support is provided.

public boolean supportsLimit ()

Does this dialect support some form of limiting query results via a SQL clause?

Returns
  • True if this dialect supports some form of LIMIT.

public boolean supportsLimitOffset ()

Does this dialect's LIMIT support (if any) additionally support specifying an offset?

Returns
  • True if the dialect supports an offset within the limit support.

public boolean supportsOuterJoinForUpdate ()

Currently, RDMS-JDBC does not support ForUpdate. Need to review this in the future when support is provided.

Returns
  • True if outer joined rows can be locked via FOR UPDATE.

public boolean supportsSequences ()

Does this dialect support sequences?

Returns
  • True if sequences supported; false otherwise.

public boolean supportsUnionAll ()

Does this dialect support UNION ALL, which is generally a faster variant of UNION?

Returns
  • True if UNION ALL is supported; false otherwise.

public boolean supportsUniqueConstraintInCreateAlterTable ()

RDMS does not support adding Unique constraints via create and alter table.

Returns
  • boolean

public boolean supportsVariableLimit ()

Does this dialect support bind variables (i.e., prepared statement parameters) for its limit/offset?

Returns
  • True if bind variables can be used; false otherwise.