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. <p/> 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
CLOSED_QUOTE, DEFAULT_BATCH_SIZE, LEGACY_LOB_MERGE_STRATEGY, NEW_LOCATOR_LOB_MERGE_STRATEGY, NO_BATCH, QUOTE, STANDARD_DEFAULT_BATCH_LOAD_SIZING_STRATEGY, STREAM_XFER_LOB_MERGE_STRATEGY
Constructor and Description |
---|
RDMSOS2200Dialect()
Constructs a RDMSOS2200Dialect
|
Modifier and Type | Method and Description |
---|---|
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.
|
LimitHandler |
getLimitHandler()
Returns the delegate managing LIMIT clause.
|
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 |
supportsVariableLimit()
Does this dialect support bind variables (i.e., prepared statement
parameters) for its limit/offset?
|
addSqlHintOrComment, appendLockHint, appendLockHint, applyLocksToSql, areStringComparisonsCaseInsensitive, augmentRecognizedTableTypes, bindLimitParametersFirst, bindLimitParametersInReverseOrder, buildIdentifierHelper, buildSQLExceptionConversionDelegate, buildSQLExceptionConverter, canCreateCatalog, canCreateSchema, cast, cast, cast, closeQuote, contributeTypes, convertToFirstRowValue, createOuterJoinFragment, defaultScrollMode, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, dropConstraints, escapeLiteral, forceLimitUsage, forceLobAsLastValue, getAddColumnSuffixString, getAddForeignKeyConstraintString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAddUniqueConstraintString, getAlterTableString, getAuxiliaryDatabaseObjectExporter, getCallableStatementSupport, getCaseInsensitiveLike, getCastTypeName, getColumnAliasExtractor, getColumnComment, getCreateCatalogCommand, getCreateMultisetTableString, getCreateSchemaCommand, getCreateSequenceString, getCreateSequenceStrings, getCreateSequenceStrings, getCreateTableString, getCrossJoinSeparator, getCurrentSchemaCommand, getCurrentTimestampSelectString, getCurrentTimestampSQLFunctionName, getDefaultBatchLoadSizingStrategy, getDefaultMultiTableBulkIdStrategy, getDefaultProperties, getDialect, getDialect, getDropCatalogCommand, getDropForeignKeyString, getDropSchemaCommand, getDropSequenceStrings, getDropTableString, getForeignKeyExporter, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateSkipLockedString, getForUpdateSkipLockedString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getFunctions, getHibernateTypeName, getHibernateTypeName, getIdentityColumnSupport, getIndexExporter, getInExpressionCountLimit, getKeywords, getLimitString, getLobMergeStrategy, getLowercaseFunction, getMaxAliasLength, getNameQualifierSupport, getNativeIdentifierGeneratorClass, getNativeIdentifierGeneratorStrategy, getNoColumnsInsertString, getNotExpression, getQueryHintString, getQueryHintString, getQuerySequencesString, getReadLockString, getReadLockString, getResultSet, getResultSet, getResultSet, getSchemaNameResolver, getSelectClauseNullString, getSelectGUIDString, getSelectSequenceNextValString, getSequenceExporter, getSequenceInformationExtractor, getSqlTypeDescriptorOverride, getTableComment, getTableExporter, getTableTypeString, getTypeName, getTypeName, getUniqueDelegate, getUniqueKeyExporter, getViolatedConstraintNameExtracter, getWriteLockString, getWriteLockString, hasAlterTable, hasSelfReferentialForeignKeyBug, inlineLiteral, isCurrentTimestampSelectStringCallable, isJdbcLogWarningsEnabledByDefault, isLegacyLimitHandlerBehaviorEnabled, isLockTimeoutParameterized, isTypeNameRegistered, openQuote, prependComment, quote, registerColumnType, registerColumnType, registerFunction, registerHibernateType, registerHibernateType, registerKeyword, registerResultSetOutParameter, registerResultSetOutParameter, remapSqlTypeDescriptor, renderOrderByElement, replaceResultVariableInOrderByClauseWithPosition, requiresCastingOfParametersInSelectClause, requiresParensForTupleDistinctCounts, supportsBindAsCallableArgument, supportsCaseInsensitiveLike, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsCurrentTimestampSelection, supportsEmptyInList, supportsExistsInSelect, supportsExpectedLobUsagePattern, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTableName, supportsLobValueChangePropogation, supportsLockTimeouts, supportsNamedParameters, supportsNationalizedTypes, supportsNonQueryWithCTE, supportsNotNullUnique, supportsNoWait, supportsParametersInInsertSelect, supportsPartitionBy, supportsPooledSequences, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsSkipLocked, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTupleCounts, supportsTupleDistinctCounts, supportsTuplesInSubqueries, supportsUnboundedLobLocatorMaterialization, supportsUnique, supportsUniqueConstraintInCreateAlterTable, supportsValuesList, toBooleanValueString, toString, transformSelectString, useFollowOnLocking, useFollowOnLocking, useInputStreamToInsertBlob, useMaxForLimit
public boolean qualifyIndexName()
RDMS does not support qualifing index names with the schema name. <p/>
Do we need to qualify index names with the schema name?
qualifyIndexName
in class Dialect
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. <p/>
Is <tt>FOR UPDATE OF</tt> syntax supported?
forUpdateOfColumns
in class Dialect
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. <p/>
Get the string to append to SELECT statements to acquire locks for this dialect.
getForUpdateString
in class Dialect
public boolean supportsCascadeDelete()
RDMS does not support Cascade Deletes. Need to review this in the future when support is provided. <p/>
Does this dialect support cascaded delete on foreign key definitions?
supportsCascadeDelete
in class Dialect
true
indicates that the dialect does support cascaded delete on foreign keys.public boolean supportsOuterJoinForUpdate()
Currently, RDMS-JDBC does not support ForUpdate. Need to review this in the future when support is provided. <p/>
Does this dialect support <tt>FOR UPDATE</tt> in conjunction with outer joined rows?
supportsOuterJoinForUpdate
in class Dialect
public String getAddColumnString()
Dialect
The syntax used to add a column to a table (optional).
getAddColumnString
in class Dialect
public String getNullColumnString()
Dialect
The keyword used to specify a nullable column.
getNullColumnString
in class Dialect
public boolean supportsSequences()
Dialect
Does this dialect support sequences?
supportsSequences
in class Dialect
public String getSequenceNextValString(String sequenceName)
Dialect
Generate the appropriate select statement to to retrieve the next value of a sequence. <p/> This should be a "stand alone" select statement.
getSequenceNextValString
in class Dialect
sequenceName
- the name of the sequencepublic String getCreateSequenceString(String sequenceName)
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.
<p/>
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)
.
getCreateSequenceString
in class Dialect
sequenceName
- The name of the sequencepublic String getDropSequenceString(String sequenceName)
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.
<p/>
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)
.
getDropSequenceString
in class Dialect
sequenceName
- The name of the sequencepublic String getCascadeConstraintsString()
Dialect
Completely optional cascading drop clause
getCascadeConstraintsString
in class Dialect
public CaseFragment createCaseFragment()
Dialect
Create a CaseFragment
strategy responsible
for handling this dialect’s variations in how CASE statements are
handled.
createCaseFragment
in class Dialect
CaseFragment
strategy.public LimitHandler getLimitHandler()
Dialect
Returns the delegate managing LIMIT clause.
getLimitHandler
in class Dialect
public boolean supportsLimit()
Dialect
Does this dialect support some form of limiting query results via a SQL clause?
supportsLimit
in class Dialect
public boolean supportsLimitOffset()
Dialect
Does this dialect’s LIMIT support (if any) additionally support specifying an offset?
supportsLimitOffset
in class Dialect
public String getLimitString(String sql, int offset, int limit)
Dialect
Given a limit and an offset, apply the limit clause to the query.
getLimitString
in class Dialect
sql
- The query to which to apply the limit.offset
- The offset of the limitlimit
- The limit of the limit ;)public boolean supportsVariableLimit()
Dialect
Does this dialect support bind variables (i.e., prepared statement parameters) for its limit/offset?
supportsVariableLimit
in class Dialect
public boolean supportsUnionAll()
Dialect
Does this dialect support UNION ALL, which is generally a faster variant of UNION?
supportsUnionAll
in class Dialect
public LockingStrategy getLockingStrategy(Lockable lockable, LockMode lockMode)
Dialect
Get a strategy instance which knows how to acquire a database-level lock of the specified mode for this dialect.
getLockingStrategy
in class Dialect
lockable
- The persister for the entity to be locked.lockMode
- The type of lock to be acquired.Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.