Package org.hibernate.community.dialect
Class InformixDialect
java.lang.Object
org.hibernate.dialect.Dialect
org.hibernate.community.dialect.InformixDialect
- All Implemented Interfaces:
org.hibernate.boot.model.FunctionContributor,org.hibernate.boot.model.TypeContributor,org.hibernate.exception.spi.ConversionContext
public class InformixDialect
extends org.hibernate.dialect.Dialect
Dialect for Informix 7.31.UD3 with Informix
JDBC driver 2.21JC3 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_MULTI_KEY_LOAD_SIZING_STRATEGY, STREAM_XFER_LOB_MERGE_STRATEGY -
Constructor Summary
ConstructorsConstructorDescriptionInformixDialect(org.hibernate.dialect.DatabaseVersion version) Creates newInformixDialectinstance.InformixDialect(org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo info) -
Method Summary
Modifier and TypeMethodDescriptionvoidappendBooleanValueString(org.hibernate.sql.ast.spi.SqlAppender appender, boolean bool) voidappendDatetimeFormat(org.hibernate.sql.ast.spi.SqlAppender appender, String format) protected StringcolumnType(int sqlTypeCode) static org.hibernate.dialect.ReplacerdatetimeFormat(String format) extractPattern(org.hibernate.query.sqm.TemporalUnit unit) Informix has no extract() function, but we can partially emulate it by using the appropriate named functions, and by using to_char() with a format string.getAddForeignKeyConstraintString(String constraintName, String foreignKeyDefinition) getAddForeignKeyConstraintString(String constraintName, String[] foreignKey, String referencedTable, String[] primaryKey, boolean referencesPrimaryKey) Informix constraint name must be at the end.getAddPrimaryKeyConstraintString(String constraintName) Informix constraint name must be at the end.String[]getCreateSchemaCommand(String schemaName) intintintString[]getDropSchemaCommand(String schemaName) 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) intorg.hibernate.tool.schema.spi.Exporter<org.hibernate.mapping.ForeignKey>org.hibernate.dialect.SelectItemReferenceStrategyorg.hibernate.dialect.identity.IdentityColumnSupportorg.hibernate.dialect.pagination.LimitHandlerintintorg.hibernate.dialect.NullOrderinggetSelectClauseNullString(int sqlType, org.hibernate.type.spi.TypeConfiguration typeConfiguration) org.hibernate.tool.schema.extract.spi.SequenceInformationExtractororg.hibernate.dialect.sequence.SequenceSupportorg.hibernate.sql.ast.SqlAstTranslatorFactoryorg.hibernate.query.sqm.sql.SqmTranslatorFactoryorg.hibernate.dialect.temptable.TemporaryTableKindorg.hibernate.query.sqm.mutation.internal.temptable.AfterUseActionorg.hibernate.query.sqm.mutation.internal.temptable.BeforeUseActionorg.hibernate.dialect.unique.UniqueDelegateorg.hibernate.exception.spi.ViolatedConstraintNameExtractorvoidinitializeFunctionRegistry(org.hibernate.boot.model.FunctionContributions functionContributions) booleanprotected voidregisterColumnTypes(org.hibernate.boot.model.TypeContributions typeContributions, org.hibernate.service.ServiceRegistry serviceRegistry) booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanMethods inherited from class org.hibernate.dialect.Dialect
addSqlHintOrComment, appendArrayLiteral, appendBinaryLiteral, appendCheckConstraintOptions, appendDateTimeLiteral, appendDateTimeLiteral, appendDateTimeLiteral, appendIntervalLiteral, appendLiteral, appendLockHint, appendUUIDLiteral, applyLocksToSql, augmentPhysicalTableTypes, augmentRecognizedTableTypes, buildIdentifierHelper, buildSQLExceptionConversionDelegate, canBatchTruncate, canCreateCatalog, canCreateSchema, canDisableConstraints, castPattern, castType, checkVersion, closeQuote, contribute, contributeFunctions, contributeTypes, createOptionalTableUpdateOperation, currentLocalTime, currentLocalTimestamp, currentTime, currentTimestampWithTimeZone, defaultScrollMode, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, doesRoundTemporalOnOverflow, dropConstraints, equivalentTypes, escapeComment, forceLobAsLastValue, generatedAs, getAddColumnSuffixString, getAggregateSupport, getAlterColumnTypeString, getAlterTableString, getArrayTypeName, getAuxiliaryDatabaseObjectExporter, getBatchLoadSizingStrategy, getCallableStatementSupport, getCascadeConstraintsString, getCaseInsensitiveLike, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getCheckConstraintString, getColumnAliasExtractor, getColumnComment, getCreateCatalogCommand, getCreateEnumTypeCommand, getCreateEnumTypeCommand, getCreateIndexString, getCreateIndexTail, getCreateMultisetTableString, getCreateTableString, getCreateTemporaryTableColumnAnnotation, getCreateUserDefinedTypeExtensionsString, getCreateUserDefinedTypeKindString, getCurrentSchemaCommand, getDefaultIntervalSecondScale, getDefaultLobLength, getDefaultNonContextualLobCreation, getDefaultProperties, getDefaultStatementBatchSize, getDefaultUseGetGeneratedKeys, getDisableConstraintsStatement, getDisableConstraintStatement, getDmlTargetColumnQualifierSupport, getDropCatalogCommand, getDropEnumTypeCommand, getDropEnumTypeCommand, getDropForeignKeyString, getDropTableString, getDropUniqueKeyString, getEnableConstraintsStatement, getEnableConstraintStatement, getEnumTypeDeclaration, getEnumTypeDeclaration, getFallbackSchemaManagementTool, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateSkipLockedString, getForUpdateSkipLockedString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getFractionalSecondPrecisionInNanos, getFunctionalDependencyAnalysisSupport, getHqlTranslator, getIndexExporter, getInExpressionCountLimit, getKeywords, getLobMergeStrategy, getLockingStrategy, getLockRowIdentifier, getLowercaseFunction, getMaxAliasLength, getMaxIdentifierLength, getMaxNVarcharCapacity, getMaxNVarcharLength, getMaxVarbinaryCapacity, getMaxVarcharCapacity, getMinimumSupportedVersion, getMultiKeyLoadSizingStrategy, getNameQualifierSupport, getNationalizationSupport, getNativeIdentifierGeneratorStrategy, getNativeParameterMarkerStrategy, getNullColumnString, getNullColumnString, getParameterCountLimit, getPreferredSqlTypeCodeForArray, getPreferredSqlTypeCodeForBoolean, getQueryHintString, getQueryHintString, getReadLockString, getReadLockString, getReadRowLockStrategy, getResultSet, getResultSet, getResultSet, getRowIdColumnString, getSchemaNameResolver, getSelectGUIDString, getSequenceExporter, getSizeStrategy, getTableCleaner, getTableComment, getTableExporter, getTableMigrator, getTableTypeString, getTemporaryTableDdlTransactionHandling, getTemporaryTableDropCommand, getTemporaryTableExporter, getTemporaryTableTruncateCommand, getTimeoutInSeconds, getTimeZoneSupport, getTruncateTableStatement, getTruncateTableStatements, getUniqueKeyExporter, getUserDefinedTypeComment, getUserDefinedTypeExporter, getVersion, getWriteLockString, getWriteLockString, getWriteRowLockStrategy, hasAlterTable, hasDataTypeBeforeGeneratedAs, hasSelfReferentialForeignKeyBug, initDefaultProperties, isAnsiNullOn, isEmptyStringTreatedAsNull, isJdbcLogWarningsEnabledByDefault, isLob, openQuote, ordinal, prependComment, qualifyIndexName, quote, quoteCollation, registerDefaultKeywords, registerKeyword, registerKeywords, registerResultSetOutParameter, registerResultSetOutParameter, requiresCastForConcatenatingNonStrings, requiresFloatCastingOfIntegerDivision, requiresParensForTupleCounts, requiresParensForTupleDistinctCounts, resolveSqlTypeCode, resolveSqlTypeCode, resolveSqlTypeDescriptor, resolveSqlTypeLength, rowId, rowIdSqlType, supportsAlterColumnType, supportsBatchUpdates, supportsBindAsCallableArgument, supportsBitType, supportsCascadeDelete, supportsCaseInsensitiveLike, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsConflictClauseForInsertCTE, supportsDistinctFromPredicate, supportsExistsInSelect, supportsExpectedLobUsagePattern, supportsFetchClause, supportsFractionalTimestampArithmetic, supportsFromClauseInUpdate, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsAfterTypeName, supportsInsertReturning, supportsInsertReturningGeneratedKeys, supportsInsertReturningRowId, supportsIsTrue, supportsJdbcConnectionLobCreation, supportsLobValueChangePropagation, supportsLockTimeouts, supportsMaterializedLobAccess, supportsNamedParameters, supportsNoColumnsInsert, supportsNonQueryWithCTE, supportsNoWait, supportsOffsetInSubquery, supportsOrdinalSelectItemReference, supportsOuterJoinForUpdate, supportsPartitionBy, supportsPredicateAsExpression, supportsRecursiveCTE, supportsRefCursors, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsSkipLocked, supportsStandardArrays, supportsStandardCurrentTimestampFunction, supportsSubqueryInSelect, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTableOptions, supportsTemporalLiteralOffset, supportsTemporaryTablePrimaryKey, supportsTemporaryTables, supportsTruncateWithCast, supportsTupleCounts, supportsTupleDistinctCounts, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnionInSubquery, supportsUpdateReturning, supportsValuesList, supportsWait, timestampaddPattern, timestampdiffPattern, toBooleanValueString, toQuotedIdentifier, toString, transformSelectString, translateDurationField, translateExtractField, trimPattern, unquoteGetGeneratedKeys, useArrayForMultiValuedParameters, useConnectionToCreateLob, useFollowOnLocking, useInputStreamToInsertBlob
-
Constructor Details
-
InformixDialect
public InformixDialect(org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo info) -
InformixDialect
public InformixDialect() -
InformixDialect
public InformixDialect(org.hibernate.dialect.DatabaseVersion version) Creates newInformixDialectinstance. Sets up the JDBC / Informix type mappings.
-
-
Method Details
-
columnType
- Overrides:
columnTypein classorg.hibernate.dialect.Dialect
-
registerColumnTypes
protected void registerColumnTypes(org.hibernate.boot.model.TypeContributions typeContributions, org.hibernate.service.ServiceRegistry serviceRegistry) - Overrides:
registerColumnTypesin classorg.hibernate.dialect.Dialect
-
useMaterializedLobWhenCapacityExceeded
public boolean useMaterializedLobWhenCapacityExceeded()- Overrides:
useMaterializedLobWhenCapacityExceededin classorg.hibernate.dialect.Dialect
-
getMaxVarbinaryLength
public int getMaxVarbinaryLength()- Overrides:
getMaxVarbinaryLengthin classorg.hibernate.dialect.Dialect
-
getMaxVarcharLength
public int getMaxVarcharLength()- Overrides:
getMaxVarcharLengthin classorg.hibernate.dialect.Dialect
-
getDefaultDecimalPrecision
public int getDefaultDecimalPrecision()- Overrides:
getDefaultDecimalPrecisionin classorg.hibernate.dialect.Dialect
-
getDefaultTimestampPrecision
public int getDefaultTimestampPrecision()- Overrides:
getDefaultTimestampPrecisionin classorg.hibernate.dialect.Dialect
-
getFloatPrecision
public int getFloatPrecision()- Overrides:
getFloatPrecisionin classorg.hibernate.dialect.Dialect
-
getDoublePrecision
public int getDoublePrecision()- Overrides:
getDoublePrecisionin classorg.hibernate.dialect.Dialect
-
getGroupBySelectItemReferenceStrategy
public org.hibernate.dialect.SelectItemReferenceStrategy getGroupBySelectItemReferenceStrategy()- Overrides:
getGroupBySelectItemReferenceStrategyin 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
-
extractPattern
Informix has no extract() function, but we can partially emulate it by using the appropriate named functions, and by using to_char() with a format string. The supported fields areTemporalUnit.HOUR,TemporalUnit.MINUTE,TemporalUnit.SECOND,TemporalUnit.DAY,TemporalUnit.MONTH,TemporalUnit.YEAR,TemporalUnit.QUARTER,TemporalUnit.DAY_OF_MONTH,TemporalUnit.DAY_OF_WEEK.- Overrides:
extractPatternin classorg.hibernate.dialect.Dialect
-
getAddColumnString
- Overrides:
getAddColumnStringin classorg.hibernate.dialect.Dialect
-
getAddForeignKeyConstraintString
public String getAddForeignKeyConstraintString(String constraintName, String[] foreignKey, String referencedTable, String[] primaryKey, boolean referencesPrimaryKey) Informix constraint name must be at the end.- Overrides:
getAddForeignKeyConstraintStringin classorg.hibernate.dialect.Dialect
-
getAddForeignKeyConstraintString
- Overrides:
getAddForeignKeyConstraintStringin classorg.hibernate.dialect.Dialect
-
getForeignKeyExporter
public org.hibernate.tool.schema.spi.Exporter<org.hibernate.mapping.ForeignKey> getForeignKeyExporter()- Overrides:
getForeignKeyExporterin classorg.hibernate.dialect.Dialect
-
getAddPrimaryKeyConstraintString
Informix constraint name must be at the end.- Overrides:
getAddPrimaryKeyConstraintStringin classorg.hibernate.dialect.Dialect
-
getSequenceSupport
public org.hibernate.dialect.sequence.SequenceSupport getSequenceSupport()- Overrides:
getSequenceSupportin classorg.hibernate.dialect.Dialect
-
getQuerySequencesString
- Overrides:
getQuerySequencesStringin classorg.hibernate.dialect.Dialect
-
getSequenceInformationExtractor
public org.hibernate.tool.schema.extract.spi.SequenceInformationExtractor getSequenceInformationExtractor()- Overrides:
getSequenceInformationExtractorin classorg.hibernate.dialect.Dialect
-
getNullOrdering
public org.hibernate.dialect.NullOrdering getNullOrdering()- Overrides:
getNullOrderingin classorg.hibernate.dialect.Dialect
-
supportsNullPrecedence
public boolean supportsNullPrecedence()- Overrides:
supportsNullPrecedencein classorg.hibernate.dialect.Dialect
-
getLimitHandler
public org.hibernate.dialect.pagination.LimitHandler getLimitHandler()- Overrides:
getLimitHandlerin classorg.hibernate.dialect.Dialect
-
supportsIfExistsBeforeTableName
public boolean supportsIfExistsBeforeTableName()- Overrides:
supportsIfExistsBeforeTableNamein classorg.hibernate.dialect.Dialect
-
supportsIfExistsBeforeTypeName
public boolean supportsIfExistsBeforeTypeName()- Overrides:
supportsIfExistsBeforeTypeNamein classorg.hibernate.dialect.Dialect
-
supportsIfExistsBeforeConstraintName
public boolean supportsIfExistsBeforeConstraintName()- Overrides:
supportsIfExistsBeforeConstraintNamein classorg.hibernate.dialect.Dialect
-
supportsOrderByInSubquery
public boolean supportsOrderByInSubquery()- Overrides:
supportsOrderByInSubqueryin classorg.hibernate.dialect.Dialect
-
supportsWindowFunctions
public boolean supportsWindowFunctions()- Overrides:
supportsWindowFunctionsin classorg.hibernate.dialect.Dialect
-
supportsLateral
public boolean supportsLateral()- Overrides:
supportsLateralin classorg.hibernate.dialect.Dialect
-
supportsValuesListForInsert
public boolean supportsValuesListForInsert()- Overrides:
supportsValuesListForInsertin classorg.hibernate.dialect.Dialect
-
getViolatedConstraintNameExtractor
public org.hibernate.exception.spi.ViolatedConstraintNameExtractor getViolatedConstraintNameExtractor()- Specified by:
getViolatedConstraintNameExtractorin interfaceorg.hibernate.exception.spi.ConversionContext- Overrides:
getViolatedConstraintNameExtractorin classorg.hibernate.dialect.Dialect
-
supportsCurrentTimestampSelection
public boolean supportsCurrentTimestampSelection()- Overrides:
supportsCurrentTimestampSelectionin classorg.hibernate.dialect.Dialect
-
isCurrentTimestampSelectStringCallable
public boolean isCurrentTimestampSelectStringCallable()- Overrides:
isCurrentTimestampSelectStringCallablein classorg.hibernate.dialect.Dialect
-
getCurrentTimestampSelectString
- Overrides:
getCurrentTimestampSelectStringin 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
- Overrides:
getTemporaryTableCreateOptionsin classorg.hibernate.dialect.Dialect
-
getTemporaryTableCreateCommand
- Overrides:
getTemporaryTableCreateCommandin classorg.hibernate.dialect.Dialect
-
getTemporaryTableAfterUseAction
public org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction getTemporaryTableAfterUseAction()- Overrides:
getTemporaryTableAfterUseActionin classorg.hibernate.dialect.Dialect
-
getTemporaryTableBeforeUseAction
public org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction getTemporaryTableBeforeUseAction()- Overrides:
getTemporaryTableBeforeUseActionin classorg.hibernate.dialect.Dialect
-
getCreateSchemaCommand
- Overrides:
getCreateSchemaCommandin classorg.hibernate.dialect.Dialect
-
getDropSchemaCommand
- Overrides:
getDropSchemaCommandin classorg.hibernate.dialect.Dialect
-
useCrossReferenceForeignKeys
public boolean useCrossReferenceForeignKeys()- Overrides:
useCrossReferenceForeignKeysin classorg.hibernate.dialect.Dialect
-
getCrossReferenceParentTableFilter
- Overrides:
getCrossReferenceParentTableFilterin classorg.hibernate.dialect.Dialect
-
getUniqueDelegate
public org.hibernate.dialect.unique.UniqueDelegate getUniqueDelegate()- Overrides:
getUniqueDelegatein classorg.hibernate.dialect.Dialect
-
getIdentityColumnSupport
public org.hibernate.dialect.identity.IdentityColumnSupport getIdentityColumnSupport()- Overrides:
getIdentityColumnSupportin classorg.hibernate.dialect.Dialect
-
appendBooleanValueString
public void appendBooleanValueString(org.hibernate.sql.ast.spi.SqlAppender appender, boolean bool) - Overrides:
appendBooleanValueStringin classorg.hibernate.dialect.Dialect
-
currentDate
- Overrides:
currentDatein classorg.hibernate.dialect.Dialect
-
currentTimestamp
- Overrides:
currentTimestampin classorg.hibernate.dialect.Dialect
-
appendDatetimeFormat
- Overrides:
appendDatetimeFormatin classorg.hibernate.dialect.Dialect
-
datetimeFormat
-
getSelectClauseNullString
public String getSelectClauseNullString(int sqlType, org.hibernate.type.spi.TypeConfiguration typeConfiguration) - Overrides:
getSelectClauseNullStringin classorg.hibernate.dialect.Dialect
-
getNoColumnsInsertString
- Overrides:
getNoColumnsInsertStringin classorg.hibernate.dialect.Dialect
-