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.SybaseDialect
SQL Dialect for Sybase/SQL Anywhere
(Tested on ASA 8.x)
-
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.SybaseDialect
jtdsDriverFields 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 -
Constructor Summary
ConstructorsConstructorDescriptionSybaseAnywhereDialect(org.hibernate.dialect.DatabaseVersion version) SybaseAnywhereDialect(org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo info) -
Method Summary
Modifier and TypeMethodDescriptionappendLockHint(org.hibernate.LockOptions mode, String tableName) applyLocksToSql(String sql, org.hibernate.LockOptions aliasedLockOptions, Map<String, String[]> keyColumnNames) protected StringcolumnType(int sqlTypeCode) booleanASA does not require to drop constraint before dropping tables, so disable it.getDual()getForUpdateString(String aliases) org.hibernate.dialect.identity.IdentityColumnSupportorg.hibernate.dialect.pagination.LimitHandlerorg.hibernate.dialect.lock.spi.LockingSupportintSybase 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.SqlAstTranslatorFactoryorg.hibernate.dialect.TimeZoneSupportvoidinitializeFunctionRegistry(org.hibernate.boot.model.FunctionContributions functionContributions) booleanbooleanbooleanMethods inherited from class org.hibernate.dialect.SybaseDialect
addPartitionKeyToPrimaryKey, appendDatetimeFormat, appendDateTimeLiteral, appendDateTimeLiteral, appendDateTimeLiteral, buildIdentifierHelper, canCreateSchema, castPattern, contributeTypes, extractPattern, getAlterColumnTypeString, getCallableStatementSupport, getCurrentSchemaCommand, getDmlTargetColumnQualifierSupport, getDriverKind, getInExpressionCountLimit, getMaxIdentifierLength, getMinimumSupportedVersion, getNameQualifierSupport, getNationalizationSupport, getNullColumnString, getParameterCountLimit, getSchemaNameResolver, getSqmTranslatorFactory, getUniqueDelegate, resolveSqlTypeDescriptor, resolveSqlTypeLength, stripsTrailingSpacesFromChar, supportsAlterColumnType, supportsFractionalTimestampArithmetic, supportsFromClauseInUpdate, supportsNamedParameters, supportsNullPrecedence, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsRowValueConstructorSyntaxInQuantifiedPredicates, supportsStandardCurrentTimestampFunction, supportsWithClause, timestampaddPattern, timestampdiffPattern, translateExtractFieldMethods inherited from class org.hibernate.dialect.AbstractTransactSQLDialect
appendBinaryLiteral, doesReadCommittedCauseWritersToBlockReaders, doesRepeatableReadCauseReadersToBlockWriters, getAddColumnString, getCurrentTimestampSelectString, getDefaultStatementBatchSize, getFallbackSqmInsertStrategy, getFallbackSqmMutationStrategy, getLocalTemporaryTableStrategy, getLockingClauseStrategy, getNullOrdering, getPreferredSqlTypeCodeForBoolean, getResultSet, getSelectGUIDString, getSupportedTemporaryTableKind, getTemporaryTableAfterUseAction, getTemporaryTableBeforeUseAction, getTemporaryTableCreateCommand, isCurrentTimestampSelectStringCallable, qualifyIndexName, registerResultSetOutParameter, replaceLtrimRtrim, requiresCastForConcatenatingNonStrings, supportsCurrentTimestampSelection, supportsExistsInSelect, supportsPartitionBy, supportsTupleDistinctCounts, trimPatternMethods inherited from class org.hibernate.dialect.Dialect
addSqlHintOrComment, addUseIndexQueryHint, appendArrayLiteral, appendBooleanValueString, appendCheckConstraintOptions, appendIntervalLiteral, appendIntervalLiteral, appendLiteral, appendUUIDLiteral, augmentPhysicalTableTypes, augmentRecognizedTableTypes, buildLockingClauseStrategy, buildOptimisticForceIncrementStrategy, buildOptimisticStrategy, buildPessimisticForceIncrementStrategy, buildPessimisticReadStrategy, buildPessimisticWriteStrategy, buildReadStrategy, buildSQLExceptionConversionDelegate, buildStringToBooleanCast, buildStringToBooleanCastDecode, buildStringToBooleanDecode, canBatchTruncate, canCreateCatalog, canDisableConstraints, castType, checkVersion, closeQuote, contribute, contributeFunctions, createOptionalTableUpdateOperation, currentLocalTime, currentLocalTimestamp, currentTimestampWithTimeZone, defaultScrollMode, determineDatabaseVersion, doesRoundTemporalOnOverflow, equivalentTypes, escapeComment, forceLobAsLastValue, generatedAs, getAddColumnSuffixString, getAddForeignKeyConstraintString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAggregateSupport, getAlterTableString, getArrayTypeName, getAuxiliaryDatabaseObjectExporter, getBatchLoadSizingStrategy, getBeforeDropStatement, getCascadeConstraintsString, getCaseInsensitiveLike, getCatalogSeparator, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getCheckCondition, getCheckConstraintString, getColumnAliasExtractor, getColumnComment, getCreateCatalogCommand, getCreateEnumTypeCommand, getCreateEnumTypeCommand, getCreateIndexString, getCreateIndexTail, getCreateMultisetTableString, getCreateSchemaCommand, getCreateTableString, getCreateTemporaryTableColumnAnnotation, getCreateUserDefinedTypeExtensionsString, getCreateUserDefinedTypeKindString, getCrossReferenceParentTableFilter, getDefaultDecimalPrecision, getDefaultIntervalSecondScale, getDefaultLobLength, getDefaultNonContextualLobCreation, getDefaultOrdinalityColumnName, 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, getForUpdateString, getForUpdateString, getForUpdateString, getFractionalSecondPrecisionInNanos, getFunctionalDependencyAnalysisSupport, getGlobalTemporaryTableStrategy, getGroupBySelectItemReferenceStrategy, getHqlTranslator, getIndexExporter, getInformationExtractor, getKeywords, getLobMergeStrategy, getLockingStrategy, getLockingStrategy, getLockRowIdentifier, getLowercaseFunction, getMaxAliasLength, getMaxNVarcharCapacity, getMaxNVarcharLength, getMaxVarbinaryCapacity, getMaxVarbinaryLength, getMaxVarcharCapacity, getMultiKeyLoadSizingStrategy, getNativeIdentifierGeneratorStrategy, getNativeParameterMarkerStrategy, getNativeValueGenerationStrategy, getNullColumnString, getPersistentTemporaryTableStrategy, getPessimisticLockStyle, getPreferredSqlTypeCodeForArray, getQueryHintString, getQueryHintString, getQuerySequencesString, getReadLockString, getReadLockString, getReadLockString, getReadLockString, getReadRowLockStrategy, getResultSet, getResultSet, getRowIdColumnString, 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, getWriteLockString, getWriteLockString, getWriteRowLockStrategy, hasAlterTable, hasDataTypeBeforeGeneratedAs, hasSelfReferentialForeignKeyBug, initDefaultProperties, isEmptyStringTreatedAsNull, isJdbcLogWarningsEnabledByDefault, isLob, openQuote, ordinal, prependComment, quote, quoteCollation, registerColumnTypes, registerDefaultKeywords, registerKeyword, registerKeywords, registerResultSetOutParameter, requiresColumnListInCreateView, requiresFloatCastingOfIntegerDivision, requiresParensForTupleCounts, requiresParensForTupleDistinctCounts, resolveSqlTypeCode, resolveSqlTypeCode, rowId, rowIdSqlType, supportsArrayConstructor, supportsBatchUpdates, supportsBindAsCallableArgument, supportsBindingNullForSetObject, supportsBindingNullSqlTypeForSetNull, supportsBitType, supportsCascadeDelete, supportsCaseInsensitiveLike, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsConflictClauseForInsertCTE, supportsCrossJoin, supportsDistinctFromPredicate, supportsDuplicateSelectItemsInQueryGroup, supportsExpectedLobUsagePattern, supportsFetchClause, supportsFilterClause, supportsForUpdate, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsAfterTypeName, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTableName, supportsIfExistsBeforeTypeName, supportsInsertReturning, supportsInsertReturningGeneratedKeys, supportsInsertReturningRowId, supportsIntersect, supportsIsTrue, supportsJdbcConnectionLobCreation, supportsJoinInMutationStatementSubquery, supportsJoinsInDelete, supportsLobValueChangePropagation, supportsLockTimeouts, supportsMaterializedLobAccess, supportsNamedColumnCheck, supportsNationalizedMethods, supportsNestedSubqueryCorrelation, supportsNestedWithClause, supportsNoColumnsInsert, supportsNonQueryWithCTE, supportsNoWait, supportsOffsetInSubquery, supportsOrderByInSubquery, supportsOrdinalSelectItemReference, supportsOuterJoinForUpdate, supportsPredicateAsExpression, supportsRecursiveCTE, supportsRecursiveCycleClause, supportsRecursiveCycleUsingClause, supportsRecursiveSearchClause, supportsRefCursors, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsRowConstructor, supportsRowValueConstructorDistinctFromSyntax, supportsRowValueConstructorGtLtSyntax, supportsRowValueConstructorSyntaxInInSubQuery, supportsSimpleQueryGrouping, supportsSkipLocked, supportsStandardArrays, supportsSubqueryInSelect, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTableOptions, supportsTemporalLiteralOffset, supportsTemporaryTablePrimaryKey, supportsTemporaryTables, supportsTruncateWithCast, supportsTupleCounts, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnionInSubquery, supportsUpdateReturning, supportsUserDefinedTypes, supportsValuesList, supportsValuesListForInsert, supportsWait, supportsWithClauseInSubquery, toBooleanValueString, toQuotedIdentifier, toString, transformSelectString, translateDurationField, unquoteGetGeneratedKeys, useArrayForMultiValuedParameters, useConnectionToCreateLob, useCrossReferenceForeignKeys, useFollowOnLocking, useInputStreamToInsertBlob
-
Constructor Details
-
SybaseAnywhereDialect
public SybaseAnywhereDialect() -
SybaseAnywhereDialect
public SybaseAnywhereDialect(org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo info) -
SybaseAnywhereDialect
public SybaseAnywhereDialect(org.hibernate.dialect.DatabaseVersion version)
-
-
Method Details
-
columnType
- 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
- Overrides:
currentDatein classorg.hibernate.dialect.Dialect
-
currentTime
- Overrides:
currentTimein classorg.hibernate.dialect.Dialect
-
currentTimestamp
- Overrides:
currentTimestampin classorg.hibernate.dialect.Dialect
-
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
-
getLockingSupport
public org.hibernate.dialect.lock.spi.LockingSupport getLockingSupport()- Overrides:
getLockingSupportin classorg.hibernate.dialect.SybaseDialect
-
getForUpdateString
- Overrides:
getForUpdateStringin classorg.hibernate.dialect.AbstractTransactSQLDialect
-
getForUpdateString
-
appendLockHint
-
applyLocksToSql
-
getLimitHandler
public org.hibernate.dialect.pagination.LimitHandler getLimitHandler()- Overrides:
getLimitHandlerin classorg.hibernate.dialect.Dialect
-
getDual
- Overrides:
getDualin classorg.hibernate.dialect.Dialect
-
getFromDualForSelectOnly
- Overrides:
getFromDualForSelectOnlyin classorg.hibernate.dialect.Dialect
-