Package org.hibernate.community.dialect
Class SybaseAnywhereDialect
- java.lang.Object
-
- org.hibernate.dialect.Dialect
-
- org.hibernate.dialect.AbstractTransactSQLDialect
-
- org.hibernate.dialect.SybaseDialect
-
- org.hibernate.community.dialect.SybaseAnywhereDialect
-
- All Implemented Interfaces:
org.hibernate.boot.model.FunctionContributor,org.hibernate.boot.model.TypeContributor,org.hibernate.exception.spi.ConversionContext
public class SybaseAnywhereDialect extends org.hibernate.dialect.SybaseDialectSQL Dialect for Sybase/SQL Anywhere (Tested on ASA 8.x)
-
-
Constructor Summary
Constructors Constructor Description SybaseAnywhereDialect()SybaseAnywhereDialect(org.hibernate.dialect.DatabaseVersion version)SybaseAnywhereDialect(org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo info)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringappendLockHint(org.hibernate.LockOptions mode, String tableName)StringapplyLocksToSql(String sql, org.hibernate.LockOptions aliasedLockOptions, Map<String,String[]> keyColumnNames)protected StringcolumnType(int sqlTypeCode)StringcurrentDate()StringcurrentTime()StringcurrentTimestamp()booleandropConstraints()ASA does not require to drop constraint before dropping tables, so disable it.StringgetDual()StringgetForUpdateString()StringgetForUpdateString(String aliases)StringgetFromDualForSelectOnly()org.hibernate.dialect.identity.IdentityColumnSupportgetIdentityColumnSupport()org.hibernate.dialect.pagination.LimitHandlergetLimitHandler()intgetMaxVarcharLength()StringgetNoColumnsInsertString()Sybase Anywhere syntax would require a "DEFAULT" for each column specified, but I suppose Hibernate use this syntax only with tables with just 1 columnorg.hibernate.sql.ast.SqlAstTranslatorFactorygetSqlAstTranslatorFactory()org.hibernate.dialect.TimeZoneSupportgetTimeZoneSupport()org.hibernate.dialect.RowLockStrategygetWriteRowLockStrategy()voidinitializeFunctionRegistry(org.hibernate.boot.model.FunctionContributions functionContributions)booleansupportsLateral()booleansupportsWindowFunctions()booleanuseMaterializedLobWhenCapacityExceeded()-
Methods inherited from class org.hibernate.dialect.SybaseDialect
appendDatetimeFormat, appendDateTimeLiteral, appendDateTimeLiteral, appendDateTimeLiteral, buildIdentifierHelper, canCreateSchema, castPattern, contributeTypes, extractPattern, getAlterColumnTypeString, getCallableStatementSupport, getCurrentSchemaCommand, getDmlTargetColumnQualifierSupport, getDriverKind, getInExpressionCountLimit, getMaxIdentifierLength, getMinimumSupportedVersion, getNameQualifierSupport, getNationalizationSupport, getNullColumnString, getParameterCountLimit, getSqmTranslatorFactory, getUniqueDelegate, resolveSqlTypeDescriptor, resolveSqlTypeLength, supportsAlterColumnType, supportsFractionalTimestampArithmetic, supportsFromClauseInUpdate, supportsNamedParameters, supportsNullPrecedence, supportsStandardCurrentTimestampFunction, timestampaddPattern, timestampdiffPattern, translateExtractField
-
Methods inherited from class org.hibernate.dialect.AbstractTransactSQLDialect
appendBinaryLiteral, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, getAddColumnString, getCurrentTimestampSelectString, getDefaultStatementBatchSize, getFallbackSqmInsertStrategy, getFallbackSqmMutationStrategy, getNullOrdering, getPreferredSqlTypeCodeForBoolean, getResultSet, getSelectGUIDString, getSupportedTemporaryTableKind, getTemporaryTableAfterUseAction, getTemporaryTableBeforeUseAction, getTemporaryTableCreateCommand, isCurrentTimestampSelectStringCallable, qualifyIndexName, registerResultSetOutParameter, replaceLtrimRtrim, replaceLtrimRtrim, requiresCastForConcatenatingNonStrings, supportsCurrentTimestampSelection, supportsExistsInSelect, supportsPartitionBy, supportsTupleDistinctCounts, trimPattern
-
Methods inherited from class org.hibernate.dialect.Dialect
addSqlHintOrComment, appendArrayLiteral, appendBooleanValueString, appendIntervalLiteral, appendLiteral, appendUUIDLiteral, augmentPhysicalTableTypes, augmentRecognizedTableTypes, buildSQLExceptionConversionDelegate, buildStringToBooleanCast, buildStringToBooleanCastDecode, buildStringToBooleanDecode, canBatchTruncate, canCreateCatalog, canDisableConstraints, castType, checkVersion, closeQuote, contribute, contributeFunctions, createOptionalTableUpdateOperation, currentLocalTime, currentLocalTimestamp, currentTimestampWithTimeZone, defaultScrollMode, doesRoundTemporalOnOverflow, equivalentTypes, escapeComment, forceLobAsLastValue, generatedAs, getAddColumnSuffixString, getAddForeignKeyConstraintString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAggregateSupport, getAlterTableString, getArrayTypeName, getAuxiliaryDatabaseObjectExporter, getBatchLoadSizingStrategy, getBeforeDropStatement, getCascadeConstraintsString, getCaseInsensitiveLike, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getColumnAliasExtractor, getColumnComment, getCreateCatalogCommand, getCreateEnumTypeCommand, getCreateEnumTypeCommand, getCreateIndexString, getCreateIndexTail, getCreateMultisetTableString, getCreateSchemaCommand, getCreateTableString, getCreateTemporaryTableColumnAnnotation, getCreateUserDefinedTypeExtensionsString, getCreateUserDefinedTypeKindString, getCrossReferenceParentTableFilter, getDefaultDecimalPrecision, getDefaultIntervalSecondScale, getDefaultLobLength, getDefaultNonContextualLobCreation, getDefaultProperties, getDefaultTimestampPrecision, getDefaultUseGetGeneratedKeys, getDisableConstraintsStatement, getDisableConstraintStatement, getDoublePrecision, getDropCatalogCommand, getDropEnumTypeCommand, getDropEnumTypeCommand, getDropForeignKeyString, getDropSchemaCommand, getDropTableString, getDropUniqueKeyString, getEnableConstraintsStatement, getEnableConstraintStatement, getEnumTypeDeclaration, getEnumTypeDeclaration, getFallbackSchemaManagementTool, getFloatPrecision, getForeignKeyExporter, getForUpdateNowaitString, getForUpdateNowaitString, getForUpdateSkipLockedString, getForUpdateSkipLockedString, getForUpdateString, getForUpdateString, getForUpdateString, getFractionalSecondPrecisionInNanos, getFunctionalDependencyAnalysisSupport, getGroupBySelectItemReferenceStrategy, getHqlTranslator, getIndexExporter, getKeywords, getLobMergeStrategy, getLockingStrategy, getLockRowIdentifier, getLowercaseFunction, getMaxAliasLength, getMaxNVarcharCapacity, getMaxNVarcharLength, getMaxVarbinaryCapacity, getMaxVarbinaryLength, getMaxVarcharCapacity, getMultiKeyLoadSizingStrategy, getNativeIdentifierGeneratorStrategy, getNativeParameterMarkerStrategy, getNullColumnString, getPreferredSqlTypeCodeForArray, getQueryHintString, getQueryHintString, getQuerySequencesString, getReadLockString, getReadLockString, getReadRowLockStrategy, getResultSet, getResultSet, getRowIdColumnString, getSchemaNameResolver, getSelectClauseNullString, getSelectClauseNullString, getSequenceExporter, getSequenceInformationExtractor, getSequenceSupport, getSizeStrategy, getTableCleaner, getTableComment, getTableExporter, getTableMigrator, getTableTypeString, getTemporaryTableCreateOptions, getTemporaryTableDdlTransactionHandling, getTemporaryTableDropCommand, getTemporaryTableExporter, getTemporaryTableTruncateCommand, getTimeoutInSeconds, getTruncateTableStatement, getTruncateTableStatements, getUniqueKeyExporter, getUserDefinedTypeComment, getUserDefinedTypeExporter, getVersion, getViolatedConstraintNameExtractor, getWriteLockString, getWriteLockString, hasAlterTable, hasDataTypeBeforeGeneratedAs, hasSelfReferentialForeignKeyBug, initDefaultProperties, inlineLiteral, isAnsiNullOn, isEmptyStringTreatedAsNull, isJdbcLogWarningsEnabledByDefault, isLob, isLockTimeoutParameterized, openQuote, ordinal, prependComment, quote, quoteCollation, registerColumnTypes, registerDefaultKeywords, registerKeyword, registerKeywords, registerResultSetOutParameter, requiresFloatCastingOfIntegerDivision, requiresParensForTupleCounts, requiresParensForTupleDistinctCounts, resolveSqlTypeCode, resolveSqlTypeCode, rowId, rowIdSqlType, supportsBatchUpdates, supportsBindAsCallableArgument, supportsBindingNullForSetObject, supportsBindingNullSqlTypeForSetNull, supportsBitType, supportsCascadeDelete, supportsCaseInsensitiveLike, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsConflictClauseForInsertCTE, supportsDistinctFromPredicate, supportsExpectedLobUsagePattern, supportsFetchClause, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsAfterTypeName, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTableName, supportsIfExistsBeforeTypeName, supportsInsertReturning, supportsInsertReturningGeneratedKeys, supportsInsertReturningRowId, supportsIsTrue, supportsJdbcConnectionLobCreation, supportsLobValueChangePropagation, supportsLockTimeouts, supportsMaterializedLobAccess, supportsNationalizedMethods, supportsNoColumnsInsert, supportsNonQueryWithCTE, supportsNoWait, supportsOffsetInSubquery, supportsOrderByInSubquery, supportsOrdinalSelectItemReference, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsPredicateAsExpression, supportsRecursiveCTE, supportsRefCursors, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsSkipLocked, supportsStandardArrays, supportsSubqueryInSelect, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTemporalLiteralOffset, supportsTemporaryTablePrimaryKey, supportsTemporaryTables, supportsTruncateWithCast, supportsTupleCounts, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnionInSubquery, supportsUpdateReturning, supportsValuesList, supportsValuesListForInsert, supportsWait, toBooleanValueString, toQuotedIdentifier, toString, transformSelectString, translateDurationField, trimPattern, unquoteGetGeneratedKeys, useArrayForMultiValuedParameters, useConnectionToCreateLob, useCrossReferenceForeignKeys, useFollowOnLocking, useInputStreamToInsertBlob
-
-
-
-
Method Detail
-
columnType
protected String columnType(int sqlTypeCode)
- Overrides:
columnTypein classorg.hibernate.dialect.AbstractTransactSQLDialect
-
useMaterializedLobWhenCapacityExceeded
public boolean useMaterializedLobWhenCapacityExceeded()
- Overrides:
useMaterializedLobWhenCapacityExceededin classorg.hibernate.dialect.Dialect
-
initializeFunctionRegistry
public void initializeFunctionRegistry(org.hibernate.boot.model.FunctionContributions functionContributions)
- Overrides:
initializeFunctionRegistryin classorg.hibernate.dialect.SybaseDialect
-
getMaxVarcharLength
public int getMaxVarcharLength()
- Overrides:
getMaxVarcharLengthin classorg.hibernate.dialect.Dialect
-
getSqlAstTranslatorFactory
public org.hibernate.sql.ast.SqlAstTranslatorFactory getSqlAstTranslatorFactory()
- Overrides:
getSqlAstTranslatorFactoryin classorg.hibernate.dialect.SybaseDialect
-
getTimeZoneSupport
public org.hibernate.dialect.TimeZoneSupport getTimeZoneSupport()
- Overrides:
getTimeZoneSupportin 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
-
getNoColumnsInsertString
public String getNoColumnsInsertString()
Sybase Anywhere syntax would require a "DEFAULT" for each column specified, but I suppose Hibernate use this syntax only with tables with just 1 column- Overrides:
getNoColumnsInsertStringin classorg.hibernate.dialect.Dialect
-
dropConstraints
public boolean dropConstraints()
ASA does not require to drop constraint before dropping tables, so disable it.NOTE : Also, the DROP statement syntax used by Hibernate to drop constraints is not compatible with ASA.
- Overrides:
dropConstraintsin classorg.hibernate.dialect.Dialect
-
supportsWindowFunctions
public boolean supportsWindowFunctions()
- Overrides:
supportsWindowFunctionsin classorg.hibernate.dialect.Dialect
-
supportsLateral
public boolean supportsLateral()
- Overrides:
supportsLateralin classorg.hibernate.dialect.Dialect
-
getIdentityColumnSupport
public org.hibernate.dialect.identity.IdentityColumnSupport getIdentityColumnSupport()
- Overrides:
getIdentityColumnSupportin classorg.hibernate.dialect.SybaseDialect
-
getWriteRowLockStrategy
public org.hibernate.dialect.RowLockStrategy getWriteRowLockStrategy()
- Overrides:
getWriteRowLockStrategyin classorg.hibernate.dialect.AbstractTransactSQLDialect
-
getForUpdateString
public String getForUpdateString()
- Overrides:
getForUpdateStringin classorg.hibernate.dialect.AbstractTransactSQLDialect
-
getForUpdateString
public String getForUpdateString(String aliases)
- Overrides:
getForUpdateStringin classorg.hibernate.dialect.Dialect
-
appendLockHint
public String appendLockHint(org.hibernate.LockOptions mode, String tableName)
- Overrides:
appendLockHintin classorg.hibernate.dialect.AbstractTransactSQLDialect
-
applyLocksToSql
public String applyLocksToSql(String sql, org.hibernate.LockOptions aliasedLockOptions, Map<String,String[]> keyColumnNames)
- Overrides:
applyLocksToSqlin classorg.hibernate.dialect.AbstractTransactSQLDialect
-
getLimitHandler
public org.hibernate.dialect.pagination.LimitHandler getLimitHandler()
- Overrides:
getLimitHandlerin classorg.hibernate.dialect.Dialect
-
getDual
public String getDual()
- Overrides:
getDualin classorg.hibernate.dialect.Dialect
-
getFromDualForSelectOnly
public String getFromDualForSelectOnly()
- Overrides:
getFromDualForSelectOnlyin classorg.hibernate.dialect.Dialect
-
-