Package org.hibernate.community.dialect
Class AltibaseDialect
- java.lang.Object
-
- org.hibernate.dialect.Dialect
-
- org.hibernate.community.dialect.AltibaseDialect
-
- All Implemented Interfaces:
org.hibernate.boot.model.FunctionContributor,org.hibernate.boot.model.TypeContributor,org.hibernate.exception.spi.ConversionContext
public class AltibaseDialect extends org.hibernate.dialect.DialectAn SQL dialect for Altibase 7.3 and above.
-
-
Constructor Summary
Constructors Constructor Description AltibaseDialect()AltibaseDialect(org.hibernate.dialect.DatabaseVersion version)AltibaseDialect(org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo info)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappendBinaryLiteral(org.hibernate.sql.ast.spi.SqlAppender appender, byte[] bytes)voidappendDatetimeFormat(org.hibernate.sql.ast.spi.SqlAppender appender, String format)voidappendDateTimeLiteral(org.hibernate.sql.ast.spi.SqlAppender appender, TemporalAccessor temporalAccessor, TemporalType precision, TimeZone jdbcTimeZone)voidappendDateTimeLiteral(org.hibernate.sql.ast.spi.SqlAppender appender, Date date, TemporalType precision, TimeZone jdbcTimeZone)org.hibernate.engine.jdbc.env.spi.IdentifierHelperbuildIdentifierHelper(org.hibernate.engine.jdbc.env.spi.IdentifierHelperBuilder builder, DatabaseMetaData dbMetaData)org.hibernate.exception.spi.SQLExceptionConversionDelegatebuildSQLExceptionConversionDelegate()booleancanCreateSchema()StringcastPattern(org.hibernate.query.sqm.CastType from, org.hibernate.query.sqm.CastType to)protected StringcolumnType(int sqlTypeCode)StringcurrentDate()StringcurrentLocalTime()StringcurrentLocalTimestamp()StringcurrentTime()StringcurrentTimestamp()StringcurrentTimestampWithTimeZone()StringextractPattern(org.hibernate.query.sqm.TemporalUnit unit)Altibase supports a limited list of temporal fields in the extract() function, but we can emulate some of them by using to_char() with a format string instead of extract().StringgetAddColumnString()StringgetAddColumnSuffixString()StringgetCascadeConstraintsString()String[]getCreateSchemaCommand(String schemaName)StringgetCurrentTimestampSelectString()intgetDefaultStatementBatchSize()String[]getDropSchemaCommand(String schemaName)longgetFractionalSecondPrecisionInNanos()org.hibernate.dialect.pagination.LimitHandlergetLimitHandler()intgetMaxIdentifierLength()intgetMaxVarbinaryLength()intgetMaxVarcharLength()org.hibernate.engine.jdbc.env.spi.NameQualifierSupportgetNameQualifierSupport()org.hibernate.dialect.NationalizationSupportgetNationalizationSupport()org.hibernate.dialect.NullOrderinggetNullOrdering()intgetPreferredSqlTypeCodeForBoolean()StringgetQuerySequencesString()org.hibernate.tool.schema.extract.spi.SequenceInformationExtractorgetSequenceInformationExtractor()org.hibernate.dialect.sequence.SequenceSupportgetSequenceSupport()org.hibernate.sql.ast.SqlAstTranslatorFactorygetSqlAstTranslatorFactory()voidinitializeFunctionRegistry(org.hibernate.boot.model.FunctionContributions functionContributions)booleanisCurrentTimestampSelectStringCallable()booleanqualifyIndexName()protected voidregisterColumnTypes(org.hibernate.boot.model.TypeContributions typeContributions, org.hibernate.service.ServiceRegistry serviceRegistry)booleansupportsCommentOn()booleansupportsCurrentTimestampSelection()booleansupportsExistsInSelect()booleansupportsInsertReturningGeneratedKeys()booleansupportsOrderByInSubquery()booleansupportsPartitionBy()protected booleansupportsPredicateAsExpression()booleansupportsTemporaryTablePrimaryKey()booleansupportsTemporaryTables()booleansupportsTruncateWithCast()booleansupportsTupleDistinctCounts()booleansupportsUnboundedLobLocatorMaterialization()booleansupportsValuesListForInsert()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)StringtranslateDurationField(org.hibernate.query.sqm.TemporalUnit unit)StringtranslateExtractField(org.hibernate.query.sqm.TemporalUnit unit)StringtrimPattern(org.hibernate.query.sqm.TrimSpec specification, boolean isWhitespace)-
Methods inherited from class org.hibernate.dialect.Dialect
addSqlHintOrComment, appendArrayLiteral, appendBooleanValueString, appendDateTimeLiteral, appendIntervalLiteral, appendLiteral, appendLockHint, appendUUIDLiteral, applyLocksToSql, augmentPhysicalTableTypes, augmentRecognizedTableTypes, canBatchTruncate, canCreateCatalog, canDisableConstraints, castType, checkVersion, closeQuote, contribute, contributeFunctions, contributeTypes, createOptionalTableUpdateOperation, defaultScrollMode, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, dropConstraints, equivalentTypes, escapeComment, forceLobAsLastValue, generatedAs, getAddForeignKeyConstraintString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAggregateSupport, getAlterColumnTypeString, getAlterTableString, getArrayTypeName, getAuxiliaryDatabaseObjectExporter, getBatchLoadSizingStrategy, getCallableStatementSupport, getCaseInsensitiveLike, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getColumnAliasExtractor, getColumnComment, getCreateCatalogCommand, getCreateEnumTypeCommand, getCreateEnumTypeCommand, getCreateIndexString, getCreateIndexTail, getCreateMultisetTableString, getCreateTableString, getCreateTemporaryTableColumnAnnotation, getCreateUserDefinedTypeExtensionsString, getCreateUserDefinedTypeKindString, getCurrentSchemaCommand, getDefaultDecimalPrecision, getDefaultIntervalSecondScale, getDefaultLobLength, getDefaultNonContextualLobCreation, getDefaultProperties, getDefaultTimestampPrecision, getDefaultUseGetGeneratedKeys, getDisableConstraintsStatement, getDisableConstraintStatement, getDmlTargetColumnQualifierSupport, getDoublePrecision, getDropCatalogCommand, getDropEnumTypeCommand, getDropEnumTypeCommand, getDropForeignKeyString, getDropTableString, getDropUniqueKeyString, getEnableConstraintsStatement, getEnableConstraintStatement, getEnumTypeDeclaration, getEnumTypeDeclaration, getFallbackSchemaManagementTool, getFallbackSqmInsertStrategy, getFallbackSqmMutationStrategy, getFloatPrecision, getForeignKeyExporter, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateSkipLockedString, getForUpdateSkipLockedString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getForUpdateString, getFunctionalDependencyAnalysisSupport, getGroupBySelectItemReferenceStrategy, getHqlTranslator, getIdentityColumnSupport, getIndexExporter, getInExpressionCountLimit, getKeywords, getLobMergeStrategy, getLockingStrategy, getLockRowIdentifier, getLowercaseFunction, getMaxAliasLength, getMaxNVarcharCapacity, getMaxNVarcharLength, getMaxVarbinaryCapacity, getMaxVarcharCapacity, getMinimumSupportedVersion, getMultiKeyLoadSizingStrategy, getNativeIdentifierGeneratorStrategy, getNativeParameterMarkerStrategy, getNoColumnsInsertString, getNullColumnString, getNullColumnString, getParameterCountLimit, getPreferredSqlTypeCodeForArray, getQueryHintString, getQueryHintString, getReadLockString, getReadLockString, getReadRowLockStrategy, getResultSet, getResultSet, getResultSet, getRowIdColumnString, getSchemaNameResolver, getSelectClauseNullString, getSelectGUIDString, getSequenceExporter, getSizeStrategy, getSqmTranslatorFactory, getSupportedTemporaryTableKind, getTableCleaner, getTableComment, getTableExporter, getTableMigrator, getTableTypeString, getTemporaryTableAfterUseAction, getTemporaryTableBeforeUseAction, getTemporaryTableCreateCommand, getTemporaryTableCreateOptions, getTemporaryTableDdlTransactionHandling, getTemporaryTableDropCommand, getTemporaryTableExporter, getTemporaryTableTruncateCommand, getTimeoutInSeconds, getTimeZoneSupport, getTruncateTableStatement, getTruncateTableStatements, getUniqueDelegate, getUniqueKeyExporter, getUserDefinedTypeComment, getUserDefinedTypeExporter, getVersion, getViolatedConstraintNameExtractor, getWriteLockString, getWriteLockString, getWriteRowLockStrategy, hasAlterTable, hasDataTypeBeforeGeneratedAs, hasSelfReferentialForeignKeyBug, initDefaultProperties, inlineLiteral, isAnsiNullOn, isEmptyStringTreatedAsNull, isJdbcLogWarningsEnabledByDefault, isLob, isLockTimeoutParameterized, openQuote, ordinal, prependComment, 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, supportsDistinctFromPredicate, supportsExpectedLobUsagePattern, supportsFetchClause, supportsFractionalTimestampArithmetic, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsAfterTypeName, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTableName, supportsIfExistsBeforeTypeName, supportsInsertReturning, supportsIsTrue, supportsJdbcConnectionLobCreation, supportsLateral, supportsLobValueChangePropagation, supportsLockTimeouts, supportsMaterializedLobAccess, supportsNamedParameters, supportsNoColumnsInsert, supportsNonQueryWithCTE, supportsNoWait, supportsNullPrecedence, supportsOffsetInSubquery, supportsOrdinalSelectItemReference, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsRecursiveCTE, supportsRefCursors, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsSkipLocked, supportsStandardArrays, supportsStandardCurrentTimestampFunction, supportsSubqueryInSelect, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTemporalLiteralOffset, supportsTupleCounts, supportsUnionAll, supportsUnionInSubquery, supportsValuesList, supportsWait, toBooleanValueString, toQuotedIdentifier, toString, transformSelectString, trimPattern, useArrayForMultiValuedParameters, useFollowOnLocking, useInputStreamToInsertBlob, useMaterializedLobWhenCapacityExceeded
-
-
-
-
Method Detail
-
columnType
protected String columnType(int sqlTypeCode)
- 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
-
getMaxVarcharLength
public int getMaxVarcharLength()
- Overrides:
getMaxVarcharLengthin classorg.hibernate.dialect.Dialect
-
getMaxVarbinaryLength
public int getMaxVarbinaryLength()
- Overrides:
getMaxVarbinaryLengthin classorg.hibernate.dialect.Dialect
-
getDefaultStatementBatchSize
public int getDefaultStatementBatchSize()
- Overrides:
getDefaultStatementBatchSizein classorg.hibernate.dialect.Dialect
-
trimPattern
public String trimPattern(org.hibernate.query.sqm.TrimSpec specification, boolean isWhitespace)
- Overrides:
trimPatternin classorg.hibernate.dialect.Dialect
-
getPreferredSqlTypeCodeForBoolean
public int getPreferredSqlTypeCodeForBoolean()
- Overrides:
getPreferredSqlTypeCodeForBooleanin classorg.hibernate.dialect.Dialect
-
initializeFunctionRegistry
public void initializeFunctionRegistry(org.hibernate.boot.model.FunctionContributions functionContributions)
- Overrides:
initializeFunctionRegistryin classorg.hibernate.dialect.Dialect
-
currentDate
public String currentDate()
- Overrides:
currentDatein classorg.hibernate.dialect.Dialect
-
currentTime
public String currentTime()
- Overrides:
currentTimein classorg.hibernate.dialect.Dialect
-
currentTimestamp
public String currentTimestamp()
- Overrides:
currentTimestampin classorg.hibernate.dialect.Dialect
-
currentLocalTime
public String currentLocalTime()
- Overrides:
currentLocalTimein classorg.hibernate.dialect.Dialect
-
currentLocalTimestamp
public String currentLocalTimestamp()
- Overrides:
currentLocalTimestampin classorg.hibernate.dialect.Dialect
-
currentTimestampWithTimeZone
public String currentTimestampWithTimeZone()
- Overrides:
currentTimestampWithTimeZonein classorg.hibernate.dialect.Dialect
-
getSqlAstTranslatorFactory
public org.hibernate.sql.ast.SqlAstTranslatorFactory getSqlAstTranslatorFactory()
- Overrides:
getSqlAstTranslatorFactoryin classorg.hibernate.dialect.Dialect
-
getFractionalSecondPrecisionInNanos
public long getFractionalSecondPrecisionInNanos()
- Overrides:
getFractionalSecondPrecisionInNanosin classorg.hibernate.dialect.Dialect
-
extractPattern
public String extractPattern(org.hibernate.query.sqm.TemporalUnit unit)
Altibase supports a limited list of temporal fields in the extract() function, but we can emulate some of them by using to_char() with a format string instead of extract(). Thus, the additional supported fields areTemporalUnit.DAY_OF_YEAR,TemporalUnit.DAY_OF_MONTH,TemporalUnit.DAY_OF_YEAR, andTemporalUnit.WEEK.- Overrides:
extractPatternin 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
-
appendBinaryLiteral
public void appendBinaryLiteral(org.hibernate.sql.ast.spi.SqlAppender appender, byte[] bytes)- Overrides:
appendBinaryLiteralin classorg.hibernate.dialect.Dialect
-
appendDatetimeFormat
public void appendDatetimeFormat(org.hibernate.sql.ast.spi.SqlAppender appender, String format)- Overrides:
appendDatetimeFormatin classorg.hibernate.dialect.Dialect
-
castPattern
public String castPattern(org.hibernate.query.sqm.CastType from, org.hibernate.query.sqm.CastType to)
- Overrides:
castPatternin classorg.hibernate.dialect.Dialect
-
appendDateTimeLiteral
public void appendDateTimeLiteral(org.hibernate.sql.ast.spi.SqlAppender appender, TemporalAccessor temporalAccessor, TemporalType precision, TimeZone jdbcTimeZone)- Overrides:
appendDateTimeLiteralin classorg.hibernate.dialect.Dialect
-
appendDateTimeLiteral
public void appendDateTimeLiteral(org.hibernate.sql.ast.spi.SqlAppender appender, Date date, TemporalType precision, TimeZone jdbcTimeZone)- Overrides:
appendDateTimeLiteralin classorg.hibernate.dialect.Dialect
-
translateDurationField
public String translateDurationField(org.hibernate.query.sqm.TemporalUnit unit)
- Overrides:
translateDurationFieldin classorg.hibernate.dialect.Dialect
-
getNullOrdering
public org.hibernate.dialect.NullOrdering getNullOrdering()
- Overrides:
getNullOrderingin classorg.hibernate.dialect.Dialect
-
getAddColumnString
public String getAddColumnString()
- Overrides:
getAddColumnStringin classorg.hibernate.dialect.Dialect
-
getAddColumnSuffixString
public String getAddColumnSuffixString()
- Overrides:
getAddColumnSuffixStringin classorg.hibernate.dialect.Dialect
-
getMaxIdentifierLength
public int getMaxIdentifierLength()
- Overrides:
getMaxIdentifierLengthin classorg.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:
buildIdentifierHelperin classorg.hibernate.dialect.Dialect- Throws:
SQLException
-
canCreateSchema
public boolean canCreateSchema()
- Overrides:
canCreateSchemain classorg.hibernate.dialect.Dialect
-
getNameQualifierSupport
public org.hibernate.engine.jdbc.env.spi.NameQualifierSupport getNameQualifierSupport()
- Overrides:
getNameQualifierSupportin classorg.hibernate.dialect.Dialect
-
getCreateSchemaCommand
public String[] getCreateSchemaCommand(String schemaName)
- Overrides:
getCreateSchemaCommandin classorg.hibernate.dialect.Dialect
-
getDropSchemaCommand
public String[] getDropSchemaCommand(String schemaName)
- Overrides:
getDropSchemaCommandin classorg.hibernate.dialect.Dialect
-
qualifyIndexName
public boolean qualifyIndexName()
- Overrides:
qualifyIndexNamein classorg.hibernate.dialect.Dialect
-
supportsInsertReturningGeneratedKeys
public boolean supportsInsertReturningGeneratedKeys()
- Overrides:
supportsInsertReturningGeneratedKeysin classorg.hibernate.dialect.Dialect
-
supportsTruncateWithCast
public boolean supportsTruncateWithCast()
- Overrides:
supportsTruncateWithCastin classorg.hibernate.dialect.Dialect
-
supportsCommentOn
public boolean supportsCommentOn()
- Overrides:
supportsCommentOnin classorg.hibernate.dialect.Dialect
-
supportsUnboundedLobLocatorMaterialization
public boolean supportsUnboundedLobLocatorMaterialization()
- Overrides:
supportsUnboundedLobLocatorMaterializationin classorg.hibernate.dialect.Dialect
-
supportsTupleDistinctCounts
public boolean supportsTupleDistinctCounts()
- Overrides:
supportsTupleDistinctCountsin classorg.hibernate.dialect.Dialect
-
supportsExistsInSelect
public boolean supportsExistsInSelect()
- Overrides:
supportsExistsInSelectin classorg.hibernate.dialect.Dialect
-
supportsPartitionBy
public boolean supportsPartitionBy()
- Overrides:
supportsPartitionByin 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
-
getLimitHandler
public org.hibernate.dialect.pagination.LimitHandler getLimitHandler()
- Overrides:
getLimitHandlerin classorg.hibernate.dialect.Dialect
-
supportsCurrentTimestampSelection
public boolean supportsCurrentTimestampSelection()
- Overrides:
supportsCurrentTimestampSelectionin classorg.hibernate.dialect.Dialect
-
getCurrentTimestampSelectString
public String getCurrentTimestampSelectString()
- Overrides:
getCurrentTimestampSelectStringin classorg.hibernate.dialect.Dialect
-
isCurrentTimestampSelectStringCallable
public boolean isCurrentTimestampSelectStringCallable()
- Overrides:
isCurrentTimestampSelectStringCallablein classorg.hibernate.dialect.Dialect
-
getCascadeConstraintsString
public String getCascadeConstraintsString()
- Overrides:
getCascadeConstraintsStringin classorg.hibernate.dialect.Dialect
-
supportsValuesListForInsert
public boolean supportsValuesListForInsert()
- Overrides:
supportsValuesListForInsertin classorg.hibernate.dialect.Dialect
-
supportsOrderByInSubquery
public boolean supportsOrderByInSubquery()
- Overrides:
supportsOrderByInSubqueryin classorg.hibernate.dialect.Dialect
-
supportsWindowFunctions
public boolean supportsWindowFunctions()
- Overrides:
supportsWindowFunctionsin classorg.hibernate.dialect.Dialect
-
getNationalizationSupport
public org.hibernate.dialect.NationalizationSupport getNationalizationSupport()
- Overrides:
getNationalizationSupportin classorg.hibernate.dialect.Dialect
-
supportsTemporaryTables
public boolean supportsTemporaryTables()
- Overrides:
supportsTemporaryTablesin classorg.hibernate.dialect.Dialect
-
supportsTemporaryTablePrimaryKey
public boolean supportsTemporaryTablePrimaryKey()
- Overrides:
supportsTemporaryTablePrimaryKeyin classorg.hibernate.dialect.Dialect
-
supportsPredicateAsExpression
protected boolean supportsPredicateAsExpression()
- Overrides:
supportsPredicateAsExpressionin classorg.hibernate.dialect.Dialect
-
translateExtractField
public String translateExtractField(org.hibernate.query.sqm.TemporalUnit unit)
- Overrides:
translateExtractFieldin classorg.hibernate.dialect.Dialect
-
buildSQLExceptionConversionDelegate
public org.hibernate.exception.spi.SQLExceptionConversionDelegate buildSQLExceptionConversionDelegate()
- Overrides:
buildSQLExceptionConversionDelegatein classorg.hibernate.dialect.Dialect
-
-