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, LEGACY_LOB_MERGE_STRATEGY, LOG_BASE2OF10, NEW_LOCATOR_LOB_MERGE_STRATEGY, QUOTE, STANDARD_MULTI_KEY_LOAD_SIZING_STRATEGY, STREAM_XFER_LOB_MERGE_STRATEGY
  • 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 String
    columnType(int sqlTypeCode)
     
    extractPattern(org.hibernate.query.sqm.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.dialect.lock.LockingStrategy
    getLockingStrategy(org.hibernate.persister.entity.EntityPersister lockable, org.hibernate.LockMode lockMode)
     
    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
    Currently, RDMS-JDBC does not support ForUpdate.
    timestampaddPattern(org.hibernate.query.sqm.TemporalUnit unit, TemporalType temporalType, org.hibernate.query.sqm.IntervalType intervalType)
     
    timestampdiffPattern(org.hibernate.query.sqm.TemporalUnit unit, TemporalType fromTemporalType, TemporalType toTemporalType)
     
    trimPattern(org.hibernate.query.sqm.TrimSpec specification, boolean isWhitespace)
     
    boolean
     

    Methods inherited from class org.hibernate.dialect.Dialect

    addSqlHintOrComment, appendArrayLiteral, appendBinaryLiteral, appendBooleanValueString, appendCheckConstraintOptions, appendDateTimeLiteral, appendDateTimeLiteral, appendDateTimeLiteral, appendIntervalLiteral, appendLiteral, appendLockHint, appendUUIDLiteral, applyLocksToSql, augmentPhysicalTableTypes, augmentRecognizedTableTypes, buildIdentifierHelper, buildSQLExceptionConversionDelegate, canBatchTruncate, canCreateCatalog, canCreateSchema, canDisableConstraints, castPattern, castType, checkVersion, closeQuote, contribute, contributeFunctions, contributeTypes, createOptionalTableUpdateOperation, currentDate, currentLocalTime, currentLocalTimestamp, currentTime, currentTimestamp, currentTimestampWithTimeZone, defaultScrollMode, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, doesRoundTemporalOnOverflow, dropConstraints, equivalentTypes, escapeComment, forceLobAsLastValue, generatedAs, getAddColumnSuffixString, getAddForeignKeyConstraintString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAggregateSupport, getAlterColumnTypeString, getAlterTableString, getArrayTypeName, getAuxiliaryDatabaseObjectExporter, getBatchLoadSizingStrategy, getCallableStatementSupport, getCaseInsensitiveLike, 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, 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, getFunctionalDependencyAnalysisSupport, getGroupBySelectItemReferenceStrategy, getHqlTranslator, getIdentityColumnSupport, getIndexExporter, getInExpressionCountLimit, getKeywords, getLobMergeStrategy, getLockRowIdentifier, getLowercaseFunction, getMaxAliasLength, getMaxIdentifierLength, getMaxNVarcharCapacity, getMaxNVarcharLength, getMaxVarbinaryCapacity, getMaxVarcharCapacity, getMaxVarcharLength, getMinimumSupportedVersion, getMultiKeyLoadSizingStrategy, getNameQualifierSupport, getNationalizationSupport, getNativeIdentifierGeneratorStrategy, getNativeParameterMarkerStrategy, getNoColumnsInsertString, getNullColumnString, getNullOrdering, getParameterCountLimit, getPreferredSqlTypeCodeForArray, getQueryHintString, getQueryHintString, getQuerySequencesString, getReadLockString, getReadLockString, getReadRowLockStrategy, getResultSet, getResultSet, getResultSet, getRowIdColumnString, getSchemaNameResolver, 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, getWriteRowLockStrategy, hasAlterTable, hasDataTypeBeforeGeneratedAs, hasSelfReferentialForeignKeyBug, initDefaultProperties, isAnsiNullOn, isCurrentTimestampSelectStringCallable, isEmptyStringTreatedAsNull, isJdbcLogWarningsEnabledByDefault, isLob, openQuote, ordinal, prependComment, quote, quoteCollation, registerColumnTypes, registerDefaultKeywords, registerKeyword, registerKeywords, registerResultSetOutParameter, registerResultSetOutParameter, requiresCastForConcatenatingNonStrings, requiresFloatCastingOfIntegerDivision, requiresParensForTupleCounts, requiresParensForTupleDistinctCounts, resolveSqlTypeCode, resolveSqlTypeCode, resolveSqlTypeLength, rowId, rowIdSqlType, supportsAlterColumnType, supportsBatchUpdates, supportsBindAsCallableArgument, supportsBitType, supportsCaseInsensitiveLike, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsConflictClauseForInsertCTE, supportsCurrentTimestampSelection, supportsDistinctFromPredicate, supportsExistsInSelect, supportsExpectedLobUsagePattern, supportsFetchClause, supportsFractionalTimestampArithmetic, supportsFromClauseInUpdate, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsAfterTypeName, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTableName, supportsIfExistsBeforeTypeName, supportsInsertReturning, supportsInsertReturningGeneratedKeys, supportsInsertReturningRowId, supportsIsTrue, supportsJdbcConnectionLobCreation, supportsLateral, supportsLobValueChangePropagation, supportsLockTimeouts, supportsMaterializedLobAccess, supportsNamedParameters, supportsNoColumnsInsert, supportsNonQueryWithCTE, supportsNoWait, supportsNullPrecedence, supportsOffsetInSubquery, supportsOrdinalSelectItemReference, supportsPartitionBy, supportsPredicateAsExpression, supportsRecursiveCTE, supportsRefCursors, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsSkipLocked, supportsStandardArrays, supportsStandardCurrentTimestampFunction, supportsSubqueryInSelect, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTableOptions, supportsTemporalLiteralOffset, supportsTemporaryTablePrimaryKey, supportsTemporaryTables, supportsTruncateWithCast, supportsTupleCounts, supportsTupleDistinctCounts, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnionInSubquery, supportsUpdateReturning, supportsValuesList, supportsValuesListForInsert, supportsWait, supportsWindowFunctions, 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.sqm.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.sqm.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.sqm.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
    • 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 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
    • getLockingStrategy

      public org.hibernate.dialect.lock.LockingStrategy getLockingStrategy(org.hibernate.persister.entity.EntityPersister lockable, org.hibernate.LockMode lockMode)
      Overrides:
      getLockingStrategy 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