Class CacheDialect

  • All Implemented Interfaces:
    org.hibernate.exception.spi.ConversionContext
    Direct Known Subclasses:
    Cache71Dialect

    public class CacheDialect
    extends org.hibernate.dialect.Dialect
    Dialect for Intersystems Caché SQL 2007.1 and above.
    • 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_DEFAULT_BATCH_LOAD_SIZING_STRATEGY, STREAM_XFER_LOB_MERGE_STRATEGY
    • Constructor Summary

      Constructors 
      Constructor Description
      CacheDialect()  
      CacheDialect​(org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo info)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void appendDatetimeFormat​(org.hibernate.sql.ast.spi.SqlAppender appender, String format)  
      org.hibernate.exception.spi.SQLExceptionConversionDelegate buildSQLExceptionConversionDelegate()  
      protected String columnType​(int sqlTypeCode)  
      String extractPattern​(org.hibernate.query.sqm.TemporalUnit unit)  
      String getAddForeignKeyConstraintString​(String constraintName, String[] foreignKey, String referencedTable, String[] primaryKey, boolean referencesPrimaryKey)  
      int getDefaultDecimalPrecision()  
      int getDefaultStatementBatchSize()  
      org.hibernate.dialect.identity.IdentityColumnSupport getIdentityColumnSupport()  
      org.hibernate.dialect.pagination.LimitHandler getLimitHandler()  
      org.hibernate.dialect.lock.LockingStrategy getLockingStrategy​(org.hibernate.persister.entity.Lockable lockable, org.hibernate.LockMode lockMode)  
      String getLowercaseFunction()  
      String getNativeIdentifierGeneratorStrategy()  
      String getNoColumnsInsertString()  
      String getNullColumnString()  
      int getPreferredSqlTypeCodeForBoolean()  
      String getQuerySequencesString()  
      ResultSet getResultSet​(CallableStatement ps)  
      org.hibernate.dialect.sequence.SequenceSupport getSequenceSupport()  
      org.hibernate.sql.ast.SqlAstTranslatorFactory getSqlAstTranslatorFactory()  
      org.hibernate.exception.spi.ViolatedConstraintNameExtractor getViolatedConstraintNameExtractor()  
      boolean hasSelfReferentialForeignKeyBug()  
      protected void initDefaultProperties()  
      void initializeFunctionRegistry​(org.hibernate.query.spi.QueryEngine queryEngine)  
      boolean qualifyIndexName()  
      int registerResultSetOutParameter​(CallableStatement statement, int col)  
      org.hibernate.type.descriptor.jdbc.JdbcType resolveSqlTypeDescriptor​(String columnTypeName, int jdbcTypeCode, int precision, int scale, org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry jdbcTypeRegistry)  
      boolean supportsOrderByInSubquery()  
      boolean supportsOuterJoinForUpdate()  
      boolean supportsResultSetPositionQueryMethodsOnForwardOnlyCursor()  
      String timestampaddPattern​(org.hibernate.query.sqm.TemporalUnit unit, TemporalType temporalType, org.hibernate.query.sqm.IntervalType intervalType)  
      String timestampdiffPattern​(org.hibernate.query.sqm.TemporalUnit unit, TemporalType fromTemporalType, TemporalType toTemporalType)  
      • Methods inherited from class org.hibernate.dialect.Dialect

        addSqlHintOrComment, appendBinaryLiteral, appendBooleanValueString, appendDateTimeLiteral, appendDateTimeLiteral, appendDateTimeLiteral, appendIntervalLiteral, appendLiteral, appendLockHint, applyLocksToSql, augmentPhysicalTableTypes, augmentRecognizedTableTypes, buildIdentifierHelper, canCreateCatalog, canCreateSchema, castPattern, castType, closeQuote, contributeTypes, currentDate, currentLocalTime, currentLocalTimestamp, currentTime, currentTimestamp, currentTimestampWithTimeZone, defaultScrollMode, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, dropConstraints, equivalentTypes, escapeComment, forceLobAsLastValue, generatedAs, getAddColumnString, getAddColumnSuffixString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAlterTableString, getAuxiliaryDatabaseObjectExporter, getBooleanCheckCondition, getCallableStatementSupport, getCascadeConstraintsString, getCaseInsensitiveLike, getColumnAliasExtractor, getColumnComment, getCreateCatalogCommand, getCreateMultisetTableString, getCreateSchemaCommand, getCreateTableString, getCreateTemporaryTableColumnAnnotation, getCurrentSchemaCommand, getCurrentTimestampSelectString, getDefaultBatchLoadSizingStrategy, getDefaultLobLength, getDefaultNonContextualLobCreation, getDefaultProperties, getDefaultTimestampPrecision, getDefaultUseGetGeneratedKeys, getDoublePrecision, getDropCatalogCommand, getDropForeignKeyString, getDropSchemaCommand, getDropTableString, getEnumCheckCondition, getFallbackSqmInsertStrategy, getFallbackSqmMutationStrategy, getFloatPrecision, getForeignKeyExporter, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateSkipLockedString, getForUpdateSkipLockedString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getFractionalSecondPrecisionInNanos, getGroupBySelectItemReferenceStrategy, getHqlTranslator, getIndexExporter, getInExpressionCountLimit, getKeywords, getLobMergeStrategy, getLockRowIdentifier, getMaxAliasLength, getMaxIdentifierLength, getMaxNVarcharLength, getMaxVarbinaryLength, getMaxVarcharLength, getNameQualifierSupport, getNationalizationSupport, getNullColumnString, getNullOrdering, getQueryHintString, getQueryHintString, getReadLockString, getReadLockString, getReadRowLockStrategy, getResultSet, getResultSet, getSchemaNameResolver, getSelectClauseNullString, getSelectGUIDString, getSequenceExporter, getSequenceInformationExtractor, getSizeStrategy, getSqmTranslatorFactory, getSupportedTemporaryTableKind, getTableComment, getTableExporter, getTableTypeString, getTemporaryTableAfterUseAction, getTemporaryTableBeforeUseAction, getTemporaryTableCreateCommand, getTemporaryTableCreateOptions, getTemporaryTableDdlTransactionHandling, getTemporaryTableDropCommand, getTemporaryTableExporter, getTemporaryTableTruncateCommand, getTimeZoneSupport, getUniqueDelegate, getUniqueKeyExporter, getVersion, getWriteLockString, getWriteLockString, getWriteRowLockStrategy, hasAlterTable, hasDataTypeBeforeGeneratedAs, inlineLiteral, isAnsiNullOn, isCurrentTimestampSelectStringCallable, isEmptyStringTreatedAsNull, isJdbcLogWarningsEnabledByDefault, isLockTimeoutParameterized, openQuote, prependComment, quote, registerColumnTypes, registerDefaultKeywords, registerKeyword, registerKeywords, registerResultSetOutParameter, requiresFloatCastingOfIntegerDivision, requiresParensForTupleCounts, requiresParensForTupleDistinctCounts, resolveSqlTypeLength, supportsBindAsCallableArgument, supportsBitType, supportsCascadeDelete, supportsCaseInsensitiveLike, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsCurrentTimestampSelection, supportsExistsInSelect, supportsExpectedLobUsagePattern, supportsFetchClause, supportsFractionalTimestampArithmetic, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTableName, supportsJdbcConnectionLobCreation, supportsLateral, supportsLobValueChangePropagation, supportsLockTimeouts, supportsNamedParameters, supportsNoColumnsInsert, supportsNonQueryWithCTE, supportsNoWait, supportsNullPrecedence, supportsOffsetInSubquery, supportsOrdinalSelectItemReference, supportsParametersInInsertSelect, supportsPartitionBy, supportsSkipLocked, supportsSubqueryInSelect, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTemporalLiteralOffset, supportsTemporaryTablePrimaryKey, supportsTemporaryTables, supportsTruncateWithCast, supportsTupleCounts, supportsTupleDistinctCounts, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnionInSubquery, supportsValuesList, supportsValuesListForInsert, supportsWait, supportsWindowFunctions, toBooleanValueString, toString, transformSelectString, translateDurationField, translateExtractField, trimPattern, useFollowOnLocking, useInputStreamToInsertBlob
    • Constructor Detail

      • CacheDialect

        public CacheDialect()
      • CacheDialect

        public CacheDialect​(org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo info)
    • Method Detail

      • columnType

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

        protected void initDefaultProperties()
        Overrides:
        initDefaultProperties in class org.hibernate.dialect.Dialect
      • getDefaultStatementBatchSize

        public int getDefaultStatementBatchSize()
        Overrides:
        getDefaultStatementBatchSize 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.query.spi.QueryEngine queryEngine)
        Overrides:
        initializeFunctionRegistry in class org.hibernate.dialect.Dialect
      • extractPattern

        public String extractPattern​(org.hibernate.query.sqm.TemporalUnit unit)
        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()
        Overrides:
        qualifyIndexName in class org.hibernate.dialect.Dialect
      • getAddForeignKeyConstraintString

        public String getAddForeignKeyConstraintString​(String constraintName,
                                                       String[] foreignKey,
                                                       String referencedTable,
                                                       String[] primaryKey,
                                                       boolean referencesPrimaryKey)
        Overrides:
        getAddForeignKeyConstraintString in class org.hibernate.dialect.Dialect
      • hasSelfReferentialForeignKeyBug

        public boolean hasSelfReferentialForeignKeyBug()
        Overrides:
        hasSelfReferentialForeignKeyBug in class org.hibernate.dialect.Dialect
      • getNativeIdentifierGeneratorStrategy

        public String getNativeIdentifierGeneratorStrategy()
        Overrides:
        getNativeIdentifierGeneratorStrategy in class org.hibernate.dialect.Dialect
      • getIdentityColumnSupport

        public org.hibernate.dialect.identity.IdentityColumnSupport getIdentityColumnSupport()
        Overrides:
        getIdentityColumnSupport in class org.hibernate.dialect.Dialect
      • getSequenceSupport

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

        public String getQuerySequencesString()
        Overrides:
        getQuerySequencesString in class org.hibernate.dialect.Dialect
      • supportsOuterJoinForUpdate

        public boolean supportsOuterJoinForUpdate()
        Overrides:
        supportsOuterJoinForUpdate in class org.hibernate.dialect.Dialect
      • getLockingStrategy

        public org.hibernate.dialect.lock.LockingStrategy getLockingStrategy​(org.hibernate.persister.entity.Lockable lockable,
                                                                             org.hibernate.LockMode lockMode)
        Overrides:
        getLockingStrategy in class org.hibernate.dialect.Dialect
      • getSqlAstTranslatorFactory

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

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

        public int registerResultSetOutParameter​(CallableStatement statement,
                                                 int col)
        Overrides:
        registerResultSetOutParameter in class org.hibernate.dialect.Dialect
      • getLowercaseFunction

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

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

        public String getNoColumnsInsertString()
        Overrides:
        getNoColumnsInsertString in class org.hibernate.dialect.Dialect
      • buildSQLExceptionConversionDelegate

        public org.hibernate.exception.spi.SQLExceptionConversionDelegate buildSQLExceptionConversionDelegate()
        Overrides:
        buildSQLExceptionConversionDelegate in class org.hibernate.dialect.Dialect
      • getViolatedConstraintNameExtractor

        public org.hibernate.exception.spi.ViolatedConstraintNameExtractor getViolatedConstraintNameExtractor()
        Specified by:
        getViolatedConstraintNameExtractor in interface org.hibernate.exception.spi.ConversionContext
        Overrides:
        getViolatedConstraintNameExtractor in class org.hibernate.dialect.Dialect
      • supportsOrderByInSubquery

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

        public boolean supportsResultSetPositionQueryMethodsOnForwardOnlyCursor()
        Overrides:
        supportsResultSetPositionQueryMethodsOnForwardOnlyCursor 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