Package org.hibernate.dialect
Class RDMSOS2200Dialect
java.lang.Object
org.hibernate.dialect.Dialect
org.hibernate.dialect.RDMSOS2200Dialect
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
-
Field Summary
Fields inherited from class org.hibernate.dialect.Dialect
CLOSED_QUOTE, DEFAULT_BATCH_SIZE, NO_BATCH, QUOTE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreate aCaseFragmentstrategy responsible for handling this dialect's variations in how CASE statements are handled.booleanThe RDMS DB supports the 'FOR UPDATE OF' clause.The syntax used to add a column to a table (optional).Completely optional cascading drop clausegetCreateSequenceString(String sequenceName) Typically dialects which support sequences can create a sequence with a single command.getDropSequenceString(String sequenceName) Typically dialects which support sequences can drop a sequence with a single command.Since the RDMS-JDBC driver does not support for updates, this string is set to an empty string.getLimitString(String sql, int offset, int limit) Given a limit and an offset, apply the limit clause to the query.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.The keyword used to specify a nullable column.getSequenceNextValString(String sequenceName) Generate the appropriate select statement to to retrieve the next value of a sequence.booleanRDMS does not support qualifing index names with the schema name.booleanRDMS does not support Cascade Deletes.booleanDoes this dialect support some form of limiting query results via a SQL clause?booleanDoes this dialect's LIMIT support (if any) additionally support specifying an offset?booleanCurrently, RDMS-JDBC does not support ForUpdate.booleanDoes this dialect support sequences?booleanDoes this dialect support UNION ALL, which is generally a faster variant of UNION?booleanRDMS does not support adding Unique constraints via create and alter table.booleanDoes this dialect support bind variables (i.e., prepared statement parameters) for its limit/offset?Methods inherited from class org.hibernate.dialect.Dialect
addTypeOverride, appendIdentitySelectToInsert, appendLockHint, applyLocksToSql, areStringComparisonsCaseInsensitive, bindLimitParametersFirst, bindLimitParametersInReverseOrder, buildSQLExceptionConverter, closeQuote, convertToFirstRowValue, createOuterJoinFragment, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, dropConstraints, dropTemporaryTableAfterUse, forceLimitUsage, generateTemporaryTableName, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getCastTypeName, getColumnAliasExtractor, getColumnComment, getCreateMultisetTableString, getCreateSequenceString, getCreateSequenceStrings, getCreateSequenceStrings, getCreateTableString, getCreateTemporaryTablePostfix, getCreateTemporaryTableString, getCrossJoinSeparator, getCurrentTimestampSelectString, getCurrentTimestampSQLFunctionName, getDefaultProperties, getDialect, getDialect, getDropForeignKeyString, getDropSequenceStrings, getDropTemporaryTableString, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getFunctions, getHibernateTypeName, getHibernateTypeName, getIdentityColumnString, getIdentityColumnString, getIdentityInsertString, getIdentitySelectString, getIdentitySelectString, getKeywords, getLimitString, getLowercaseFunction, getMaxAliasLength, getNativeIdentifierGeneratorClass, getNoColumnsInsertString, getQuerySequencesString, getReadLockString, getResultSet, getSelectClauseNullString, getSelectGUIDString, getSelectSequenceNextValString, getTableComment, getTableTypeString, getTypeName, getTypeName, getTypeOverrides, getViolatedConstraintNameExtracter, getWriteLockString, hasAlterTable, hasDataTypeInIdentityColumn, hasSelfReferentialForeignKeyBug, isCurrentTimestampSelectStringCallable, isLockTimeoutParameterized, openQuote, performTemporaryTableDDLInIsolation, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword, registerResultSetOutParameter, replaceResultVariableInOrderByClauseWithPosition, requiresCastingOfParametersInSelectClause, supportsBindAsCallableArgument, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsCurrentTimestampSelection, supportsEmptyInList, supportsExistsInSelect, supportsExpectedLobUsagePattern, supportsIdentityColumns, supportsIfExistsAfterTableName, supportsIfExistsBeforeTableName, supportsInsertSelectIdentity, supportsLobValueChangePropogation, supportsLockTimeouts, supportsNotNullUnique, supportsParametersInInsertSelect, supportsPooledSequences, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTemporaryTables, supportsTupleCounts, supportsTupleDistinctCounts, supportsUnboundedLobLocatorMaterialization, supportsUnique, toBooleanValueString, toString, transformSelectString, useInputStreamToInsertBlob, useMaxForLimit
-
Constructor Details
-
RDMSOS2200Dialect
public RDMSOS2200Dialect()
-
-
Method Details
-
qualifyIndexName
public boolean qualifyIndexName()RDMS does not support qualifing index names with the schema name.- Overrides:
qualifyIndexNamein classDialect- 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:
forUpdateOfColumnsin classDialect- Returns:
- True if the database supports FOR UPDATE OF syntax; false otherwise.
-
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:
getForUpdateStringin classDialect- Returns:
- The appropriate FOR UPDATE clause string.
-
supportsUniqueConstraintInCreateAlterTable
public boolean supportsUniqueConstraintInCreateAlterTable()RDMS does not support adding Unique constraints via create and alter table.- Overrides:
supportsUniqueConstraintInCreateAlterTablein classDialect- Returns:
- boolean
-
supportsCascadeDelete
public boolean supportsCascadeDelete()RDMS does not support Cascade Deletes. Need to review this in the future when support is provided.- Overrides:
supportsCascadeDeletein classDialect
-
supportsOuterJoinForUpdate
public boolean supportsOuterJoinForUpdate()Currently, RDMS-JDBC does not support ForUpdate. Need to review this in the future when support is provided.- Overrides:
supportsOuterJoinForUpdatein classDialect- Returns:
- True if outer joined rows can be locked via FOR UPDATE.
-
getAddColumnString
Description copied from class:DialectThe syntax used to add a column to a table (optional).- Overrides:
getAddColumnStringin classDialect- Returns:
- The "add column" fragment.
-
getNullColumnString
Description copied from class:DialectThe keyword used to specify a nullable column.- Overrides:
getNullColumnStringin classDialect- Returns:
- String
-
supportsSequences
public boolean supportsSequences()Description copied from class:DialectDoes this dialect support sequences?- Overrides:
supportsSequencesin classDialect- Returns:
- True if sequences supported; false otherwise.
-
getSequenceNextValString
Description copied from class:DialectGenerate the appropriate select statement to to retrieve the next value of a sequence. This should be a "stand alone" select statement.- Overrides:
getSequenceNextValStringin classDialect- Parameters:
sequenceName- the name of the sequence- Returns:
- String The "nextval" select string.
-
getCreateSequenceString
Description copied from class:DialectTypically dialects which support sequences can create a sequence with a single command. This is convenience form ofDialect.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 overrideDialect.getCreateSequenceStrings(java.lang.String).- Overrides:
getCreateSequenceStringin classDialect- Parameters:
sequenceName- The name of the sequence- Returns:
- The sequence creation command
-
getDropSequenceString
Description copied from class:DialectTypically dialects which support sequences can drop a sequence with a single command. This is convenience form ofDialect.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 overrideDialect.getDropSequenceStrings(java.lang.String).- Overrides:
getDropSequenceStringin classDialect- Parameters:
sequenceName- The name of the sequence- Returns:
- The sequence drop commands
-
getCascadeConstraintsString
Description copied from class:DialectCompletely optional cascading drop clause- Overrides:
getCascadeConstraintsStringin classDialect- Returns:
- String
-
createCaseFragment
Description copied from class:DialectCreate aCaseFragmentstrategy responsible for handling this dialect's variations in how CASE statements are handled.- Overrides:
createCaseFragmentin classDialect- Returns:
- This dialect's
CaseFragmentstrategy.
-
supportsLimit
public boolean supportsLimit()Description copied from class:DialectDoes this dialect support some form of limiting query results via a SQL clause?- Overrides:
supportsLimitin classDialect- Returns:
- True if this dialect supports some form of LIMIT.
-
supportsLimitOffset
public boolean supportsLimitOffset()Description copied from class:DialectDoes this dialect's LIMIT support (if any) additionally support specifying an offset?- Overrides:
supportsLimitOffsetin classDialect- Returns:
- True if the dialect supports an offset within the limit support.
-
getLimitString
Description copied from class:DialectGiven a limit and an offset, apply the limit clause to the query.- Overrides:
getLimitStringin classDialect- Parameters:
sql- The query to which to apply the limit.offset- The offset of the limitlimit- The limit of the limit ;)- Returns:
- The modified query statement with the limit applied.
-
supportsVariableLimit
public boolean supportsVariableLimit()Description copied from class:DialectDoes this dialect support bind variables (i.e., prepared statement parameters) for its limit/offset?- Overrides:
supportsVariableLimitin classDialect- Returns:
- True if bind variables can be used; false otherwise.
-
supportsUnionAll
public boolean supportsUnionAll()Description copied from class:DialectDoes this dialect support UNION ALL, which is generally a faster variant of UNION?- Overrides:
supportsUnionAllin classDialect- Returns:
- True if UNION ALL is supported; false otherwise.
-
getLockingStrategy
Description copied from class:DialectGet a strategy instance which knows how to acquire a database-level lock of the specified mode for this dialect.- Overrides:
getLockingStrategyin classDialect- Parameters:
lockable- The persister for the entity to be locked.lockMode- The type of lock to be acquired.- Returns:
- The appropriate locking strategy.
-