Top Description Inners Fields Constructors Methods
org.hibernate.dialect

public Class SQLServerSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>

extends SqlAstTranslatorWithMerge<T extends JdbcOperation>
Class Inheritance
Imports
java.util.List, org.hibernate.LockMode, .LockOptions, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.metamodel.mapping.JdbcMappingContainer, org.hibernate.query.sqm.ComparisonOperator, .FetchClauseType, org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor, .SelfRenderingFunctionSqlAstExpression, org.hibernate.sql.ast.Clause, .SqlAstJoinType, org.hibernate.sql.ast.spi.SqlSelection, org.hibernate.sql.ast.tree.Statement, org.hibernate.sql.ast.tree.expression.BinaryArithmeticExpression, .Expression, .Literal, .SqlTuple, .Summarization, org.hibernate.sql.ast.tree.from.NamedTableReference, .TableGroup, .TableGroupJoin, .TableReference, .UnionTableReference, org.hibernate.sql.ast.tree.predicate.Predicate, org.hibernate.sql.ast.tree.select.QueryGroup, .QueryPart, .QuerySpec, .SelectClause, .SortSpecification, org.hibernate.sql.exec.spi.JdbcOperation, org.hibernate.sql.model.internal.OptionalTableUpdate, org.hibernate.type.SqlTypes

A SQL AST translator for SQL Server.
Author
Christian Beikov

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static enum

Field Summary

Modifier and TypeField and Description
private Predicate
private static final String

Constructor Summary

AccessConstructor and Description
public
SQLServerSqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement)

Deprecated as a consequence of SessionFactoryImplementor being deprecated.

Method Summary

Modifier and TypeMethod and Description
protected SQLServerSqlAstTranslator.OffsetFetchClauseMode
protected boolean
needsRecursiveKeywordInWithClause()

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.needsRecursiveKeywordInWithClause.

Whether the SQL with clause requires the "recursive" keyword for recursive CTEs.
protected boolean
protected void
protected void
protected void
private void
protected void
renderMergeStatement(OptionalTableUpdate optionalTableUpdate)

Overrides org.hibernate.dialect.SqlAstTranslatorWithMerge.renderMergeStatement.

Renders the OptionalTableUpdate as a MERGE query.
protected boolean
protected void
protected void
protected boolean
protected void
protected void
protected void
protected boolean
protected boolean
supportsRowValueConstructorSyntax()

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.supportsRowValueConstructorSyntax.

Is this dialect known to support what ANSI-SQL terms "row value constructor" syntax; sometimes called tuple syntax.
protected boolean
protected boolean
supportsRowValueConstructorSyntaxInQuantifiedPredicates()

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.supportsRowValueConstructorSyntaxInQuantifiedPredicates.

Is this dialect known to support what ANSI-SQL terms "row value constructor" syntax; sometimes called tuple syntax with quantified predicates.
protected boolean
protected boolean
supportsWithClauseInSubquery()

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.supportsWithClauseInSubquery.

Whether the SQL with clause is supported within a subquery.
public void
public void
public void
public void
public void
protected void
Inherited from org.hibernate.dialect.SqlAstTranslatorWithMerge:
createMergeOperationrenderMergeDeleterenderMergeInsertrenderMergeIntorenderMergeOnrenderMergeSourceAliasrenderMergeTargetAliasrenderMergeUpdaterenderMergeUsingrenderMergeUsingQuerySelection

Field Detail

lateralPredicateback to summary
private Predicate lateralPredicate
UNION_ALLback to summary
private static final String UNION_ALL

Constructor Detail

SQLServerSqlAstTranslatorback to summary
public SQLServerSqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement)

Deprecated

as a consequence of SessionFactoryImplementor being deprecated. See corresponding docs for further information.

Method Detail

getOffsetFetchClauseModeback to summary
protected SQLServerSqlAstTranslator.OffsetFetchClauseMode getOffsetFetchClauseMode(QueryPart queryPart)
needsRecursiveKeywordInWithClauseback to summary
protected boolean needsRecursiveKeywordInWithClause()

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.needsRecursiveKeywordInWithClause.

