org.hibernate.dialect

Class 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
Author:
Ploski and Hanson

Field Summary

Fields inherited from class org.hibernate.dialect.Dialect

CLOSED_QUOTE, DEFAULT_BATCH_SIZE, NO_BATCH, QUOTE

Constructor Summary

RDMSOS2200Dialect()

Method Summary

CaseFragment
createCaseFragment()
boolean
forUpdateOfColumns()
The RDMS DB supports the 'FOR UPDATE OF' clause.
String
getAddColumnString()
String
getCascadeConstraintsString()
String
getCreateSequenceString(String sequenceName)
String
getDropSequenceString(String sequenceName)
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)
LockingStrategy
getLockingStrategy(Lockable lockable, LockMode lockMode)
String
getNullColumnString()
String
getSequenceNextValString(String sequenceName)
boolean
qualifyIndexName()
RDMS does not support qualifing index names with the schema name.
boolean
supportsCascadeDelete()
RDMS does not support Cascade Deletes.
boolean
supportsLimit()
boolean
supportsLimitOffset()
boolean
supportsOuterJoinForUpdate()
Currently, RDMS-JDBC does not support ForUpdate.
boolean
supportsSequences()
boolean
supportsUnionAll()
boolean
supportsUniqueConstraintInCreateAlterTable()
RDMS does not support adding Unique constraints via create and alter table.
boolean
supportsVariableLimit()

Methods inherited from class org.hibernate.dialect.Dialect

appendIdentitySelectToInsert, appendLockHint, applyLocksToSql, areStringComparisonsCaseInsensitive, bindLimitParametersFirst, bindLimitParametersInReverseOrder, buildSQLExceptionConverter, closeQuote, createCaseFragment, createOuterJoinFragment, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, dropConstraints, dropTemporaryTableAfterUse, forUpdateOfColumns, generateTemporaryTableName, getAddColumnString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getCascadeConstraintsString, getCastTypeName, getColumnComment, getCreateMultisetTableString, getCreateSequenceString, getCreateSequenceString, getCreateSequenceStrings, getCreateSequenceStrings, getCreateTableString, getCreateTemporaryTablePostfix, getCreateTemporaryTableString, getCurrentTimestampSQLFunctionName, getCurrentTimestampSelectString, getDefaultProperties, getDialect, getDialect, getDropForeignKeyString, getDropSequenceString, getDropSequenceStrings, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateString, getForUpdateString, getForUpdateString, getFunctions, getHibernateTypeName, getHibernateTypeName, getIdentityColumnString, getIdentityColumnString, getIdentityInsertString, getIdentitySelectString, getIdentitySelectString, getKeywords, getLimitString, getLimitString, getLockingStrategy, getLowercaseFunction, getMaxAliasLength, getNativeIdentifierGeneratorClass, getNoColumnsInsertString, getNullColumnString, getQuerySequencesString, getResultSet, getSelectClauseNullString, getSelectGUIDString, getSelectSequenceNextValString, getSequenceNextValString, getTableComment, getTableTypeString, getTypeName, getTypeName, getViolatedConstraintNameExtracter, hasAlterTable, hasDataTypeInIdentityColumn, hasSelfReferentialForeignKeyBug, isCurrentTimestampSelectStringCallable, openQuote, performTemporaryTableDDLInIsolation, qualifyIndexName, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword, registerResultSetOutParameter, supportsBindAsCallableArgument, supportsCascadeDelete, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsCurrentTimestampSelection, supportsEmptyInList, supportsExistsInSelect, supportsExpectedLobUsagePattern, supportsIdentityColumns, supportsIfExistsAfterTableName, supportsIfExistsBeforeTableName, supportsInsertSelectIdentity, supportsLimit, supportsLimitOffset, supportsLobValueChangePropogation, supportsNotNullUnique, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsPooledSequences, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsSequences, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTemporaryTables, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnique, supportsUniqueConstraintInCreateAlterTable, supportsVariableLimit, toBooleanValueString, toString, transformSelectString, useInputStreamToInsertBlob, useMaxForLimit

Constructor Details

RDMSOS2200Dialect

public RDMSOS2200Dialect()

Method Details

createCaseFragment

public CaseFragment createCaseFragment()
Overrides:
createCaseFragment in interface Dialect

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 interface Dialect

getAddColumnString

public String getAddColumnString()
Overrides:
getAddColumnString in interface Dialect

getCascadeConstraintsString

public String getCascadeConstraintsString()
Overrides:
getCascadeConstraintsString in interface Dialect

getCreateSequenceString

public String getCreateSequenceString(String sequenceName)
Overrides:
getCreateSequenceString in interface Dialect

getDropSequenceString

public String getDropSequenceString(String sequenceName)
Overrides:
getDropSequenceString in interface Dialect

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 interface Dialect

getLimitString

public String getLimitString(String sql,
                             int offset,
                             int limit)
Overrides:
getLimitString in interface Dialect

getLockingStrategy

public LockingStrategy getLockingStrategy(Lockable lockable,
                                          LockMode lockMode)
Overrides:
getLockingStrategy in interface Dialect

getNullColumnString

public String getNullColumnString()
Overrides:
getNullColumnString in interface Dialect

getSequenceNextValString

public String getSequenceNextValString(String sequenceName)
Overrides:
getSequenceNextValString in interface Dialect

qualifyIndexName

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

supportsCascadeDelete

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

supportsLimit

public boolean supportsLimit()
Overrides:
supportsLimit in interface Dialect

supportsLimitOffset

public boolean supportsLimitOffset()
Overrides:
supportsLimitOffset in interface 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 interface Dialect

supportsSequences

public boolean supportsSequences()
Overrides:
supportsSequences in interface Dialect

supportsUnionAll

public boolean supportsUnionAll()
Overrides:
supportsUnionAll in interface Dialect

supportsUniqueConstraintInCreateAlterTable

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

supportsVariableLimit

public boolean supportsVariableLimit()
Overrides:
supportsVariableLimit in interface Dialect