Class SQLServerLegacyDialect

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

    public class SQLServerLegacyDialect
    extends org.hibernate.dialect.AbstractTransactSQLDialect
    A dialect for Microsoft SQL Server 2000 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, 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 Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void appendBinaryLiteral​(org.hibernate.sql.ast.spi.SqlAppender appender, byte[] bytes)  
      void appendDatetimeFormat​(org.hibernate.sql.ast.spi.SqlAppender appender, String format)  
      void appendDateTimeLiteral​(org.hibernate.sql.ast.spi.SqlAppender appender, TemporalAccessor temporalAccessor, TemporalType precision, TimeZone jdbcTimeZone)  
      void appendDateTimeLiteral​(org.hibernate.sql.ast.spi.SqlAppender appender, Calendar calendar, TemporalType precision, TimeZone jdbcTimeZone)  
      void appendDateTimeLiteral​(org.hibernate.sql.ast.spi.SqlAppender appender, Date date, TemporalType precision, TimeZone jdbcTimeZone)  
      String appendLockHint​(org.hibernate.LockOptions lockOptions, String tableName)  
      void appendUUIDLiteral​(org.hibernate.sql.ast.spi.SqlAppender appender, UUID literal)  
      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)  
      protected String castType​(int sqlTypeCode)  
      char closeQuote()  
      protected String columnType​(int sqlTypeCode)  
      void contributeTypes​(org.hibernate.boot.model.TypeContributions typeContributions, org.hibernate.service.ServiceRegistry serviceRegistry)  
      String currentDate()  
      String currentTime()  
      String currentTimestamp()  
      String currentTimestampWithTimeZone()  
      static org.hibernate.dialect.Replacer datetimeFormat​(String format)  
      boolean doesReadCommittedCauseWritersToBlockReaders()  
      boolean doesRepeatableReadCauseReadersToBlockWriters()  
      String extractPattern​(org.hibernate.query.sqm.TemporalUnit unit)  
      String generatedAs​(String generatedAs)  
      String getCreateIndexString​(boolean unique)  
      String getCreateIndexTail​(boolean unique, List<org.hibernate.mapping.Column> columns)  
      String getCreateTemporaryTableColumnAnnotation​(int sqlTypeCode)  
      String getCurrentSchemaCommand()  
      String getCurrentTimestampSelectString()
      The current_timestamp is more accurate, but only known to be supported in SQL Server 7.0 and later and Sybase not known to support it at all
      long getDefaultLobLength()  
      int getDefaultTimestampPrecision()
      SQL server supports up to 7 decimal digits of fractional second precision in a datetime2, but since its duration arithmetic functions try to fit durations into an int, which is impossible with such high precision, so default to generating datetime2(3) columns.
      org.hibernate.dialect.DmlTargetColumnQualifierSupport getDmlTargetColumnQualifierSupport()  
      String[] getDropSchemaCommand​(String schemaName)  
      long getFractionalSecondPrecisionInNanos()  
      org.hibernate.dialect.identity.IdentityColumnSupport getIdentityColumnSupport()  
      int getInExpressionCountLimit()  
      org.hibernate.dialect.pagination.LimitHandler getLimitHandler()  
      int getMaxIdentifierLength()  
      int getMaxNVarcharLength()  
      int getMaxVarcharLength()  
      org.hibernate.engine.jdbc.env.spi.NameQualifierSupport getNameQualifierSupport()  
      String getNoColumnsInsertString()  
      String getQueryHintString​(String sql, String hints)  
      String getQuerySequencesString()  
      org.hibernate.tool.schema.spi.Exporter<org.hibernate.boot.model.relational.Sequence> getSequenceExporter()  
      org.hibernate.dialect.sequence.SequenceSupport getSequenceSupport()  
      org.hibernate.dialect.Dialect.SizeStrategy getSizeStrategy()  
      org.hibernate.sql.ast.SqlAstTranslatorFactory getSqlAstTranslatorFactory()  
      org.hibernate.dialect.TimeZoneSupport getTimeZoneSupport()  
      org.hibernate.dialect.unique.UniqueDelegate getUniqueDelegate()  
      org.hibernate.exception.spi.ViolatedConstraintNameExtractor getViolatedConstraintNameExtractor()  
      boolean hasDataTypeBeforeGeneratedAs()  
      void initializeFunctionRegistry​(org.hibernate.boot.model.FunctionContributions functionContributions)  
      char openQuote()  
      protected void registerColumnTypes​(org.hibernate.boot.model.TypeContributions typeContributions, org.hibernate.service.ServiceRegistry serviceRegistry)  
      protected void registerDefaultKeywords()  
      org.hibernate.type.descriptor.jdbc.JdbcType resolveSqlTypeDescriptor​(String columnTypeName, int jdbcTypeCode, int precision, int scale, org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry jdbcTypeRegistry)  
      boolean supportsCircularCascadeDeleteConstraints()  
      boolean supportsDistinctFromPredicate()  
      boolean supportsFetchClause​(org.hibernate.query.sqm.FetchClauseType type)  
      boolean supportsFromClauseInUpdate()  
      boolean supportsIfExistsBeforeConstraintName()  
      boolean supportsIfExistsBeforeTableName()  
      boolean supportsLateral()  
      boolean supportsLobValueChangePropagation()  
      boolean supportsNonQueryWithCTE()  
      boolean supportsNoWait()  
      boolean supportsNullPrecedence()  
      boolean supportsOffsetInSubquery()  
      boolean supportsRecursiveCTE()  
      boolean supportsResultSetPositionQueryMethodsOnForwardOnlyCursor()  
      boolean supportsSkipLocked()  
      boolean supportsValuesList()  
      boolean supportsWait()  
      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 translateDurationField​(org.hibernate.query.sqm.TemporalUnit unit)  
      String translateExtractField​(org.hibernate.query.sqm.TemporalUnit unit)  
      String trimPattern​(org.hibernate.query.sqm.TrimSpec specification, boolean isWhitespace)  
      • Methods inherited from class org.hibernate.dialect.AbstractTransactSQLDialect

        applyLocksToSql, getAddColumnString, getDefaultStatementBatchSize, getFallbackSqmInsertStrategy, getFallbackSqmMutationStrategy, getForUpdateString, getNullOrdering, getPreferredSqlTypeCodeForBoolean, getResultSet, getSelectGUIDString, getSupportedTemporaryTableKind, getTemporaryTableAfterUseAction, getTemporaryTableBeforeUseAction, getTemporaryTableCreateCommand, getWriteRowLockStrategy, isCurrentTimestampSelectStringCallable, qualifyIndexName, registerResultSetOutParameter, replaceLtrimRtrim, replaceLtrimRtrim, requiresCastForConcatenatingNonStrings, supportsCurrentTimestampSelection, supportsExistsInSelect, supportsPartitionBy, supportsTupleDistinctCounts
      • Methods inherited from class org.hibernate.dialect.Dialect

        addSqlHintOrComment, appendArrayLiteral, appendBooleanValueString, appendIntervalLiteral, appendLiteral, augmentPhysicalTableTypes, augmentRecognizedTableTypes, buildStringToBooleanCast, buildStringToBooleanCastDecode, buildStringToBooleanDecode, canBatchTruncate, canCreateCatalog, canCreateSchema, canDisableConstraints, checkVersion, contribute, contributeFunctions, createOptionalTableUpdateOperation, currentLocalTime, currentLocalTimestamp, defaultScrollMode, doesRoundTemporalOnOverflow, dropConstraints, equivalentTypes, escapeComment, forceLobAsLastValue, getAddColumnSuffixString, getAddForeignKeyConstraintString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAggregateSupport, getAlterColumnTypeString, getAlterTableString, getArrayTypeName, getAuxiliaryDatabaseObjectExporter, getBatchLoadSizingStrategy, getBeforeDropStatement, getCallableStatementSupport, getCascadeConstraintsString, getCaseInsensitiveLike, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getColumnAliasExtractor, getColumnComment, getCreateCatalogCommand, getCreateEnumTypeCommand, getCreateEnumTypeCommand, getCreateMultisetTableString, getCreateSchemaCommand, getCreateTableString, getCreateUserDefinedTypeExtensionsString, getCreateUserDefinedTypeKindString, getCrossReferenceParentTableFilter, getDefaultDecimalPrecision, getDefaultIntervalSecondScale, getDefaultNonContextualLobCreation, getDefaultProperties, getDefaultUseGetGeneratedKeys, getDisableConstraintsStatement, getDisableConstraintStatement, getDoublePrecision, getDropCatalogCommand, getDropEnumTypeCommand, getDropEnumTypeCommand, getDropForeignKeyString, getDropTableString, getDropUniqueKeyString, getDual, getEnableConstraintsStatement, getEnableConstraintStatement, getEnumTypeDeclaration, getEnumTypeDeclaration, getFallbackSchemaManagementTool, getFloatPrecision, getForeignKeyExporter, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateSkipLockedString, getForUpdateSkipLockedString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getFromDualForSelectOnly, getFunctionalDependencyAnalysisSupport, getGroupBySelectItemReferenceStrategy, getHqlTranslator, getIndexExporter, getKeywords, getLobMergeStrategy, getLockingStrategy, getLockRowIdentifier, getLowercaseFunction, getMaxAliasLength, getMaxNVarcharCapacity, getMaxVarbinaryCapacity, getMaxVarbinaryLength, getMaxVarcharCapacity, getMinimumSupportedVersion, getMultiKeyLoadSizingStrategy, getNationalizationSupport, getNativeIdentifierGeneratorStrategy, getNativeParameterMarkerStrategy, getNullColumnString, getNullColumnString, getParameterCountLimit, getPreferredSqlTypeCodeForArray, getQueryHintString, getReadLockString, getReadLockString, getReadRowLockStrategy, getResultSet, getResultSet, getRowIdColumnString, getSchemaNameResolver, getSelectClauseNullString, getSelectClauseNullString, getSequenceInformationExtractor, getSqmTranslatorFactory, getTableCleaner, getTableComment, getTableExporter, getTableMigrator, getTableTypeString, getTemporaryTableCreateOptions, getTemporaryTableDdlTransactionHandling, getTemporaryTableDropCommand, getTemporaryTableExporter, getTemporaryTableTruncateCommand, getTimeoutInSeconds, getTruncateTableStatement, getTruncateTableStatements, getUniqueKeyExporter, getUserDefinedTypeComment, getUserDefinedTypeExporter, getVersion, getWriteLockString, getWriteLockString, hasAlterTable, hasSelfReferentialForeignKeyBug, initDefaultProperties, inlineLiteral, isAnsiNullOn, isEmptyStringTreatedAsNull, isJdbcLogWarningsEnabledByDefault, isLob, isLockTimeoutParameterized, ordinal, prependComment, quote, quoteCollation, registerKeyword, registerKeywords, registerResultSetOutParameter, requiresFloatCastingOfIntegerDivision, requiresParensForTupleCounts, requiresParensForTupleDistinctCounts, resolveSqlTypeCode, resolveSqlTypeCode, resolveSqlTypeLength, rowId, rowIdSqlType, supportsAlterColumnType, supportsBatchUpdates, supportsBindAsCallableArgument, supportsBindingNullForSetObject, supportsBindingNullSqlTypeForSetNull, supportsBitType, supportsCascadeDelete, supportsCaseInsensitiveLike, supportsColumnCheck, supportsCommentOn, supportsConflictClauseForInsertCTE, supportsExpectedLobUsagePattern, supportsFractionalTimestampArithmetic, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsAfterTypeName, supportsIfExistsBeforeTypeName, supportsInsertReturning, supportsInsertReturningGeneratedKeys, supportsInsertReturningRowId, supportsIsTrue, supportsJdbcConnectionLobCreation, supportsLockTimeouts, supportsMaterializedLobAccess, supportsNamedParameters, supportsNationalizedMethods, supportsNoColumnsInsert, supportsOrderByInSubquery, supportsOrdinalSelectItemReference, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsPredicateAsExpression, supportsRefCursors, supportsStandardArrays, supportsStandardCurrentTimestampFunction, supportsSubqueryInSelect, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTemporalLiteralOffset, supportsTemporaryTablePrimaryKey, supportsTemporaryTables, supportsTruncateWithCast, supportsTupleCounts, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnionInSubquery, supportsUpdateReturning, supportsValuesListForInsert, toBooleanValueString, toQuotedIdentifier, toString, transformSelectString, trimPattern, unquoteGetGeneratedKeys, useArrayForMultiValuedParameters, useConnectionToCreateLob, useCrossReferenceForeignKeys, useFollowOnLocking, useInputStreamToInsertBlob, useMaterializedLobWhenCapacityExceeded
    • Constructor Detail

      • SQLServerLegacyDialect

        public SQLServerLegacyDialect()
      • SQLServerLegacyDialect

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

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

      • registerDefaultKeywords

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

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

        protected String castType​(int sqlTypeCode)
        Overrides:
        castType 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
      • 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.AbstractTransactSQLDialect
      • getMaxVarcharLength

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

        public int getMaxNVarcharLength()
        Overrides:
        getMaxNVarcharLength in class org.hibernate.dialect.Dialect
      • getTimeZoneSupport

        public org.hibernate.dialect.TimeZoneSupport getTimeZoneSupport()
        Overrides:
        getTimeZoneSupport in class org.hibernate.dialect.Dialect
      • getDefaultLobLength

        public long getDefaultLobLength()
        Overrides:
        getDefaultLobLength in class org.hibernate.dialect.Dialect
      • getMaxIdentifierLength

        public int getMaxIdentifierLength()
        Overrides:
        getMaxIdentifierLength 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
      • initializeFunctionRegistry

        public void initializeFunctionRegistry​(org.hibernate.boot.model.FunctionContributions functionContributions)
        Overrides:
        initializeFunctionRegistry in class org.hibernate.dialect.AbstractTransactSQLDialect
      • trimPattern

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

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

        public org.hibernate.dialect.Dialect.SizeStrategy getSizeStrategy()
        Overrides:
        getSizeStrategy in class org.hibernate.dialect.Dialect
      • castPattern

        public String castPattern​(org.hibernate.query.sqm.CastType from,
                                  org.hibernate.query.sqm.CastType to)
        Overrides:
        castPattern in class org.hibernate.dialect.Dialect
      • currentTimestamp

        public String currentTimestamp()
        Overrides:
        currentTimestamp 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
      • currentTime

        public String currentTime()
        Overrides:
        currentTime in class org.hibernate.dialect.Dialect
      • currentDate

        public String currentDate()
        Overrides:
        currentDate in class org.hibernate.dialect.Dialect
      • currentTimestampWithTimeZone

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

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

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

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

        public boolean supportsDistinctFromPredicate()
        Overrides:
        supportsDistinctFromPredicate in class org.hibernate.dialect.Dialect
      • closeQuote

        public char closeQuote()
        Overrides:
        closeQuote in class org.hibernate.dialect.Dialect
      • getCurrentSchemaCommand

        public String getCurrentSchemaCommand()
        Overrides:
        getCurrentSchemaCommand in class org.hibernate.dialect.Dialect
      • supportsIfExistsBeforeTableName

        public boolean supportsIfExistsBeforeTableName()
        Overrides:
        supportsIfExistsBeforeTableName in class org.hibernate.dialect.Dialect
      • supportsIfExistsBeforeConstraintName

        public boolean supportsIfExistsBeforeConstraintName()
        Overrides:
        supportsIfExistsBeforeConstraintName in class org.hibernate.dialect.Dialect
      • openQuote

        public char openQuote()
        Overrides:
        openQuote in class org.hibernate.dialect.Dialect
      • appendLockHint

        public String appendLockHint​(org.hibernate.LockOptions lockOptions,
                                     String tableName)
        Overrides:
        appendLockHint in class org.hibernate.dialect.AbstractTransactSQLDialect
      • getCurrentTimestampSelectString

        public String getCurrentTimestampSelectString()
        The current_timestamp is more accurate, but only known to be supported in SQL Server 7.0 and later and Sybase not known to support it at all

        Overrides:
        getCurrentTimestampSelectString in class org.hibernate.dialect.AbstractTransactSQLDialect
      • supportsResultSetPositionQueryMethodsOnForwardOnlyCursor

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

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

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

        public boolean doesReadCommittedCauseWritersToBlockReaders()
        Overrides:
        doesReadCommittedCauseWritersToBlockReaders in class org.hibernate.dialect.AbstractTransactSQLDialect
      • doesRepeatableReadCauseReadersToBlockWriters

        public boolean doesRepeatableReadCauseReadersToBlockWriters()
        Overrides:
        doesRepeatableReadCauseReadersToBlockWriters in class org.hibernate.dialect.AbstractTransactSQLDialect
      • getInExpressionCountLimit

        public int getInExpressionCountLimit()
        Overrides:
        getInExpressionCountLimit in class org.hibernate.dialect.Dialect
      • getIdentityColumnSupport

        public org.hibernate.dialect.identity.IdentityColumnSupport getIdentityColumnSupport()
        Overrides:
        getIdentityColumnSupport in class org.hibernate.dialect.AbstractTransactSQLDialect
      • supportsNonQueryWithCTE

        public boolean supportsNonQueryWithCTE()
        Overrides:
        supportsNonQueryWithCTE in class org.hibernate.dialect.Dialect
      • supportsSkipLocked

        public boolean supportsSkipLocked()
        Overrides:
        supportsSkipLocked in class org.hibernate.dialect.Dialect
      • supportsNoWait

        public boolean supportsNoWait()
        Overrides:
        supportsNoWait in class org.hibernate.dialect.Dialect
      • supportsWait

        public boolean supportsWait()
        Overrides:
        supportsWait 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
      • getQueryHintString

        public String getQueryHintString​(String sql,
                                         String hints)
        Overrides:
        getQueryHintString in class org.hibernate.dialect.Dialect
      • supportsNullPrecedence

        public boolean supportsNullPrecedence()
        Overrides:
        supportsNullPrecedence in class org.hibernate.dialect.Dialect
      • supportsOffsetInSubquery

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

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

        public boolean supportsLateral()
        Overrides:
        supportsLateral in class org.hibernate.dialect.Dialect
      • supportsRecursiveCTE

        public boolean supportsRecursiveCTE()
        Overrides:
        supportsRecursiveCTE in class org.hibernate.dialect.Dialect
      • supportsFetchClause

        public boolean supportsFetchClause​(org.hibernate.query.sqm.FetchClauseType type)
        Overrides:
        supportsFetchClause 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
      • getDefaultTimestampPrecision

        public int getDefaultTimestampPrecision()
        SQL server supports up to 7 decimal digits of fractional second precision in a datetime2, but since its duration arithmetic functions try to fit durations into an int, which is impossible with such high precision, so default to generating datetime2(3) columns.
        Overrides:
        getDefaultTimestampPrecision 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)
        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
      • translateDurationField

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

        public String translateExtractField​(org.hibernate.query.sqm.TemporalUnit unit)
        Overrides:
        translateExtractField 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
      • datetimeFormat

        public static org.hibernate.dialect.Replacer datetimeFormat​(String format)
      • appendBinaryLiteral

        public void appendBinaryLiteral​(org.hibernate.sql.ast.spi.SqlAppender appender,
                                        byte[] bytes)
        Overrides:
        appendBinaryLiteral in class org.hibernate.dialect.AbstractTransactSQLDialect
      • appendUUIDLiteral

        public void appendUUIDLiteral​(org.hibernate.sql.ast.spi.SqlAppender appender,
                                      UUID literal)
        Overrides:
        appendUUIDLiteral in class org.hibernate.dialect.Dialect
      • appendDateTimeLiteral

        public void appendDateTimeLiteral​(org.hibernate.sql.ast.spi.SqlAppender appender,
                                          TemporalAccessor temporalAccessor,
                                          TemporalType precision,
                                          TimeZone jdbcTimeZone)
        Overrides:
        appendDateTimeLiteral in class org.hibernate.dialect.Dialect
      • appendDateTimeLiteral

        public void appendDateTimeLiteral​(org.hibernate.sql.ast.spi.SqlAppender appender,
                                          Date date,
                                          TemporalType precision,
                                          TimeZone jdbcTimeZone)
        Overrides:
        appendDateTimeLiteral in class org.hibernate.dialect.Dialect
      • appendDateTimeLiteral

        public void appendDateTimeLiteral​(org.hibernate.sql.ast.spi.SqlAppender appender,
                                          Calendar calendar,
                                          TemporalType precision,
                                          TimeZone jdbcTimeZone)
        Overrides:
        appendDateTimeLiteral in class org.hibernate.dialect.Dialect
      • getCreateTemporaryTableColumnAnnotation

        public String getCreateTemporaryTableColumnAnnotation​(int sqlTypeCode)
        Overrides:
        getCreateTemporaryTableColumnAnnotation in class org.hibernate.dialect.Dialect
      • getDropSchemaCommand

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

        public String getCreateIndexString​(boolean unique)
        Overrides:
        getCreateIndexString in class org.hibernate.dialect.Dialect
      • getCreateIndexTail

        public String getCreateIndexTail​(boolean unique,
                                         List<org.hibernate.mapping.Column> columns)
        Overrides:
        getCreateIndexTail in class org.hibernate.dialect.Dialect
      • getNameQualifierSupport

        public org.hibernate.engine.jdbc.env.spi.NameQualifierSupport getNameQualifierSupport()
        Overrides:
        getNameQualifierSupport in class org.hibernate.dialect.Dialect
      • getUniqueDelegate

        public org.hibernate.dialect.unique.UniqueDelegate getUniqueDelegate()
        Overrides:
        getUniqueDelegate in class org.hibernate.dialect.Dialect
      • getSequenceExporter

        public org.hibernate.tool.schema.spi.Exporter<org.hibernate.boot.model.relational.Sequence> getSequenceExporter()
        Overrides:
        getSequenceExporter in class org.hibernate.dialect.Dialect
      • generatedAs

        public String generatedAs​(String generatedAs)
        Overrides:
        generatedAs in class org.hibernate.dialect.Dialect
      • hasDataTypeBeforeGeneratedAs

        public boolean hasDataTypeBeforeGeneratedAs()
        Overrides:
        hasDataTypeBeforeGeneratedAs in class org.hibernate.dialect.Dialect
      • getDmlTargetColumnQualifierSupport

        public org.hibernate.dialect.DmlTargetColumnQualifierSupport getDmlTargetColumnQualifierSupport()
        Overrides:
        getDmlTargetColumnQualifierSupport in class org.hibernate.dialect.Dialect
      • supportsFromClauseInUpdate

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