Package org.hibernate.community.dialect
Class IngresDialect
- java.lang.Object
-
- org.hibernate.dialect.Dialect
-
- org.hibernate.community.dialect.IngresDialect
-
- All Implemented Interfaces:
org.hibernate.boot.model.FunctionContributor,org.hibernate.boot.model.TypeContributor,org.hibernate.exception.spi.ConversionContext
- Direct Known Subclasses:
Ingres10Dialect,Ingres9Dialect
public class IngresDialect extends org.hibernate.dialect.DialectAn SQL dialect for Ingres 9.2.Known limitations:
-
Only supports simple constants or columns on the left side of an IN,
making
(1,2,3) in (...)or(subselect) in (...)non-supported. - Supports only 39 digits in decimal.
- Explicitly set USE_GET_GENERATED_KEYS property to false.
- Perform string casts to varchar; removes space padding.
-
-
Constructor Summary
Constructors Constructor Description IngresDialect()IngresDialect(org.hibernate.dialect.DatabaseVersion version)Constructs a IngresDialectIngresDialect(org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo info)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappendBooleanValueString(org.hibernate.sql.ast.spi.SqlAppender appender, boolean bool)voidappendDatetimeFormat(org.hibernate.sql.ast.spi.SqlAppender appender, String format)protected StringcolumnType(int sqlTypeCode)booleandoesReadCommittedCauseWritersToBlockReaders()booleandoesRepeatableReadCauseReadersToBlockWriters()booleandropConstraints()intgetDefaultDecimalPrecision()booleangetDefaultUseGetGeneratedKeys()org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategygetFallbackSqmInsertStrategy(org.hibernate.metamodel.mapping.EntityMappingType rootEntityDescriptor, org.hibernate.metamodel.spi.RuntimeModelCreationContext runtimeModelCreationContext)org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategygetFallbackSqmMutationStrategy(org.hibernate.metamodel.mapping.EntityMappingType rootEntityDescriptor, org.hibernate.metamodel.spi.RuntimeModelCreationContext runtimeModelCreationContext)StringgetForUpdateString()FOR UPDATEonly supported for cursorsorg.hibernate.dialect.identity.IdentityColumnSupportgetIdentityColumnSupport()org.hibernate.dialect.pagination.LimitHandlergetLimitHandler()StringgetLowercaseFunction()intgetMaxNVarcharLength()intgetMaxVarcharLength()StringgetNullColumnString()intgetPreferredSqlTypeCodeForBoolean()StringgetQuerySequencesString()StringgetSelectGUIDString()org.hibernate.tool.schema.extract.spi.SequenceInformationExtractorgetSequenceInformationExtractor()org.hibernate.dialect.sequence.SequenceSupportgetSequenceSupport()org.hibernate.sql.ast.SqlAstTranslatorFactorygetSqlAstTranslatorFactory()org.hibernate.query.sqm.sql.SqmTranslatorFactorygetSqmTranslatorFactory()org.hibernate.dialect.temptable.TemporaryTableKindgetSupportedTemporaryTableKind()StringgetTemporaryTableCreateCommand()StringgetTemporaryTableCreateOptions()org.hibernate.dialect.TimeZoneSupportgetTimeZoneSupport()voidinitializeFunctionRegistry(org.hibernate.boot.model.FunctionContributions functionContributions)booleanisCurrentTimestampSelectStringCallable()org.hibernate.type.descriptor.jdbc.JdbcTyperesolveSqlTypeDescriptor(String columnTypeName, int jdbcTypeCode, int precision, int scale, org.hibernate.type.descriptor.jdbc.spi.JdbcTypeRegistry jdbcTypeRegistry)booleansupportsCurrentTimestampSelection()booleansupportsExpectedLobUsagePattern()booleansupportsFetchClause(org.hibernate.query.sqm.FetchClauseType type)booleansupportsOrderByInSubquery()booleansupportsSubqueryInSelect()booleansupportsSubselectAsInPredicateLHS()booleansupportsTupleDistinctCounts()booleansupportsUnionAll()booleansupportsUnionInSubquery()booleansupportsWindowFunctions()StringtimestampaddPattern(org.hibernate.query.sqm.TemporalUnit unit, TemporalType temporalType, org.hibernate.query.sqm.IntervalType intervalType)StringtimestampdiffPattern(org.hibernate.query.sqm.TemporalUnit unit, TemporalType fromTemporalType, TemporalType toTemporalType)StringtranslateExtractField(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, buildIdentifierHelper, buildSQLExceptionConversionDelegate, canBatchTruncate, canCreateCatalog, canCreateSchema, canDisableConstraints, castPattern, castType, checkVersion, closeQuote, contribute, contributeFunctions, contributeTypes, createOptionalTableUpdateOperation, currentDate, currentLocalTime, currentLocalTimestamp, currentTime, currentTimestamp, currentTimestampWithTimeZone, defaultScrollMode, equivalentTypes, escapeComment, extractPattern, forceLobAsLastValue, generatedAs, getAddColumnString, getAddColumnSuffixString, getAddForeignKeyConstraintString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAggregateSupport, getAlterColumnTypeString, getAlterTableString, getArrayTypeName, getAuxiliaryDatabaseObjectExporter, getBatchLoadSizingStrategy, getCallableStatementSupport, getCascadeConstraintsString, getCaseInsensitiveLike, getCheckCondition, getCheckCondition, getColumnAliasExtractor, getColumnComment, getCreateCatalogCommand, getCreateIndexString, getCreateIndexTail, getCreateMultisetTableString, getCreateSchemaCommand, getCreateTableString, getCreateTemporaryTableColumnAnnotation, getCreateUserDefinedTypeExtensionsString, getCreateUserDefinedTypeKindString, getCurrentSchemaCommand, getCurrentTimestampSelectString, getDefaultLobLength, getDefaultNonContextualLobCreation, getDefaultProperties, getDefaultStatementBatchSize, getDefaultTimestampPrecision, getDisableConstraintsStatement, getDisableConstraintStatement, getDmlTargetColumnQualifierSupport, getDoublePrecision, getDropCatalogCommand, getDropForeignKeyString, getDropSchemaCommand, getDropTableString, getDropUniqueKeyString, getEnableConstraintsStatement, getEnableConstraintStatement, getEnumTypeDeclaration, getFallbackSchemaManagementTool, getFloatPrecision, getForeignKeyExporter, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateSkipLockedString, getForUpdateSkipLockedString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getFractionalSecondPrecisionInNanos, getGroupBySelectItemReferenceStrategy, getHqlTranslator, getIndexExporter, getInExpressionCountLimit, getKeywords, getLobMergeStrategy, getLockingStrategy, getLockRowIdentifier, getMaxAliasLength, getMaxIdentifierLength, getMaxNVarcharCapacity, getMaxVarbinaryCapacity, getMaxVarbinaryLength, getMaxVarcharCapacity, getMinimumSupportedVersion, getMultiKeyLoadSizingStrategy, getNameQualifierSupport, getNationalizationSupport, getNativeIdentifierGenerationType, getNativeIdentifierGeneratorStrategy, getNativeParameterMarkerStrategy, getNoColumnsInsertString, getNullColumnString, getNullOrdering, getParameterCountLimit, getPreferredSqlTypeCodeForArray, getQueryHintString, getQueryHintString, getReadLockString, getReadLockString, getReadRowLockStrategy, getResultSet, getResultSet, getResultSet, getRowIdColumnString, getSchemaNameResolver, getSelectClauseNullString, getSequenceExporter, getSizeStrategy, getTableCleaner, getTableComment, getTableExporter, getTableMigrator, getTableTypeString, getTemporaryTableAfterUseAction, getTemporaryTableBeforeUseAction, getTemporaryTableDdlTransactionHandling, getTemporaryTableDropCommand, getTemporaryTableExporter, getTemporaryTableTruncateCommand, getTimeoutInSeconds, getTruncateTableStatement, getTruncateTableStatements, getUniqueDelegate, getUniqueKeyExporter, getUserDefinedTypeComment, getUserDefinedTypeExporter, getVersion, getViolatedConstraintNameExtractor, getWriteLockString, getWriteLockString, getWriteRowLockStrategy, hasAlterTable, hasDataTypeBeforeGeneratedAs, hasSelfReferentialForeignKeyBug, initDefaultProperties, inlineLiteral, isAnsiNullOn, isEmptyStringTreatedAsNull, isJdbcLogWarningsEnabledByDefault, isLob, isLockTimeoutParameterized, openQuote, ordinal, prependComment, qualifyIndexName, quote, registerColumnTypes, registerDefaultKeywords, registerKeyword, registerKeywords, registerResultSetOutParameter, registerResultSetOutParameter, requiresCastForConcatenatingNonStrings, requiresFloatCastingOfIntegerDivision, requiresParensForTupleCounts, requiresParensForTupleDistinctCounts, resolveSqlTypeCode, resolveSqlTypeCode, resolveSqlTypeLength, rowId, rowIdSqlType, supportsAlterColumnType, supportsBindAsCallableArgument, supportsBitType, supportsCascadeDelete, supportsCaseInsensitiveLike, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsDistinctFromPredicate, supportsExistsInSelect, supportsFractionalTimestampArithmetic, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsAfterTypeName, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTableName, supportsIfExistsBeforeTypeName, supportsInsertReturning, supportsInsertReturningGeneratedKeys, supportsJdbcConnectionLobCreation, supportsLateral, supportsLobValueChangePropagation, supportsLockTimeouts, supportsMaterializedLobAccess, supportsNamedParameters, supportsNoColumnsInsert, supportsNonQueryWithCTE, supportsNoWait, supportsNullPrecedence, supportsOffsetInSubquery, supportsOrdinalSelectItemReference, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsPartitionBy, supportsPredicateAsExpression, supportsRecursiveCTE, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsSkipLocked, supportsStandardArrays, supportsStandardCurrentTimestampFunction, supportsSubqueryOnMutatingTable, supportsTableCheck, supportsTemporalLiteralOffset, supportsTemporaryTablePrimaryKey, supportsTemporaryTables, supportsTruncateWithCast, supportsTupleCounts, supportsUnboundedLobLocatorMaterialization, supportsValuesList, supportsValuesListForInsert, supportsWait, toBooleanValueString, toQuotedIdentifier, toString, transformSelectString, translateDurationField, trimPattern, useArrayForMultiValuedParameters, useFollowOnLocking, useInputStreamToInsertBlob, useMaterializedLobWhenCapacityExceeded
-
-
-
-
Method Detail
-
columnType
protected String columnType(int sqlTypeCode)
- Overrides:
columnTypein classorg.hibernate.dialect.Dialect
-
getDefaultUseGetGeneratedKeys
public boolean getDefaultUseGetGeneratedKeys()
- Overrides:
getDefaultUseGetGeneratedKeysin classorg.hibernate.dialect.Dialect
-
getMaxVarcharLength
public int getMaxVarcharLength()
- Overrides:
getMaxVarcharLengthin classorg.hibernate.dialect.Dialect
-
getMaxNVarcharLength
public int getMaxNVarcharLength()
- Overrides:
getMaxNVarcharLengthin classorg.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:
resolveSqlTypeDescriptorin classorg.hibernate.dialect.Dialect
-
getPreferredSqlTypeCodeForBoolean
public int getPreferredSqlTypeCodeForBoolean()
- Overrides:
getPreferredSqlTypeCodeForBooleanin classorg.hibernate.dialect.Dialect
-
appendBooleanValueString
public void appendBooleanValueString(org.hibernate.sql.ast.spi.SqlAppender appender, boolean bool)- Overrides:
appendBooleanValueStringin classorg.hibernate.dialect.Dialect
-
getDefaultDecimalPrecision
public int getDefaultDecimalPrecision()
- Overrides:
getDefaultDecimalPrecisionin classorg.hibernate.dialect.Dialect
-
initializeFunctionRegistry
public void initializeFunctionRegistry(org.hibernate.boot.model.FunctionContributions functionContributions)
- Overrides:
initializeFunctionRegistryin classorg.hibernate.dialect.Dialect
-
getSqmTranslatorFactory
public org.hibernate.query.sqm.sql.SqmTranslatorFactory getSqmTranslatorFactory()
- Overrides:
getSqmTranslatorFactoryin classorg.hibernate.dialect.Dialect
-
getSqlAstTranslatorFactory
public org.hibernate.sql.ast.SqlAstTranslatorFactory getSqlAstTranslatorFactory()
- Overrides:
getSqlAstTranslatorFactoryin classorg.hibernate.dialect.Dialect
-
timestampaddPattern
public String timestampaddPattern(org.hibernate.query.sqm.TemporalUnit unit, TemporalType temporalType, org.hibernate.query.sqm.IntervalType intervalType)
- Overrides:
timestampaddPatternin classorg.hibernate.dialect.Dialect
-
timestampdiffPattern
public String timestampdiffPattern(org.hibernate.query.sqm.TemporalUnit unit, TemporalType fromTemporalType, TemporalType toTemporalType)
- Overrides:
timestampdiffPatternin classorg.hibernate.dialect.Dialect
-
getTimeZoneSupport
public org.hibernate.dialect.TimeZoneSupport getTimeZoneSupport()
- Overrides:
getTimeZoneSupportin classorg.hibernate.dialect.Dialect
-
getSelectGUIDString
public String getSelectGUIDString()
- Overrides:
getSelectGUIDStringin classorg.hibernate.dialect.Dialect
-
dropConstraints
public boolean dropConstraints()
- Overrides:
dropConstraintsin classorg.hibernate.dialect.Dialect
-
getNullColumnString
public String getNullColumnString()
- Overrides:
getNullColumnStringin classorg.hibernate.dialect.Dialect
-
getSequenceSupport
public org.hibernate.dialect.sequence.SequenceSupport getSequenceSupport()
- Overrides:
getSequenceSupportin classorg.hibernate.dialect.Dialect
-
getQuerySequencesString
public String getQuerySequencesString()
- Overrides:
getQuerySequencesStringin classorg.hibernate.dialect.Dialect
-
getSequenceInformationExtractor
public org.hibernate.tool.schema.extract.spi.SequenceInformationExtractor getSequenceInformationExtractor()
- Overrides:
getSequenceInformationExtractorin classorg.hibernate.dialect.Dialect
-
getLowercaseFunction
public String getLowercaseFunction()
- Overrides:
getLowercaseFunctionin classorg.hibernate.dialect.Dialect
-
getLimitHandler
public org.hibernate.dialect.pagination.LimitHandler getLimitHandler()
- Overrides:
getLimitHandlerin classorg.hibernate.dialect.Dialect
-
getIdentityColumnSupport
public org.hibernate.dialect.identity.IdentityColumnSupport getIdentityColumnSupport()
- Overrides:
getIdentityColumnSupportin classorg.hibernate.dialect.Dialect
-
getForUpdateString
public String getForUpdateString()
FOR UPDATEonly supported for cursors- Overrides:
getForUpdateStringin classorg.hibernate.dialect.Dialect- Returns:
- the empty string
-
isCurrentTimestampSelectStringCallable
public boolean isCurrentTimestampSelectStringCallable()
- Overrides:
isCurrentTimestampSelectStringCallablein classorg.hibernate.dialect.Dialect
-
supportsCurrentTimestampSelection
public boolean supportsCurrentTimestampSelection()
- Overrides:
supportsCurrentTimestampSelectionin classorg.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)- Overrides:
getFallbackSqmMutationStrategyin classorg.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:
getFallbackSqmInsertStrategyin classorg.hibernate.dialect.Dialect
-
getSupportedTemporaryTableKind
public org.hibernate.dialect.temptable.TemporaryTableKind getSupportedTemporaryTableKind()
- Overrides:
getSupportedTemporaryTableKindin classorg.hibernate.dialect.Dialect
-
getTemporaryTableCreateOptions
public String getTemporaryTableCreateOptions()
- Overrides:
getTemporaryTableCreateOptionsin classorg.hibernate.dialect.Dialect
-
getTemporaryTableCreateCommand
public String getTemporaryTableCreateCommand()
- Overrides:
getTemporaryTableCreateCommandin classorg.hibernate.dialect.Dialect
-
supportsUnionAll
public boolean supportsUnionAll()
- Overrides:
supportsUnionAllin classorg.hibernate.dialect.Dialect
-
supportsUnionInSubquery
public boolean supportsUnionInSubquery()
- Overrides:
supportsUnionInSubqueryin classorg.hibernate.dialect.Dialect
-
supportsSubqueryInSelect
public boolean supportsSubqueryInSelect()
- Overrides:
supportsSubqueryInSelectin classorg.hibernate.dialect.Dialect
-
supportsOrderByInSubquery
public boolean supportsOrderByInSubquery()
- Overrides:
supportsOrderByInSubqueryin classorg.hibernate.dialect.Dialect
-
supportsWindowFunctions
public boolean supportsWindowFunctions()
- Overrides:
supportsWindowFunctionsin classorg.hibernate.dialect.Dialect
-
doesReadCommittedCauseWritersToBlockReaders
public boolean doesReadCommittedCauseWritersToBlockReaders()
- Overrides:
doesReadCommittedCauseWritersToBlockReadersin classorg.hibernate.dialect.Dialect
-
doesRepeatableReadCauseReadersToBlockWriters
public boolean doesRepeatableReadCauseReadersToBlockWriters()
- Overrides:
doesRepeatableReadCauseReadersToBlockWritersin classorg.hibernate.dialect.Dialect
-
supportsSubselectAsInPredicateLHS
public boolean supportsSubselectAsInPredicateLHS()
- Overrides:
supportsSubselectAsInPredicateLHSin classorg.hibernate.dialect.Dialect
-
supportsExpectedLobUsagePattern
public boolean supportsExpectedLobUsagePattern()
- Overrides:
supportsExpectedLobUsagePatternin classorg.hibernate.dialect.Dialect
-
supportsTupleDistinctCounts
public boolean supportsTupleDistinctCounts()
- Overrides:
supportsTupleDistinctCountsin classorg.hibernate.dialect.Dialect
-
appendDatetimeFormat
public void appendDatetimeFormat(org.hibernate.sql.ast.spi.SqlAppender appender, String format)- Overrides:
appendDatetimeFormatin classorg.hibernate.dialect.Dialect
-
translateExtractField
public String translateExtractField(org.hibernate.query.sqm.TemporalUnit unit)
- Overrides:
translateExtractFieldin classorg.hibernate.dialect.Dialect
-
supportsFetchClause
public boolean supportsFetchClause(org.hibernate.query.sqm.FetchClauseType type)
- Overrides:
supportsFetchClausein classorg.hibernate.dialect.Dialect
-
-