Doc from org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.needsRecursiveKeywordInWithClause.

Whether the SQL with clause requires the "recursive" keyword for recursive CTEs.

Annotations
@Override
needsRowsToSkipback to summary
protected boolean needsRowsToSkip()

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.needsRowsToSkip.

Annotations
@Override
renderComparisonback to summary
protected void renderComparison(Expression lhs, ComparisonOperator operator, Expression rhs)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.renderComparison.

Annotations
@Override
renderEmptyOrderByback to summary
protected void renderEmptyOrderBy()
renderForUpdateClauseback to summary
protected void renderForUpdateClause(QuerySpec querySpec, AbstractSqlAstTranslator.ForUpdateClause forUpdateClause)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.renderForUpdateClause.

Annotations
@Override
renderLockHintback to summary
private void renderLockHint(LockMode lockMode)
renderMergeStatementback to summary
protected void renderMergeStatement(OptionalTableUpdate optionalTableUpdate)

Overrides org.hibernate.dialect.SqlAstTranslatorWithMerge.renderMergeStatement.

Doc from org.hibernate.dialect.SqlAstTranslatorWithMerge.renderMergeStatement.

Renders the OptionalTableUpdate as a MERGE query.

renderNamedTableReferenceback to summary
protected boolean renderNamedTableReference(NamedTableReference tableReference, LockMode lockMode)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.renderNamedTableReference.

Annotations
@Override
renderOrderByback to summary
protected void renderOrderBy(boolean addWhitespace, List<SortSpecification> sortSpecifications)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.renderOrderBy.

Annotations
@Override
renderPartitionItemback to summary
protected void renderPartitionItem(Expression expression)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.renderPartitionItem.

Annotations
@Override
renderPrimaryTableReferenceback to summary
protected boolean renderPrimaryTableReference(TableGroup tableGroup, LockMode lockMode)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.renderPrimaryTableReference.

renderSelectTupleComparisonback to summary
protected void renderSelectTupleComparison(List<SqlSelection> lhsExpressions, SqlTuple tuple, ComparisonOperator operator)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.renderSelectTupleComparison.

Annotations
@Override
renderStringContainsExactlyPredicateback to summary
protected void renderStringContainsExactlyPredicate(Expression haystack, Expression needle)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.renderStringContainsExactlyPredicate.

Annotations
@Override
renderTableGroupJoinback to summary
protected void renderTableGroupJoin(TableGroupJoin tableGroupJoin, List<TableGroupJoin> tableGroupJoinCollector)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.renderTableGroupJoin.

Annotations
@Override
shouldEmulateFetchClauseback to summary
protected boolean shouldEmulateFetchClause(QueryPart queryPart)
supportsRowValueConstructorSyntaxback to summary
protected boolean supportsRowValueConstructorSyntax()

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.supportsRowValueConstructorSyntax.

Doc from org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.supportsRowValueConstructorSyntax.

Is this dialect known to support what ANSI-SQL terms "row value constructor" syntax; sometimes called tuple syntax.

Basically, does it support syntax like ... where (FIRST_NAME, LAST_NAME) = ('Steve', 'Ebersole') ...

Returns:boolean

True if this SQL dialect is known to support "row value constructor" syntax; false otherwise.

Annotations
@Override
supportsRowValueConstructorSyntaxInInListback to summary
protected boolean supportsRowValueConstructorSyntaxInInList()

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.supportsRowValueConstructorSyntaxInInList.

Doc from org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.supportsRowValueConstructorSyntaxInInList.

If the dialect supports row values, does it offer such support in IN lists as well?

For example, ... where (FIRST_NAME, LAST_NAME) IN ( (?, ?), (?, ?) ) ...

Returns:boolean

True if this SQL dialect is known to support "row value constructor" syntax in the IN list; false otherwise.

