Package org.hibernate.dialect
Class AbstractTransactSQLDialect
- java.lang.Object
-
- org.hibernate.dialect.Dialect
-
- org.hibernate.dialect.AbstractTransactSQLDialect
-
- All Implemented Interfaces:
FunctionContributor,TypeContributor,ConversionContext
- Direct Known Subclasses:
SQLServerDialect,SybaseDialect
public abstract class AbstractTransactSQLDialect extends Dialect
An abstract base class for Sybase and MS SQL Server dialects.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.hibernate.dialect.Dialect
Dialect.SizeStrategy, 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_DEFAULT_BATCH_LOAD_SIZING_STRATEGY, STREAM_XFER_LOB_MERGE_STRATEGY
-
-
Constructor Summary
Constructors Constructor Description AbstractTransactSQLDialect(DatabaseVersion version)AbstractTransactSQLDialect(DialectResolutionInfo info)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappendBinaryLiteral(SqlAppender appender, byte[] bytes)Append a binary literal to the givenSqlAppender.StringappendLockHint(LockOptions lockOptions, String tableName)Some dialects support an alternative means toSELECT FOR UPDATE, whereby a "lock hint" is appended to the table name in thefromclause.StringapplyLocksToSql(String sql, LockOptions aliasedLockOptions, Map<String,String[]> keyColumnNames)Modifies the given SQL, applying the appropriate updates for the specified lock modes and key columns.protected StringcolumnType(int sqlTypeCode)booleandoesReadCommittedCauseWritersToBlockReaders()For the underlying database, isREAD_COMMITTEDisolation implemented by forcing readers to wait for write locks to be released?booleandoesRepeatableReadCauseReadersToBlockWriters()For the underlying database, isREPEATABLE_READisolation implemented by forcing writers to wait for read locks to be released?StringgetAddColumnString()The subcommand of thealter tablecommand used to add a column to a table, usuallyadd columnoradd.StringgetCurrentTimestampSelectString()The command used to retrieve the current timestamp from the database.intgetDefaultStatementBatchSize()The default value to use for the configuration property "hibernate.jdbc.batch_size".SqmMultiTableInsertStrategygetFallbackSqmInsertStrategy(EntityMappingType entityDescriptor, RuntimeModelCreationContext runtimeModelCreationContext)TheSqmMultiTableInsertStrategyto use when not specified byQueryEngineOptions.getCustomSqmMultiTableInsertStrategy().SqmMultiTableMutationStrategygetFallbackSqmMutationStrategy(EntityMappingType entityDescriptor, RuntimeModelCreationContext runtimeModelCreationContext)TheSqmMultiTableMutationStrategyto use when not specified byQueryEngineOptions.getCustomSqmMultiTableMutationStrategy().StringgetForUpdateString()Get the string to append toSELECTstatements to acquire pessimistic UPGRADE locks for this dialect.IdentityColumnSupportgetIdentityColumnSupport()Get the appropriateIdentityColumnSupportfor this dialect.NullOrderinggetNullOrdering()Returns the default ordering of null.intgetPreferredSqlTypeCodeForBoolean()The JDBC type code to use for mapping properties of Java typeboolean.ResultSetgetResultSet(CallableStatement ps)Given a callable statement previously processed byDialect.registerResultSetOutParameter(java.sql.CallableStatement, int), extract theResultSetfrom theOUTparameter.StringgetSelectGUIDString()Get the command used to select a GUID from the database.TemporaryTableKindgetSupportedTemporaryTableKind()The kind of temporary tables that are supported on this database.org.hibernate.query.sqm.mutation.internal.temptable.AfterUseActiongetTemporaryTableAfterUseAction()The action to take after finishing use of a temporary table.org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseActiongetTemporaryTableBeforeUseAction()The action to take before beginning use of a temporary table.StringgetTemporaryTableCreateCommand()The command to create a temporary table.RowLockStrategygetWriteRowLockStrategy()The row lock strategy to use for write locks.voidinitializeFunctionRegistry(FunctionContributions functionContributions)Initialize the given registry with any dialect-specific functions.booleanisCurrentTimestampSelectStringCallable()Is the command returned byDialect.getCurrentTimestampSelectString()treated as callable?booleanqualifyIndexName()Do we need to qualify index names with the schema name?intregisterResultSetOutParameter(CallableStatement statement, int col)Registers a parameter capable of returning aResultSetby position, either anOUTparameter, or aREF_CURSORparameter as defined in Java 8.static StringreplaceLtrimRtrim(TrimSpec specification, char character)booleanrequiresCastForConcatenatingNonStrings()Does this dialect/database require casting of non-string arguments in theconcat()function?JdbcTyperesolveSqlTypeDescriptor(String columnTypeName, int jdbcTypeCode, int precision, int scale, JdbcTypeRegistry jdbcTypeRegistry)Assigns an appropriateJdbcTypeto a column of a JDBC result set based on the column type name, JDBC type code, precision, and scale.booleansupportsCurrentTimestampSelection()Does this dialect support some way to retrieve the current timestamp value from the database?booleansupportsExistsInSelect()Does the dialect support an exists statement in the select clause?booleansupportsPartitionBy()Does is dialect supportpartition by?booleansupportsTupleDistinctCounts()Does this dialect supportcount(distinct a,b)?StringtrimPattern(TrimSpec specification, char character)Obtain a pattern for the SQL equivalent to atrim()function call.-
Methods inherited from class org.hibernate.dialect.Dialect
addSqlHintOrComment, appendArrayLiteral, appendBooleanValueString, appendDatetimeFormat, appendDateTimeLiteral, appendDateTimeLiteral, appendDateTimeLiteral, appendIntervalLiteral, appendLiteral, appendUUIDLiteral, augmentPhysicalTableTypes, augmentRecognizedTableTypes, buildIdentifierHelper, buildSQLExceptionConversionDelegate, canBatchTruncate, canCreateCatalog, canCreateSchema, canDisableConstraints, castPattern, castType, checkVersion, closeQuote, contribute, contributeFunctions, contributeTypes, createOptionalTableUpdateOperation, currentDate, currentLocalTime, currentLocalTimestamp, currentTime, currentTimestamp, currentTimestampWithTimeZone, defaultScrollMode, dropConstraints, equivalentTypes, escapeComment, extractPattern, forceLobAsLastValue, generatedAs, getAddColumnSuffixString, getAddForeignKeyConstraintString, getAddForeignKeyConstraintString, getAddPrimaryKeyConstraintString, getAggregateSupport, getAlterColumnTypeString, getAlterTableString, getArrayTypeName, getAuxiliaryDatabaseObjectExporter, getCallableStatementSupport, getCascadeConstraintsString, getCaseInsensitiveLike, getCheckCondition, getCheckCondition, getColumnAliasExtractor, getColumnComment, getCreateCatalogCommand, getCreateIndexString, getCreateIndexTail, getCreateMultisetTableString, getCreateSchemaCommand, getCreateTableString, getCreateTemporaryTableColumnAnnotation, getCreateUserDefinedTypeExtensionsString, getCreateUserDefinedTypeKindString, getCurrentSchemaCommand, getDefaultBatchLoadSizingStrategy, getDefaultDecimalPrecision, getDefaultLobLength, getDefaultNonContextualLobCreation, getDefaultProperties, getDefaultTimestampPrecision, getDefaultUseGetGeneratedKeys, getDisableConstraintsStatement, getDisableConstraintStatement, 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, getLimitHandler, getLobMergeStrategy, getLockingStrategy, getLockRowIdentifier, getLowercaseFunction, getMaxAliasLength, getMaxIdentifierLength, getMaxNVarcharCapacity, getMaxNVarcharLength, getMaxVarbinaryCapacity, getMaxVarbinaryLength, getMaxVarcharCapacity, getMaxVarcharLength, getMinimumSupportedVersion, getNameQualifierSupport, getNationalizationSupport, getNativeIdentifierGenerationType, getNativeIdentifierGeneratorStrategy, getNativeParameterMarkerStrategy, getNoColumnsInsertString, getNullColumnString, getNullColumnString, getPreferredSqlTypeCodeForArray, getQueryHintString, getQueryHintString, getQuerySequencesString, getReadLockString, getReadLockString, getReadRowLockStrategy, getResultSet, getResultSet, getRowIdColumnString, getSchemaNameResolver, getSelectClauseNullString, getSequenceExporter, getSequenceInformationExtractor, getSequenceSupport, getSizeStrategy, getSqlAstTranslatorFactory, getSqmTranslatorFactory, getTableCleaner, getTableComment, getTableExporter, getTableMigrator, getTableTypeString, getTemporaryTableCreateOptions, getTemporaryTableDdlTransactionHandling, getTemporaryTableDropCommand, getTemporaryTableExporter, getTemporaryTableTruncateCommand, getTimeZoneSupport, getTruncateTableStatement, getTruncateTableStatements, getUniqueDelegate, getUniqueKeyExporter, getUserDefinedTypeComment, getUserDefinedTypeExporter, getVersion, getViolatedConstraintNameExtractor, getWriteLockString, getWriteLockString, hasAlterTable, hasDataTypeBeforeGeneratedAs, hasSelfReferentialForeignKeyBug, initDefaultProperties, inlineLiteral, isAnsiNullOn, isEmptyStringTreatedAsNull, isJdbcLogWarningsEnabledByDefault, isLockTimeoutParameterized, openQuote, ordinal, prependComment, quote, registerColumnTypes, registerDefaultKeywords, registerKeyword, registerKeywords, registerResultSetOutParameter, requiresFloatCastingOfIntegerDivision, requiresParensForTupleCounts, requiresParensForTupleDistinctCounts, resolveSqlTypeCode, resolveSqlTypeCode, resolveSqlTypeLength, rowId, rowIdSqlType, supportsAlterColumnType, supportsBindAsCallableArgument, supportsBitType, supportsCascadeDelete, supportsCaseInsensitiveLike, supportsCircularCascadeDeleteConstraints, supportsColumnCheck, supportsCommentOn, supportsDistinctFromPredicate, supportsExpectedLobUsagePattern, supportsFetchClause, supportsFractionalTimestampArithmetic, supportsIfExistsAfterAlterTable, supportsIfExistsAfterConstraintName, supportsIfExistsAfterTableName, supportsIfExistsAfterTypeName, supportsIfExistsBeforeConstraintName, supportsIfExistsBeforeTableName, supportsIfExistsBeforeTypeName, supportsInsertReturning, supportsInsertReturningGeneratedKeys, supportsJdbcConnectionLobCreation, supportsLateral, supportsLobValueChangePropagation, supportsLockTimeouts, supportsMaterializedLobAccess, supportsNamedParameters, supportsNoColumnsInsert, supportsNonQueryWithCTE, supportsNoWait, supportsNullPrecedence, supportsOffsetInSubquery, supportsOrderByInSubquery, supportsOrdinalSelectItemReference, supportsOuterJoinForUpdate, supportsParametersInInsertSelect, supportsPredicateAsExpression, supportsRecursiveCTE, supportsResultSetPositionQueryMethodsOnForwardOnlyCursor, supportsSkipLocked, supportsStandardArrays, supportsStandardCurrentTimestampFunction, supportsSubqueryInSelect, supportsSubqueryOnMutatingTable, supportsSubselectAsInPredicateLHS, supportsTableCheck, supportsTemporalLiteralOffset, supportsTemporaryTablePrimaryKey, supportsTemporaryTables, supportsTruncateWithCast, supportsTupleCounts, supportsUnboundedLobLocatorMaterialization, supportsUnionAll, supportsUnionInSubquery, supportsValuesList, supportsValuesListForInsert, supportsWait, supportsWindowFunctions, timestampaddPattern, timestampdiffPattern, toBooleanValueString, toQuotedIdentifier, toString, transformSelectString, translateDurationField, translateExtractField, useFollowOnLocking, useInputStreamToInsertBlob, useMaterializedLobWhenCapacityExceeded
-
-
-
-
Constructor Detail
-
AbstractTransactSQLDialect
public AbstractTransactSQLDialect(DatabaseVersion version)
-
AbstractTransactSQLDialect
public AbstractTransactSQLDialect(DialectResolutionInfo info)
-
-
Method Detail
-
columnType
protected String columnType(int sqlTypeCode)
Description copied from class:DialectThe database column type name for a given JDBC type code defined inTypesorSqlTypes. This default implementation returns the ANSI-standard type name.This method may be overridden by concrete
Dialects as an alternative toDialect.registerColumnTypes(TypeContributions, ServiceRegistry)for simple registrations.Note that:
- Implementations of this method are expected to define a
sensible mapping for
Types.NCLOBTypes.NCHAR, andTypes.NVARCHAR. On some database, these types are simply remapped toCLOB,CHAR, andVARCHAR. - Mappings for
Types.TIMESTAMPandTypes.TIMESTAMP_WITH_TIMEZONEshould support explicit specification of precision if possible. - As specified by
DdlTypeRegistry.getDescriptor(int), this method never receivesTypes.LONGVARCHAR,Types.LONGNVARCHAR, norTypes.LONGVARBINARY, which are considered synonyms for their non-LONGcounterparts. - On the other hand, the types
SqlTypes.LONG32VARCHAR,SqlTypes.LONG32NVARCHAR, andSqlTypes.LONG32VARBINARYare not synonyms, and implementations of this method must define sensible mappings, for example to database-nativeTEXTorCLOBtypes.
- Overrides:
columnTypein classDialect- Parameters:
sqlTypeCode- a SQLtype code- Returns:
- a column type name, with
$l,$p,$splaceholders for length, precision, scale - See Also:
SqlTypes
- Implementations of this method are expected to define a
sensible mapping for
-
getDefaultStatementBatchSize
public int getDefaultStatementBatchSize()
Description copied from class:DialectThe default value to use for the configuration property "hibernate.jdbc.batch_size".- Overrides:
getDefaultStatementBatchSizein classDialect
-
resolveSqlTypeDescriptor
public JdbcType resolveSqlTypeDescriptor(String columnTypeName, int jdbcTypeCode, int precision, int scale, JdbcTypeRegistry jdbcTypeRegistry)
Description copied from class:DialectAssigns an appropriateJdbcTypeto a column of a JDBC result set based on the column type name, JDBC type code, precision, and scale.- Overrides:
resolveSqlTypeDescriptorin classDialect- Parameters:
columnTypeName- the column type namejdbcTypeCode- thetype codeprecision- the precision or 0scale- the scale or 0- Returns:
- an appropriate instance of
JdbcType
-
getPreferredSqlTypeCodeForBoolean
public int getPreferredSqlTypeCodeForBoolean()
Description copied from class:DialectThe JDBC type code to use for mapping properties of Java typeboolean.Usually
Types.BOOLEANorTypes.BIT.- Overrides:
getPreferredSqlTypeCodeForBooleanin classDialect- Returns:
- one of the type codes defined by
Types.
-
initializeFunctionRegistry
public void initializeFunctionRegistry(FunctionContributions functionContributions)
Description copied from class:DialectInitialize the given registry with any dialect-specific functions.Support for certain SQL functions is required, and if the database does not support a required function, then the dialect must define a way to emulate it.
These required functions include the functions defined by the JPA query language specification:
-
avg(arg)- aggregate function -
count([distinct ]arg)- aggregate function -
max(arg)- aggregate function -
min(arg)- aggregate function -
sum(arg)- aggregate function
-
coalesce(arg0, arg1, ...) -
nullif(arg0, arg1)
-
lower(arg) -
upper(arg) -
length(arg) -
concat(arg0, arg1, ...) -
locate(pattern, string[, start]) -
substring(string, start[, length]) -
trim([[spec ][character ]from] string)
-
abs(arg) -
mod(arg0, arg1) -
sqrt(arg)
-
current date -
current time -
current timestamp
-
any(arg)- aggregate function -
every(arg)- aggregate function
-
var_samp(arg)- aggregate function -
var_pop(arg)- aggregate function -
stddev_samp(arg)- aggregate function -
stddev_pop(arg)- aggregate function
-
cast(arg as Type) -
extract(field from arg)
-
ln(arg) -
exp(arg) -
power(arg0, arg1) -
floor(arg) -
ceiling(arg)
-
position(pattern in string) -
substring(string from start[ for length]) -
overlay(string placing replacement from start[ for length])
java.timetypes:-
local date -
local time -
local datetime -
offset datetime -
instant
-
left(string, length) -
right(string, length) -
replace(string, pattern, replacement) -
pad(string with length spec[ character])
-
pi -
log10(arg) -
log(base, arg) -
sign(arg) -
sin(arg) -
cos(arg) -
tan(arg) -
asin(arg) -
acos(arg) -
atan(arg) -
atan2(arg0, arg1) -
round(arg0[, arg1]) -
truncate(arg0[, arg1]) -
sinh(arg) -
tanh(arg) -
cosh(arg) -
least(arg0, arg1, ...) -
greatest(arg0, arg1, ...) -
degrees(arg) -
radians(arg)
-
format(datetime as pattern) -
collate(string as collation) -
str(arg)- synonym ofcast(a as String) -
ifnull(arg0, arg1)- synonym ofcoalesce(a, b)
extract(), and desugared by the parser:-
second(arg)- synonym ofextract(second from a) -
minute(arg)- synonym ofextract(minute from a) -
hour(arg)- synonym ofextract(hour from a) -
day(arg)- synonym ofextract(day from a) -
month(arg)- synonym ofextract(month from a) -
year(arg)- synonym ofextract(year from a)
second()function returns a floating point value, contrary to the integer type returned by the native function with this name on many databases. Thus, we don't just naively map these HQL functions to the native SQL functions with the same names.- Overrides:
initializeFunctionRegistryin classDialect
-
-
trimPattern
public String trimPattern(TrimSpec specification, char character)
Description copied from class:DialectObtain a pattern for the SQL equivalent to atrim()function call. The resulting pattern must contain a ?1 placeholder for the argument of typeString.- Overrides:
trimPatternin classDialect- Parameters:
specification-leadingortrailingcharacter- the character to trim
-
getAddColumnString
public String getAddColumnString()
Description copied from class:DialectThe subcommand of thealter tablecommand used to add a column to a table, usuallyadd columnoradd.- Overrides:
getAddColumnStringin classDialect- Returns:
- The
add columnfragment.
-
qualifyIndexName
public boolean qualifyIndexName()
Description copied from class:DialectDo we need to qualify index names with the schema name?- Overrides:
qualifyIndexNamein classDialect- Returns:
trueif we do
-
getForUpdateString
public String getForUpdateString()
Description copied from class:DialectGet the string to append toSELECTstatements to acquire pessimistic UPGRADE locks for this dialect.- Overrides:
getForUpdateStringin classDialect- Returns:
- The appropriate
FOR UPDATEclause string.
-
getWriteRowLockStrategy
public RowLockStrategy getWriteRowLockStrategy()
Description copied from class:DialectThe row lock strategy to use for write locks.- Overrides:
getWriteRowLockStrategyin classDialect
-
appendLockHint
public String appendLockHint(LockOptions lockOptions, String tableName)
Description copied from class:DialectSome dialects support an alternative means toSELECT FOR UPDATE, whereby a "lock hint" is appended to the table name in thefromclause.- Overrides:
appendLockHintin classDialect- Parameters:
lockOptions- The lock options to applytableName- The name of the table to which to apply the lock hint.- Returns:
- The table with any required lock hints.
-
applyLocksToSql
public String applyLocksToSql(String sql, LockOptions aliasedLockOptions, Map<String,String[]> keyColumnNames)
Description copied from class:DialectModifies the given SQL, applying the appropriate updates for the specified lock modes and key columns.This allows emulation of
SELECT FOR UPDATEfor dialects which do not support the standard syntax.- Overrides:
applyLocksToSqlin classDialect- Parameters:
sql- the SQL string to modifyaliasedLockOptions- lock options indexed by aliased table names.keyColumnNames- a map of key columns indexed by aliased table names.- Returns:
- the modified SQL string.
-
registerResultSetOutParameter
public int registerResultSetOutParameter(CallableStatement statement, int col) throws SQLException
Description copied from class:DialectRegisters a parameter capable of returning aResultSetby position, either anOUTparameter, or aREF_CURSORparameter as defined in Java 8.- Overrides:
registerResultSetOutParameterin classDialect- Parameters:
statement- The callable statement.col- The bind position at which to register the output param.- Returns:
- The number of (contiguous) bind positions used.
- Throws:
SQLException- Indicates problems registering the param.
-
getResultSet
public ResultSet getResultSet(CallableStatement ps) throws SQLException
Description copied from class:DialectGiven a callable statement previously processed byDialect.registerResultSetOutParameter(java.sql.CallableStatement, int), extract theResultSetfrom theOUTparameter.- Overrides:
getResultSetin classDialect- Parameters:
ps- The callable statement.- Returns:
- The extracted result set.
- Throws:
SQLException- Indicates problems extracting the result set.
-
supportsCurrentTimestampSelection
public boolean supportsCurrentTimestampSelection()
Description copied from class:DialectDoes this dialect support some way to retrieve the current timestamp value from the database?- Overrides:
supportsCurrentTimestampSelectionin classDialect- Returns:
- True if the current timestamp can be retrieved; false otherwise.
-
isCurrentTimestampSelectStringCallable
public boolean isCurrentTimestampSelectStringCallable()
Description copied from class:DialectIs the command returned byDialect.getCurrentTimestampSelectString()treated as callable?Typically, this indicates the use of the JDBC escape syntax.
- Overrides:
isCurrentTimestampSelectStringCallablein classDialect- Returns:
- if the
Dialect.getCurrentTimestampSelectString()is treated as callable; false otherwise.
-
getCurrentTimestampSelectString
public String getCurrentTimestampSelectString()
Description copied from class:DialectThe command used to retrieve the current timestamp from the database.- Overrides:
getCurrentTimestampSelectStringin classDialect
-
getNullOrdering
public NullOrdering getNullOrdering()
Description copied from class:DialectReturns the default ordering of null.- Overrides:
getNullOrderingin classDialect
-
requiresCastForConcatenatingNonStrings
public boolean requiresCastForConcatenatingNonStrings()
Description copied from class:DialectDoes this dialect/database require casting of non-string arguments in theconcat()function?- Overrides:
requiresCastForConcatenatingNonStringsin classDialect- Returns:
trueif casting usingcast()is required
-
getFallbackSqmMutationStrategy
public SqmMultiTableMutationStrategy getFallbackSqmMutationStrategy(EntityMappingType entityDescriptor, RuntimeModelCreationContext runtimeModelCreationContext)
Description copied from class:DialectTheSqmMultiTableMutationStrategyto use when not specified byQueryEngineOptions.getCustomSqmMultiTableMutationStrategy().
-
getFallbackSqmInsertStrategy
public SqmMultiTableInsertStrategy getFallbackSqmInsertStrategy(EntityMappingType entityDescriptor, RuntimeModelCreationContext runtimeModelCreationContext)
Description copied from class:DialectTheSqmMultiTableInsertStrategyto use when not specified byQueryEngineOptions.getCustomSqmMultiTableInsertStrategy().
-
getSupportedTemporaryTableKind
public TemporaryTableKind getSupportedTemporaryTableKind()
Description copied from class:DialectThe kind of temporary tables that are supported on this database.- Overrides:
getSupportedTemporaryTableKindin classDialect
-
getTemporaryTableCreateCommand
public String getTemporaryTableCreateCommand()
Description copied from class:DialectThe command to create a temporary table.- Overrides:
getTemporaryTableCreateCommandin classDialect
-
getTemporaryTableAfterUseAction
public org.hibernate.query.sqm.mutation.internal.temptable.AfterUseAction getTemporaryTableAfterUseAction()
Description copied from class:DialectThe action to take after finishing use of a temporary table.- Overrides:
getTemporaryTableAfterUseActionin classDialect
-
getTemporaryTableBeforeUseAction
public org.hibernate.query.sqm.mutation.internal.temptable.BeforeUseAction getTemporaryTableBeforeUseAction()
Description copied from class:DialectThe action to take before beginning use of a temporary table.- Overrides:
getTemporaryTableBeforeUseActionin classDialect
-
getSelectGUIDString
public String getSelectGUIDString()
Description copied from class:DialectGet the command used to select a GUID from the database.Optional operation.
- Overrides:
getSelectGUIDStringin classDialect- Returns:
- The appropriate command.
-
supportsExistsInSelect
public boolean supportsExistsInSelect()
Description copied from class:DialectDoes the dialect support an exists statement in the select clause?- Overrides:
supportsExistsInSelectin classDialect- Returns:
- True if exists checks are allowed in the select clause; false otherwise.
-
doesReadCommittedCauseWritersToBlockReaders
public boolean doesReadCommittedCauseWritersToBlockReaders()
Description copied from class:DialectFor the underlying database, isREAD_COMMITTEDisolation implemented by forcing readers to wait for write locks to be released?- Overrides:
doesReadCommittedCauseWritersToBlockReadersin classDialect- Returns:
- True if writers block readers to achieve
READ_COMMITTED; false otherwise.
-
doesRepeatableReadCauseReadersToBlockWriters
public boolean doesRepeatableReadCauseReadersToBlockWriters()
Description copied from class:DialectFor the underlying database, isREPEATABLE_READisolation implemented by forcing writers to wait for read locks to be released?- Overrides:
doesRepeatableReadCauseReadersToBlockWritersin classDialect- Returns:
- True if readers block writers to achieve
REPEATABLE_READ; false otherwise.
-
supportsTupleDistinctCounts
public boolean supportsTupleDistinctCounts()
Description copied from class:DialectDoes this dialect supportcount(distinct a,b)?- Overrides:
supportsTupleDistinctCountsin classDialect- Returns:
- True if the database supports counting distinct tuples; false otherwise.
-
getIdentityColumnSupport
public IdentityColumnSupport getIdentityColumnSupport()
Description copied from class:DialectGet the appropriateIdentityColumnSupportfor this dialect.- Overrides:
getIdentityColumnSupportin classDialect- Returns:
- the IdentityColumnSupport
-
supportsPartitionBy
public boolean supportsPartitionBy()
Description copied from class:DialectDoes is dialect supportpartition by?- Overrides:
supportsPartitionByin classDialect
-
appendBinaryLiteral
public void appendBinaryLiteral(SqlAppender appender, byte[] bytes)
Description copied from class:DialectAppend a binary literal to the givenSqlAppender.- Overrides:
appendBinaryLiteralin classDialect
-
-