Class RDMSOS2200Dialect

java.lang.Object
org.hibernate.dialect.Dialect
org.hibernate.community.dialect.RDMSOS2200Dialect
All Implemented Interfaces:
org.hibernate.boot.model.FunctionContributor, org.hibernate.boot.model.TypeContributor, org.hibernate.exception.spi.ConversionContext

public class RDMSOS2200Dialect extends org.hibernate.dialect.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

  • Nested Class Summary

    Nested classes/interfaces inherited from class org.hibernate.dialect.Dialect

    org.hibernate.dialect.Dialect.SizeStrategy, org.hibernate.dialect.Dialect.SizeStrategyImpl
  • Field Summary

    Fields inherited from class org.hibernate.dialect.Dialect

    CLOSED_QUOTE, FALSE_STRING_VALUES, LEGACY_LOB_MERGE_STRATEGY, LOG_BASE2OF10, NEW_LOCATOR_LOB_MERGE_STRATEGY, QUOTE, STANDARD_MULTI_KEY_LOAD_SIZING_STRATEGY, STREAM_XFER_LOB_MERGE_STRATEGY, TRUE_STRING_VALUES
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a RDMSOS2200Dialect
    RDMSOS2200Dialect(org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo info)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    appendDatetimeFormat(org.hibernate.sql.ast.spi.SqlAppender appender, String format)
     
    protected org.hibernate.dialect.lock.LockingStrategy
    buildPessimisticReadStrategy(org.hibernate.persister.entity.EntityPersister lockable, org.hibernate.LockMode lockMode, org.hibernate.Locking.Scope lockScope)
     
    protected org.hibernate.dialect.lock.LockingStrategy
    buildPessimisticWriteStrategy(org.hibernate.persister.entity.EntityPersister lockable, org.hibernate.LockMode lockMode, org.hibernate.Locking.Scope lockScope)
     
    protected String
    columnType(int sqlTypeCode)
     
    extractPattern(org.hibernate.query.common.TemporalUnit unit)
    RDMS supports a limited list of temporal fields in the extract() function, but we can emulate some of them by using the appropriate named functions instead of extract().
     
     
    int
     
     
    FOR UPDATE only supported for cursors
    long
     
     
    org.hibernate.dialect.pagination.LimitHandler
     
    org.hibernate.sql.ast.spi.LockingClauseStrategy
    getLockingClauseStrategy(org.hibernate.sql.ast.tree.select.QuerySpec querySpec, org.hibernate.LockOptions lockOptions)
     
    org.hibernate.dialect.lock.spi.LockingSupport
     
    int
     
     
    int
     
    org.hibernate.dialect.sequence.SequenceSupport
     
    org.hibernate.sql.ast.SqlAstTranslatorFactory
     
    org.hibernate.dialect.DatabaseVersion
     
    void
    initializeFunctionRegistry(org.hibernate.boot.model.FunctionContributions functionContributions)
     
    boolean
    RDMS does not support qualifing index names with the schema name.
    org.hibernate.type.descriptor.jdbc.JdbcType
    resolveSqlTypeDescriptor(String columnTypeName, int jdbcTypeCode, int precision, int scale, org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry jdbcTypeRegistry)
     
    boolean
    RDMS does not support Cascade Deletes.
    boolean
     
    boolean
     
    boolean
     
    boolean
     
    timestampaddPattern(org.hibernate.query.common.TemporalUnit unit, TemporalType temporalType, org.hibernate.query.sqm.IntervalType intervalType)
     
    timestampdiffPattern(org.hibernate.query.common.TemporalUnit unit, TemporalType fromTemporalType, TemporalType toTemporalType)
     
    trimPattern(org.hibernate.query.sqm.TrimSpec specification, boolean isWhitespace)
     
    boolean
     

    Methods inherited from class org.hibernate.dialect.Dialect

    addPartitionKeyToPrimaryKey, addSqlHintOrComment, addUseIndexQueryHint, appendArrayLiteral, appendBinaryLiteral, appendBooleanValueString, appendCheckConstraintOptions, appendDateTimeLiteral, appendDateTimeLiteral, appendDateTimeLiteral, appendIntervalLiteral, appendIntervalLiteral, appendLiteral, appendLockHint, appendUUIDLiteral, applyLocksToSql, augmentPhysicalTableTypes, augmentRecognizedTableTypes, buildIdentifierHelper, buildLockingClauseStrategy, buildOptimisticForceIncrementStrategy, buildOptimisticStrategy, buildPessimisticForceIncrementStrategy, buildReadStrategy, buildSQLExceptionConversionDelegate, buildStringToBooleanCast, buildStringToBooleanCastDecode, buildStringToBooleanDecode, canBatchTruncate, canCreateCatalog, canCreateSchema, canDisableConstraints, castPattern, castType, checkVersion, closeQuote, contribute, contributeFunctions, contributeTypes, createOptionalTableUpdateOperation, currentDate, currentLocalTime, currentLocalTimestamp, currentTime, currentTimestamp, currentTimestampWithTimeZone, defaultScrollMode, determineDatabaseVersion, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, doesRoundTemporalOnOverflow, dropConstraints, equivalentTypes, escapeComment, forceLobAsLastValue, generatedAs, getAddColumnSuffixString, getAddForeignKeyConstraintString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAggregateSupport, getAlterColumnTypeString, getAlterTableString, getArrayTypeName, getAuxiliaryDatabaseObjectExporter, getBatchLoadSizingStrategy, getBeforeDropStatement, getCallableStatementSupport, getCaseInsensitiveLike, getCatalogSeparator, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getCheckConstraintString, getColumnAliasExtractor, getColumnComment, getCreateCatalogCommand, getCreateEnumTypeCommand, getCreateEnumTypeCommand, getCreateIndexString, getCreateIndexTail, getCreateMultisetTableString, getCreateSchemaCommand, getCreateTableString, getCreateTemporaryTableColumnAnnotation, getCreateUserDefinedTypeExtensionsString, getCreateUserDefinedTypeKindString, getCrossReferenceParentTableFilter, getCurrentSchemaCommand, getCurrentTimestampSelectString, getDefaultIntervalSecondScale, getDefaultLobLength, getDefaultNonContextualLobCreation, getDefaultOrdinalityColumnName, getDefaultProperties, getDefaultStatementBatchSize, getDefaultTimestampPrecision, getDefaultUseGetGeneratedKeys, getDisableConstraintsStatement, getDisableConstraintStatement, getDmlTargetColumnQualifierSupport, getDoublePrecision, getDropCatalogCommand, getDropEnumTypeCommand, getDropEnumTypeCommand, getDropForeignKeyString, getDropSchemaCommand, getDropTableString, getDropUniqueKeyString, getEnableConstraintsStatement, getEnableConstraintStatement, getEnumTypeDeclaration, getEnumTypeDeclaration, getFallbackSchemaManagementTool, getFallbackSqmInsertStrategy, getFallbackSqmMutationStrategy, getFloatPrecision, getForeignKeyExporter, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateSkipLockedString, getForUpdateSkipLockedString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getFunctionalDependencyAnalysisSupport, getGlobalTemporaryTableStrategy, getGroupBySelectItemReferenceStrategy, getHqlTranslator, getIdentityColumnSupport, getIndexExporter, getInExpressionCountLimit, getKeywords, getLobMergeStrategy, getLocalTemporaryTableStrategy, getLockingStrategy, getLockingStrategy, getLockRowIdentifier, getLowercaseFunction, getMaxAliasLength, getMaxIdentifierLength, getMaxNVarcharCapacity, getMaxNVarcharLength, getMaxVarbinaryCapacity, getMaxVarcharCapacity, getMaxVarcharLength, getMinimumSupportedVersion, getMultiKeyLoadSizingStrategy, getNameQualifierSupport, getNationalizationSupport, getNativeIdentifierGeneratorStrategy, getNativeParameterMarkerStrategy, getNativeValueGenerationStrategy, getNoColumnsInsertString, getNullColumnString, getNullOrdering, getParameterCountLimit, getPersistentTemporaryTableStrategy, getPessimisticLockStyle, getPreferredSqlTypeCodeForArray, getQueryHintString, getQueryHintString, getQuerySequencesString, getReadLockString, getReadLockString, getReadLockString, getReadLockString, getReadRowLockStrategy, getResultSet, getResultSet, getResultSet, getRowIdColumnString, getSchemaNameResolver, getSelectClauseNullString, getSelectClauseNullString, getSelectGUIDString, getSequenceExporter, getSequenceInformationExtractor, getSizeStrategy, getSqmTranslatorFactory, getSupportedTemporaryTableKind, getTableCleaner, getTableComment, getTableExporter, getTableMigrator, getTableTypeString, getTemporaryTableAfterUseAction, getTemporaryTableBeforeUseAction, getTemporaryTableCreateCommand, getTemporaryTableCreateOptions, getTemporaryTableDdlTransactionHandling, getTemporaryTableDropCommand, getTemporaryTableExporter, getTemporaryTableTruncateCommand, getTimeoutInSeconds, getTimeZoneSupport, getTruncateTableStatement, getTruncateTableStatements, getUniqueDelegate, getUniqueKeyExporter, getUserDefinedTypeComment, getUserDefinedTypeExporter, getViolatedConstraintNameExtractor, getWriteLockString, getWriteLockString, getWriteLockString, getWriteLockString, getWriteRowLockStrategy, hasAlterTable, hasDataTypeBeforeGeneratedAs, hasSelfReferentialForeignKeyBug, initDefaultProperties, isCurrentTimestampSelectStringCallable, isEmptyStringTreatedAsNull, isJdbcLogWarningsEnabledByDefault, isLob, openQuote, ordinal, prependComment, quote, quoteCollation, registerColumnTypes, registerDefaultKeywords, registerKeyword, registerKeywords, registerResultSetOutParameter, registerResultSetOutParameter, requiresCastForConcatenatingNonStrings, requiresColumnListInCreateView, requiresFloatCastingOfIntegerDivision, requiresParensForTupleCounts, requiresParensForTupleDistinctCounts, resolveSqlTypeCode, resolveSqlTypeCode, resolveSqlTypeLength, rowId, rowIdSqlType, stripsTrailingSpacesFromChar, supportsAlterColumnType, supportsArrayConstructor, supportsBatchUpdates, supportsBindAsCallableArgument, supportsBindingNullForSetObject, supportsBindingNullSqlTypeForSetNull, supportsBitType, supportsCaseInsensitiveLike, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsConflictClauseForInsertCTE, supportsCrossJoin, supportsCurrentTimestampSelection, supportsDistinctFromPredicate, supportsDuplicateSelectItemsInQueryGroup, supportsExistsInSelect, supportsExpectedLobUsagePattern, supportsFetchClause, supportsFilterClause, supportsForUpdate, supportsFractionalTimestampArithmetic, supportsFromClauseInUpdate, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsAfterTypeName, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTableName, supportsIfExistsBeforeTypeName, supportsInsertReturning, supportsInsertReturningGeneratedKeys, supportsInsertReturningRowId, supportsIntersect, supportsIsTrue, supportsJdbcConnectionLobCreation, supportsJoinInMutationStatementSubquery, supportsJoinsInDelete, supportsLateral, supportsLobValueChangePropagation, supportsLockTimeouts, supportsMaterializedLobAccess, supportsNamedParameters, supportsNationalizedMethods, supportsNestedSubqueryCorrelation, supportsNestedWithClause, supportsNoColumnsInsert, supportsNonQueryWithCTE, supportsNoWait, supportsNullPrecedence, supportsOffsetInSubquery, supportsOrdinalSelectItemReference, supportsOuterJoinForUpdate, supportsPartitionBy, supportsPredicateAsExpression, supportsRecursiveCTE, supportsRecursiveCycleClause, supportsRecursiveCycleUsingClause, supportsRecursiveSearchClause, supportsRefCursors, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsRowConstructor, supportsRowValueConstructorDistinctFromSyntax, supportsRowValueConstructorGtLtSyntax, supportsRowValueConstructorSyntaxInInSubQuery, supportsSimpleQueryGrouping, supportsSkipLocked, supportsStandardArrays, supportsStandardCurrentTimestampFunction, supportsSubqueryInSelect, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTableOptions, supportsTemporalLiteralOffset, supportsTemporaryTablePrimaryKey, supportsTemporaryTables, supportsTruncateWithCast, supportsTupleCounts, supportsTupleDistinctCounts, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnionInSubquery, supportsUpdateReturning, supportsUserDefinedTypes, supportsValuesList, supportsValuesListForInsert, supportsWait, supportsWindowFunctions, supportsWithClause, supportsWithClauseInSubquery, toBooleanValueString, toQuotedIdentifier, toString, transformSelectString, translateDurationField, translateExtractField, unquoteGetGeneratedKeys, useArrayForMultiValuedParameters, useConnectionToCreateLob, useCrossReferenceForeignKeys, useFollowOnLocking, useInputStreamToInsertBlob

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • RDMSOS2200Dialect

      public RDMSOS2200Dialect()
      Constructs a RDMSOS2200Dialect
    • RDMSOS2200Dialect

      public RDMSOS2200Dialect(org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo info)
  • Method Details

    • columnType

      protected String columnType(int sqlTypeCode)
      Overrides:
      columnType in class org.hibernate.dialect.Dialect
    • useMaterializedLobWhenCapacityExceeded

      public boolean useMaterializedLobWhenCapacityExceeded()
      Overrides:
      useMaterializedLobWhenCapacityExceeded in class org.hibernate.dialect.Dialect
    • getMaxVarbinaryLength

      public int getMaxVarbinaryLength()
      Overrides:
      getMaxVarbinaryLength in class org.hibernate.dialect.Dialect
    • getVersion

      public org.hibernate.dialect.DatabaseVersion getVersion()
      Overrides:
      getVersion in class org.hibernate.dialect.Dialect
    • resolveSqlTypeDescriptor

      public org.hibernate.type.descriptor.jdbc.JdbcType resolveSqlTypeDescriptor(String columnTypeName, int jdbcTypeCode, int precision, int scale, org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry jdbcTypeRegistry)
      Overrides:
      resolveSqlTypeDescriptor in class org.hibernate.dialect.Dialect
    • getPreferredSqlTypeCodeForBoolean

      public int getPreferredSqlTypeCodeForBoolean()
      Overrides:
      getPreferredSqlTypeCodeForBoolean in class org.hibernate.dialect.Dialect
    • getDefaultDecimalPrecision

      public int getDefaultDecimalPrecision()
      Overrides:
      getDefaultDecimalPrecision in class org.hibernate.dialect.Dialect
    • initializeFunctionRegistry

      public void initializeFunctionRegistry(org.hibernate.boot.model.FunctionContributions functionContributions)
      Overrides:
      initializeFunctionRegistry in class org.hibernate.dialect.Dialect
    • getSqlAstTranslatorFactory

      public org.hibernate.sql.ast.SqlAstTranslatorFactory getSqlAstTranslatorFactory()
      Overrides:
      getSqlAstTranslatorFactory in class org.hibernate.dialect.Dialect
    • getFractionalSecondPrecisionInNanos

      public long getFractionalSecondPrecisionInNanos()
      Overrides:
      getFractionalSecondPrecisionInNanos in class org.hibernate.dialect.Dialect
    • extractPattern

      public String extractPattern(org.hibernate.query.common.TemporalUnit unit)
      RDMS supports a limited list of temporal fields in the extract() function, but we can emulate some of them by using the appropriate named functions instead of extract(). Thus, the additional supported fields are TemporalUnit.DAY_OF_YEAR, TemporalUnit.DAY_OF_MONTH, TemporalUnit.DAY_OF_YEAR. In addition, the field TemporalUnit.SECOND is redefined to include microseconds.
      Overrides:
      extractPattern in class org.hibernate.dialect.Dialect
    • timestampaddPattern

      public String timestampaddPattern(org.hibernate.query.common.TemporalUnit unit, TemporalType temporalType, org.hibernate.query.sqm.IntervalType intervalType)
      Overrides:
      timestampaddPattern in class org.hibernate.dialect.Dialect
    • timestampdiffPattern

      public String timestampdiffPattern(org.hibernate.query.common.TemporalUnit unit, TemporalType fromTemporalType, TemporalType toTemporalType)
      Overrides:
      timestampdiffPattern in class org.hibernate.dialect.Dialect
    • qualifyIndexName

      public boolean qualifyIndexName()
      RDMS does not support qualifing index names with the schema name.

      Overrides:
      qualifyIndexName in class org.hibernate.dialect.Dialect
    • getForUpdateString

      public String getForUpdateString()
      FOR UPDATE only supported for cursors
      Overrides:
      getForUpdateString in class org.hibernate.dialect.Dialect
      Returns:
      the empty string
    • 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 org.hibernate.dialect.Dialect
    • getLockingSupport

      public org.hibernate.dialect.lock.spi.LockingSupport getLockingSupport()
      Overrides:
      getLockingSupport in class org.hibernate.dialect.Dialect
    • getAddColumnString

      public String getAddColumnString()
      Overrides:
      getAddColumnString in class org.hibernate.dialect.Dialect
    • getNullColumnString

      public String getNullColumnString()
      Overrides:
      getNullColumnString in class org.hibernate.dialect.Dialect
    • getSequenceSupport

      public org.hibernate.dialect.sequence.SequenceSupport getSequenceSupport()
      Overrides:
      getSequenceSupport in class org.hibernate.dialect.Dialect
    • getCascadeConstraintsString

      public String getCascadeConstraintsString()
      Overrides:
      getCascadeConstraintsString in class org.hibernate.dialect.Dialect
    • getLimitHandler

      public org.hibernate.dialect.pagination.LimitHandler getLimitHandler()
      Overrides:
      getLimitHandler in class org.hibernate.dialect.Dialect
    • supportsOrderByInSubquery

      public boolean supportsOrderByInSubquery()
      Overrides:
      supportsOrderByInSubquery in class org.hibernate.dialect.Dialect
    • buildPessimisticWriteStrategy

      protected org.hibernate.dialect.lock.LockingStrategy buildPessimisticWriteStrategy(org.hibernate.persister.entity.EntityPersister lockable, org.hibernate.LockMode lockMode, org.hibernate.Locking.Scope lockScope)
      Overrides:
      buildPessimisticWriteStrategy in class org.hibernate.dialect.Dialect
    • buildPessimisticReadStrategy

      protected org.hibernate.dialect.lock.LockingStrategy buildPessimisticReadStrategy(org.hibernate.persister.entity.EntityPersister lockable, org.hibernate.LockMode lockMode, org.hibernate.Locking.Scope lockScope)
      Overrides:
      buildPessimisticReadStrategy in class org.hibernate.dialect.Dialect
    • getLockingClauseStrategy

      public org.hibernate.sql.ast.spi.LockingClauseStrategy getLockingClauseStrategy(org.hibernate.sql.ast.tree.select.QuerySpec querySpec, org.hibernate.LockOptions lockOptions)
      Overrides:
      getLockingClauseStrategy in class org.hibernate.dialect.Dialect
    • appendDatetimeFormat

      public void appendDatetimeFormat(org.hibernate.sql.ast.spi.SqlAppender appender, String format)
      Overrides:
      appendDatetimeFormat in class org.hibernate.dialect.Dialect
    • trimPattern

      public String trimPattern(org.hibernate.query.sqm.TrimSpec specification, boolean isWhitespace)
      Overrides:
      trimPattern in class org.hibernate.dialect.Dialect
    • getDual

      public String getDual()
      Overrides:
      getDual in class org.hibernate.dialect.Dialect
    • getFromDualForSelectOnly

      public String getFromDualForSelectOnly()
      Overrides:
      getFromDualForSelectOnly in class org.hibernate.dialect.Dialect
    • supportsRowValueConstructorSyntax

      public boolean supportsRowValueConstructorSyntax()
      Overrides:
      supportsRowValueConstructorSyntax in class org.hibernate.dialect.Dialect
    • supportsRowValueConstructorSyntaxInQuantifiedPredicates

      public boolean supportsRowValueConstructorSyntaxInQuantifiedPredicates()
      Overrides:
      supportsRowValueConstructorSyntaxInQuantifiedPredicates in class org.hibernate.dialect.Dialect
    • supportsRowValueConstructorSyntaxInInList

      public boolean supportsRowValueConstructorSyntaxInInList()
      Overrides:
      supportsRowValueConstructorSyntaxInInList in class org.hibernate.dialect.Dialect