Annotations
@Override
supportsRowValueConstructorSyntaxInQuantifiedPredicatesback to summary
protected boolean supportsRowValueConstructorSyntaxInQuantifiedPredicates()

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.supportsRowValueConstructorSyntaxInQuantifiedPredicates.

Doc from org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.supportsRowValueConstructorSyntaxInQuantifiedPredicates.

Is this dialect known to support what ANSI-SQL terms "row value constructor" syntax; sometimes called tuple syntax with quantified predicates.

Basically, does it support syntax like ... where (FIRST_NAME, LAST_NAME) = ALL (select ...) ...

Returns:boolean

True if this SQL dialect is known to support "row value constructor" syntax with quantified predicates; false otherwise.

Annotations
@Override
supportsSimpleQueryGroupingback to summary
protected boolean supportsSimpleQueryGrouping()

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.supportsSimpleQueryGrouping.

Annotations
@Override
supportsWithClauseInSubqueryback to summary
protected boolean supportsWithClauseInSubquery()

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.supportsWithClauseInSubquery.

Doc from org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.supportsWithClauseInSubquery.

Whether the SQL with clause is supported within a subquery.

Annotations
@Override
visitBinaryArithmeticExpressionback to summary
public void visitBinaryArithmeticExpression(BinaryArithmeticExpression arithmeticExpression)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.visitBinaryArithmeticExpression.

Implements org.hibernate.sql.ast.SqlAstWalker.visitBinaryArithmeticExpression.

Annotations
@Override
visitOffsetFetchClauseback to summary
public void visitOffsetFetchClause(QueryPart queryPart)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.visitOffsetFetchClause.

Implements org.hibernate.sql.ast.SqlAstWalker.visitOffsetFetchClause.

Annotations
@Override
visitQueryGroupback to summary
public void visitQueryGroup(QueryGroup queryGroup)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.visitQueryGroup.

Implements org.hibernate.sql.ast.SqlAstWalker.visitQueryGroup.

Annotations
@Override
visitQuerySpecback to summary
public void visitQuerySpec(QuerySpec querySpec)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.visitQuerySpec.

Implements org.hibernate.sql.ast.SqlAstWalker.visitQuerySpec.

Annotations
@Override
visitSelectClauseback to summary
public void visitSelectClause(SelectClause selectClause)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.visitSelectClause.

Implements org.hibernate.sql.ast.SqlAstWalker.visitSelectClause.

Annotations
@Override
visitSqlSelectionsback to summary
protected void visitSqlSelections(SelectClause selectClause)

Overrides org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.visitSqlSelections.

Annotations
@Override
org.hibernate.dialect back to summary

pack-priv final Enum SQLServerSqlAstTranslator.OffsetFetchClauseMode

extends Enum<SQLServerSqlAstTranslator.OffsetFetchClauseMode>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final SQLServerSqlAstTranslator.OffsetFetchClauseMode
public static final SQLServerSqlAstTranslator.OffsetFetchClauseMode
public static final SQLServerSqlAstTranslator.OffsetFetchClauseMode

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static SQLServerSqlAstTranslator.OffsetFetchClauseMode
public static SQLServerSqlAstTranslator.OffsetFetchClauseMode[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

EMULATEDback to summary
public static final SQLServerSqlAstTranslator.OffsetFetchClauseMode EMULATED
STANDARDback to summary
public static final SQLServerSqlAstTranslator.OffsetFetchClauseMode STANDARD
TOP_ONLYback to summary
public static final SQLServerSqlAstTranslator.OffsetFetchClauseMode TOP_ONLY

Constructor Detail

OffsetFetchClauseModeback to summary
private OffsetFetchClauseMode()

Method Detail

valueOfback to summary
public static SQLServerSqlAstTranslator.OffsetFetchClauseMode valueOf(String name)
valuesback to summary
public static SQLServerSqlAstTranslator.OffsetFetchClauseMode[] values()