Class DerbyLegacyDialect

  • All Implemented Interfaces:
    org.hibernate.boot.model.FunctionContributor, org.hibernate.boot.model.TypeContributor, org.hibernate.exception.spi.ConversionContext
    Direct Known Subclasses:
    DerbyTenFiveDialect, DerbyTenSevenDialect, DerbyTenSixDialect

    public class DerbyLegacyDialect
    extends org.hibernate.dialect.Dialect
    A SQL dialect for Apache Derby.
    • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void appendBooleanValueString​(org.hibernate.sql.ast.spi.SqlAppender appender, boolean bool)  
      void appendDatetimeFormat​(org.hibernate.sql.ast.spi.SqlAppender appender, String format)  
      org.hibernate.engine.jdbc.env.spi.IdentifierHelper buildIdentifierHelper​(org.hibernate.engine.jdbc.env.spi.IdentifierHelperBuilder builder, DatabaseMetaData dbMetaData)  
      org.hibernate.exception.spi.SQLExceptionConversionDelegate buildSQLExceptionConversionDelegate()  
      String castPattern​(org.hibernate.query.sqm.CastType from, org.hibernate.query.sqm.CastType to)
      Derby does have a real Types.BOOLEAN type, but it doesn't know how to cast to it.
      protected String columnType​(int sqlTypeCode)  
      void contributeTypes​(org.hibernate.boot.model.TypeContributions typeContributions, org.hibernate.service.ServiceRegistry serviceRegistry)  
      boolean doesReadCommittedCauseWritersToBlockReaders()  
      String extractPattern​(org.hibernate.query.sqm.TemporalUnit unit)
      Derby doesn't have an extract() function, and has no functions at all for calendaring, but we can emulate the most basic functionality of extract() using the functions it does have.
      String getCurrentTimestampSelectString()  
      int getDefaultDecimalPrecision()  
      int getDefaultStatementBatchSize()  
      int getDefaultTimestampPrecision()  
      org.hibernate.dialect.DmlTargetColumnQualifierSupport getDmlTargetColumnQualifierSupport()  
      int getDoublePrecision()  
      String[] getDropSchemaCommand​(String schemaName)  
      String getDual()  
      org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy getFallbackSqmInsertStrategy​(org.hibernate.metamodel.mapping.EntityMappingType rootEntityDescriptor, org.hibernate.metamodel.spi.RuntimeModelCreationContext runtimeModelCreationContext)  
      org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy getFallbackSqmMutationStrategy​(org.hibernate.metamodel.mapping.EntityMappingType rootEntityDescriptor, org.hibernate.metamodel.spi.RuntimeModelCreationContext runtimeModelCreationContext)
      int getFloatPrecision()  
      String getForUpdateString()  
      String getFromDualForSelectOnly()  
      org.hibernate.dialect.identity.IdentityColumnSupport getIdentityColumnSupport()  
      org.hibernate.dialect.pagination.LimitHandler getLimitHandler()  
      int getMaxVarcharCapacity()  
      int getMaxVarcharLength()  
      org.hibernate.dialect.NationalizationSupport getNationalizationSupport()  
      int getPreferredSqlTypeCodeForBoolean()  
      String getQuerySequencesString()  
      String getReadLockString​(int timeout)  
      org.hibernate.dialect.RowLockStrategy getReadRowLockStrategy()  
      String getSelectClauseNullString​(int sqlType, org.hibernate.type.spi.TypeConfiguration typeConfiguration)  
      org.hibernate.tool.schema.extract.spi.SequenceInformationExtractor getSequenceInformationExtractor()  
      org.hibernate.dialect.sequence.SequenceSupport getSequenceSupport()  
      org.hibernate.sql.ast.SqlAstTranslatorFactory getSqlAstTranslatorFactory()  
      org.hibernate.dialect.temptable.TemporaryTableKind getSupportedTemporaryTableKind()  
      org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction getTemporaryTableBeforeUseAction()  
      String getTemporaryTableCreateCommand()  
      String getTemporaryTableCreateOptions()  
      org.hibernate.exception.spi.ViolatedConstraintNameExtractor getViolatedConstraintNameExtractor()  
      String getWriteLockString​(int timeout)  
      org.hibernate.dialect.RowLockStrategy getWriteRowLockStrategy()  
      void initializeFunctionRegistry​(org.hibernate.boot.model.FunctionContributions functionContributions)  
      boolean isCurrentTimestampSelectStringCallable()  
      protected void registerColumnTypes​(org.hibernate.boot.model.TypeContributions typeContributions, org.hibernate.service.ServiceRegistry serviceRegistry)  
      protected void registerDefaultKeywords()  
      boolean requiresCastForConcatenatingNonStrings()  
      boolean supportsCommentOn()  
      boolean supportsCurrentTimestampSelection()  
      boolean supportsExistsInSelect()  
      boolean supportsLobValueChangePropagation()  
      boolean supportsLockTimeouts()  
      boolean supportsOrderByInSubquery()  
      boolean supportsOuterJoinForUpdate()  
      boolean supportsPartitionBy()  
      boolean supportsResultSetPositionQueryMethodsOnForwardOnlyCursor()  
      boolean supportsTemporaryTablePrimaryKey()  
      boolean supportsTupleDistinctCounts()  
      boolean supportsUnboundedLobLocatorMaterialization()  
      boolean supportsValuesList()  
      boolean supportsWindowFunctions()  
      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)  
      String translateExtractField​(org.hibernate.query.sqm.TemporalUnit unit)  
      • Methods inherited from class org.hibernate.dialect.Dialect

        addSqlHintOrComment, appendArrayLiteral, appendBinaryLiteral, appendDateTimeLiteral, appendDateTimeLiteral, appendDateTimeLiteral, appendIntervalLiteral, appendLiteral, appendLockHint, appendUUIDLiteral, applyLocksToSql, augmentPhysicalTableTypes, augmentRecognizedTableTypes, buildStringToBooleanCast, buildStringToBooleanCastDecode, buildStringToBooleanDecode, canBatchTruncate, canCreateCatalog, canCreateSchema, canDisableConstraints, castType, checkVersion, closeQuote, contribute, contributeFunctions, createOptionalTableUpdateOperation, currentDate, currentLocalTime, currentLocalTimestamp, currentTime, currentTimestamp, currentTimestampWithTimeZone, defaultScrollMode, doesRepeatableReadCauseReadersToBlockWriters, doesRoundTemporalOnOverflow, dropConstraints, equivalentTypes, escapeComment, forceLobAsLastValue, generatedAs, getAddColumnString, getAddColumnSuffixString, getAddForeignKeyConstraintString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAggregateSupport, getAlterColumnTypeString, getAlterTableString, getArrayTypeName, getAuxiliaryDatabaseObjectExporter, getBatchLoadSizingStrategy, getBeforeDropStatement, getCallableStatementSupport, getCascadeConstraintsString, getCaseInsensitiveLike, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getColumnAliasExtractor, getColumnComment, getCreateCatalogCommand, getCreateEnumTypeCommand, getCreateEnumTypeCommand, getCreateIndexString, getCreateIndexTail, getCreateMultisetTableString, getCreateSchemaCommand, getCreateTableString, getCreateTemporaryTableColumnAnnotation, getCreateUserDefinedTypeExtensionsString, getCreateUserDefinedTypeKindString, getCrossReferenceParentTableFilter, getCurrentSchemaCommand, getDefaultIntervalSecondScale, getDefaultLobLength, getDefaultNonContextualLobCreation, getDefaultProperties, getDefaultUseGetGeneratedKeys, getDisableConstraintsStatement, getDisableConstraintStatement, getDropCatalogCommand, getDropEnumTypeCommand, getDropEnumTypeCommand, getDropForeignKeyString, getDropTableString, getDropUniqueKeyString, getEnableConstraintsStatement, getEnableConstraintStatement, getEnumTypeDeclaration, getEnumTypeDeclaration, getFallbackSchemaManagementTool, getForeignKeyExporter, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateSkipLockedString, getForUpdateSkipLockedString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getFractionalSecondPrecisionInNanos, getFunctionalDependencyAnalysisSupport, getGroupBySelectItemReferenceStrategy, getHqlTranslator, getIndexExporter, getInExpressionCountLimit, getKeywords, getLobMergeStrategy, getLockingStrategy, getLockRowIdentifier, getLowercaseFunction, getMaxAliasLength, getMaxIdentifierLength, getMaxNVarcharCapacity, getMaxNVarcharLength, getMaxVarbinaryCapacity, getMaxVarbinaryLength, getMinimumSupportedVersion, getMultiKeyLoadSizingStrategy, getNameQualifierSupport, getNativeIdentifierGeneratorStrategy, getNativeParameterMarkerStrategy, getNoColumnsInsertString, getNullColumnString, getNullColumnString, getNullOrdering, getParameterCountLimit, getPreferredSqlTypeCodeForArray, getQueryHintString, getQueryHintString, getReadLockString, getResultSet, getResultSet, getResultSet, getRowIdColumnString, getSchemaNameResolver, getSelectClauseNullString, getSelectGUIDString, getSequenceExporter, getSizeStrategy, getSqmTranslatorFactory, getTableCleaner, getTableComment, getTableExporter, getTableMigrator, getTableTypeString, getTemporaryTableAfterUseAction, getTemporaryTableDdlTransactionHandling, getTemporaryTableDropCommand, getTemporaryTableExporter, getTemporaryTableTruncateCommand, getTimeoutInSeconds, getTimeZoneSupport, getTruncateTableStatement, getTruncateTableStatements, getUniqueDelegate, getUniqueKeyExporter, getUserDefinedTypeComment, getUserDefinedTypeExporter, getVersion, getWriteLockString, hasAlterTable, hasDataTypeBeforeGeneratedAs, hasSelfReferentialForeignKeyBug, initDefaultProperties, inlineLiteral, isAnsiNullOn, isEmptyStringTreatedAsNull, isJdbcLogWarningsEnabledByDefault, isLob, isLockTimeoutParameterized, openQuote, ordinal, prependComment, qualifyIndexName, quote, quoteCollation, registerKeyword, registerKeywords, registerResultSetOutParameter, registerResultSetOutParameter, requiresFloatCastingOfIntegerDivision, requiresParensForTupleCounts, requiresParensForTupleDistinctCounts, resolveSqlTypeCode, resolveSqlTypeCode, resolveSqlTypeDescriptor, resolveSqlTypeLength, rowId, rowIdSqlType, supportsAlterColumnType, supportsBatchUpdates, supportsBindAsCallableArgument, supportsBindingNullForSetObject, supportsBindingNullSqlTypeForSetNull, supportsBitType, supportsCascadeDelete, supportsCaseInsensitiveLike, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsConflictClauseForInsertCTE, supportsDistinctFromPredicate, supportsExpectedLobUsagePattern, supportsFetchClause, supportsFractionalTimestampArithmetic, supportsFromClauseInUpdate, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsAfterTypeName, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTableName, supportsIfExistsBeforeTypeName, supportsInsertReturning, supportsInsertReturningGeneratedKeys, supportsInsertReturningRowId, supportsIsTrue, supportsJdbcConnectionLobCreation, supportsLateral, supportsMaterializedLobAccess, supportsNamedParameters, supportsNationalizedMethods, supportsNoColumnsInsert, supportsNonQueryWithCTE, supportsNoWait, supportsNullPrecedence, supportsOffsetInSubquery, supportsOrdinalSelectItemReference, supportsParametersInInsertSelect, supportsPredicateAsExpression, supportsRecursiveCTE, supportsRefCursors, supportsSkipLocked, supportsStandardArrays, supportsStandardCurrentTimestampFunction, supportsSubqueryInSelect, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTemporalLiteralOffset, supportsTemporaryTables, supportsTruncateWithCast, supportsTupleCounts, supportsUnionAll, supportsUnionInSubquery, supportsUpdateReturning, supportsValuesListForInsert, supportsWait, toBooleanValueString, toQuotedIdentifier, toString, transformSelectString, translateDurationField, trimPattern, trimPattern, unquoteGetGeneratedKeys, useArrayForMultiValuedParameters, useConnectionToCreateLob, useCrossReferenceForeignKeys, useFollowOnLocking, useInputStreamToInsertBlob, useMaterializedLobWhenCapacityExceeded
    • Constructor Detail

      • DerbyLegacyDialect

        public DerbyLegacyDialect()
      • DerbyLegacyDialect

        public DerbyLegacyDialect​(org.hibernate.dialect.DatabaseVersion version)
      • DerbyLegacyDialect

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

      • columnType

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

        protected void registerColumnTypes​(org.hibernate.boot.model.TypeContributions typeContributions,
                                           org.hibernate.service.ServiceRegistry serviceRegistry)
        Overrides:
        registerColumnTypes in class org.hibernate.dialect.Dialect
      • getMaxVarcharLength

        public int getMaxVarcharLength()
        Overrides:
        getMaxVarcharLength in class org.hibernate.dialect.Dialect
      • getMaxVarcharCapacity

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

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

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

        public org.hibernate.dialect.NationalizationSupport getNationalizationSupport()
        Overrides:
        getNationalizationSupport in class org.hibernate.dialect.Dialect
      • getDefaultStatementBatchSize

        public int getDefaultStatementBatchSize()
        Overrides:
        getDefaultStatementBatchSize in class org.hibernate.dialect.Dialect
      • getFloatPrecision

        public int getFloatPrecision()
        Overrides:
        getFloatPrecision in class org.hibernate.dialect.Dialect
      • getDoublePrecision

        public int getDoublePrecision()
        Overrides:
        getDoublePrecision in class org.hibernate.dialect.Dialect
      • getDefaultTimestampPrecision

        public int getDefaultTimestampPrecision()
        Overrides:
        getDefaultTimestampPrecision 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
      • extractPattern

        public String extractPattern​(org.hibernate.query.sqm.TemporalUnit unit)
        Derby doesn't have an extract() function, and has no functions at all for calendaring, but we can emulate the most basic functionality of extract() using the functions it does have. The only supported TemporalUnits are: TemporalUnit.YEAR, TemporalUnit.MONTH TemporalUnit.DAY, TemporalUnit.HOUR, TemporalUnit.MINUTE, TemporalUnit.SECOND (along with TemporalUnit.NANOSECOND, TemporalUnit.DATE, and TemporalUnit.TIME, which are desugared by the parser).
        Overrides:
        extractPattern in class org.hibernate.dialect.Dialect
      • translateExtractField

        public String translateExtractField​(org.hibernate.query.sqm.TemporalUnit unit)
        Overrides:
        translateExtractField in class org.hibernate.dialect.Dialect
      • castPattern

        public String castPattern​(org.hibernate.query.sqm.CastType from,
                                  org.hibernate.query.sqm.CastType to)
        Derby does have a real Types.BOOLEAN type, but it doesn't know how to cast to it. Worse, Derby makes us use the double() function to cast things to its floating point types.
        Overrides:
        castPattern 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
      • appendBooleanValueString

        public void appendBooleanValueString​(org.hibernate.sql.ast.spi.SqlAppender appender,
                                             boolean bool)
        Overrides:
        appendBooleanValueString 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
      • getSequenceInformationExtractor

        public org.hibernate.tool.schema.extract.spi.SequenceInformationExtractor getSequenceInformationExtractor()
        Overrides:
        getSequenceInformationExtractor in class org.hibernate.dialect.Dialect
      • getDropSchemaCommand

        public String[] getDropSchemaCommand​(String schemaName)
        Overrides:
        getDropSchemaCommand in class org.hibernate.dialect.Dialect
      • getSelectClauseNullString

        public String getSelectClauseNullString​(int sqlType,
                                                org.hibernate.type.spi.TypeConfiguration typeConfiguration)
        Overrides:
        getSelectClauseNullString in class org.hibernate.dialect.Dialect
      • supportsCommentOn

        public boolean supportsCommentOn()
        Overrides:
        supportsCommentOn in class org.hibernate.dialect.Dialect
      • getWriteRowLockStrategy

        public org.hibernate.dialect.RowLockStrategy getWriteRowLockStrategy()
        Overrides:
        getWriteRowLockStrategy in class org.hibernate.dialect.Dialect
      • getReadRowLockStrategy

        public org.hibernate.dialect.RowLockStrategy getReadRowLockStrategy()
        Overrides:
        getReadRowLockStrategy in class org.hibernate.dialect.Dialect
      • getForUpdateString

        public String getForUpdateString()
        Overrides:
        getForUpdateString in class org.hibernate.dialect.Dialect
      • getWriteLockString

        public String getWriteLockString​(int timeout)
        Overrides:
        getWriteLockString in class org.hibernate.dialect.Dialect
      • getReadLockString

        public String getReadLockString​(int timeout)
        Overrides:
        getReadLockString in class org.hibernate.dialect.Dialect
      • supportsOuterJoinForUpdate

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

        public boolean supportsExistsInSelect()
        Overrides:
        supportsExistsInSelect in class org.hibernate.dialect.Dialect
      • supportsLockTimeouts

        public boolean supportsLockTimeouts()
        Overrides:
        supportsLockTimeouts in class org.hibernate.dialect.Dialect
      • supportsCurrentTimestampSelection

        public boolean supportsCurrentTimestampSelection()
        Overrides:
        supportsCurrentTimestampSelection in class org.hibernate.dialect.Dialect
      • getCurrentTimestampSelectString

        public String getCurrentTimestampSelectString()
        Overrides:
        getCurrentTimestampSelectString in class org.hibernate.dialect.Dialect
      • isCurrentTimestampSelectStringCallable

        public boolean isCurrentTimestampSelectStringCallable()
        Overrides:
        isCurrentTimestampSelectStringCallable in class org.hibernate.dialect.Dialect
      • getLimitHandler

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

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

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

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

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

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

        public boolean requiresCastForConcatenatingNonStrings()
        Overrides:
        requiresCastForConcatenatingNonStrings in class org.hibernate.dialect.Dialect
      • contributeTypes

        public void contributeTypes​(org.hibernate.boot.model.TypeContributions typeContributions,
                                    org.hibernate.service.ServiceRegistry serviceRegistry)
        Overrides:
        contributeTypes in class org.hibernate.dialect.Dialect
      • supportsLobValueChangePropagation

        public boolean supportsLobValueChangePropagation()
        Overrides:
        supportsLobValueChangePropagation in class org.hibernate.dialect.Dialect
      • supportsUnboundedLobLocatorMaterialization

        public boolean supportsUnboundedLobLocatorMaterialization()
        Overrides:
        supportsUnboundedLobLocatorMaterialization 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
      • buildSQLExceptionConversionDelegate

        public org.hibernate.exception.spi.SQLExceptionConversionDelegate buildSQLExceptionConversionDelegate()
        Overrides:
        buildSQLExceptionConversionDelegate 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
      • registerDefaultKeywords

        protected void registerDefaultKeywords()
        Overrides:
        registerDefaultKeywords in class org.hibernate.dialect.Dialect
      • getFallbackSqmMutationStrategy

        public org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy getFallbackSqmMutationStrategy​(org.hibernate.metamodel.mapping.EntityMappingType rootEntityDescriptor,
                                                                                                                 org.hibernate.metamodel.spi.RuntimeModelCreationContext runtimeModelCreationContext)

        From Derby docs:

             The DECLARE GLOBAL TEMPORARY TABLE statement defines a temporary table for the current connection.
         
        DB2Dialect returns a GlobalTemporaryTableMutationStrategy that will make temporary tables created at startup and hence unavailable for subsequent connections.
        see HHH-10238.
        Overrides:
        getFallbackSqmMutationStrategy in class org.hibernate.dialect.Dialect
      • getFallbackSqmInsertStrategy

        public org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy getFallbackSqmInsertStrategy​(org.hibernate.metamodel.mapping.EntityMappingType rootEntityDescriptor,
                                                                                                             org.hibernate.metamodel.spi.RuntimeModelCreationContext runtimeModelCreationContext)
        Overrides:
        getFallbackSqmInsertStrategy in class org.hibernate.dialect.Dialect
      • getSupportedTemporaryTableKind

        public org.hibernate.dialect.temptable.TemporaryTableKind getSupportedTemporaryTableKind()
        Overrides:
        getSupportedTemporaryTableKind in class org.hibernate.dialect.Dialect
      • getTemporaryTableCreateOptions

        public String getTemporaryTableCreateOptions()
        Overrides:
        getTemporaryTableCreateOptions in class org.hibernate.dialect.Dialect
      • supportsTemporaryTablePrimaryKey

        public boolean supportsTemporaryTablePrimaryKey()
        Overrides:
        supportsTemporaryTablePrimaryKey in class org.hibernate.dialect.Dialect
      • getTemporaryTableCreateCommand

        public String getTemporaryTableCreateCommand()
        Overrides:
        getTemporaryTableCreateCommand in class org.hibernate.dialect.Dialect
      • getTemporaryTableBeforeUseAction

        public org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction getTemporaryTableBeforeUseAction()
        Overrides:
        getTemporaryTableBeforeUseAction in class org.hibernate.dialect.Dialect
      • supportsPartitionBy

        public boolean supportsPartitionBy()
        Overrides:
        supportsPartitionBy in class org.hibernate.dialect.Dialect
      • supportsWindowFunctions

        public boolean supportsWindowFunctions()
        Overrides:
        supportsWindowFunctions in class org.hibernate.dialect.Dialect
      • supportsValuesList

        public boolean supportsValuesList()
        Overrides:
        supportsValuesList in class org.hibernate.dialect.Dialect
      • buildIdentifierHelper

        public org.hibernate.engine.jdbc.env.spi.IdentifierHelper buildIdentifierHelper​(org.hibernate.engine.jdbc.env.spi.IdentifierHelperBuilder builder,
                                                                                        DatabaseMetaData dbMetaData)
                                                                                 throws SQLException
        Overrides:
        buildIdentifierHelper in class org.hibernate.dialect.Dialect
        Throws:
        SQLException
      • getDmlTargetColumnQualifierSupport

        public org.hibernate.dialect.DmlTargetColumnQualifierSupport getDmlTargetColumnQualifierSupport()
        Overrides:
        getDmlTargetColumnQualifierSupport 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