Package org.hibernate.community.dialect
Class SQLServerLegacySqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
- java.lang.Object
-
- org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T>
-
- org.hibernate.community.dialect.SQLServerLegacySqlAstTranslator<T>
-
- All Implemented Interfaces:
Appendable,org.hibernate.sql.ast.spi.SqlAppender,org.hibernate.sql.ast.SqlAstTranslator<T>,org.hibernate.sql.ast.SqlAstWalker
public class SQLServerLegacySqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation> extends org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T>A SQL AST translator for SQL Server.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator
org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.ForUpdateClause, org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.LockStrategy, org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.SubQueryRelationalRestrictionEmulationRenderer<X extends org.hibernate.sql.ast.tree.expression.Expression>
-
-
Constructor Summary
Constructors Constructor Description SQLServerLegacySqlAstTranslator(org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory, org.hibernate.sql.ast.tree.Statement statement)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.hibernate.community.dialect.SQLServerLegacySqlAstTranslator.OffsetFetchClauseModegetOffsetFetchClauseMode(org.hibernate.sql.ast.tree.select.QueryPart queryPart)protected booleanneedsRecursiveKeywordInWithClause()protected booleanneedsRowsToSkip()protected voidrenderComparison(org.hibernate.sql.ast.tree.expression.Expression lhs, org.hibernate.query.sqm.ComparisonOperator operator, org.hibernate.sql.ast.tree.expression.Expression rhs)protected voidrenderEmptyOrderBy()protected voidrenderForUpdateClause(org.hibernate.sql.ast.tree.select.QuerySpec querySpec, org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.ForUpdateClause forUpdateClause)protected booleanrenderNamedTableReference(org.hibernate.sql.ast.tree.from.NamedTableReference tableReference, org.hibernate.LockMode lockMode)protected voidrenderOrderBy(boolean addWhitespace, List<org.hibernate.sql.ast.tree.select.SortSpecification> sortSpecifications)protected voidrenderPartitionItem(org.hibernate.sql.ast.tree.expression.Expression expression)protected booleanrenderPrimaryTableReference(org.hibernate.sql.ast.tree.from.TableGroup tableGroup, org.hibernate.LockMode lockMode)protected voidrenderSelectTupleComparison(List<org.hibernate.sql.ast.spi.SqlSelection> lhsExpressions, org.hibernate.sql.ast.tree.expression.SqlTuple tuple, org.hibernate.query.sqm.ComparisonOperator operator)protected voidrenderTableGroupJoin(org.hibernate.sql.ast.tree.from.TableGroupJoin tableGroupJoin, List<org.hibernate.sql.ast.tree.from.TableGroupJoin> tableGroupJoinCollector)protected booleanshouldEmulateFetchClause(org.hibernate.sql.ast.tree.select.QueryPart queryPart)protected booleansupportsRowValueConstructorSyntax()protected booleansupportsRowValueConstructorSyntaxInInList()protected booleansupportsRowValueConstructorSyntaxInQuantifiedPredicates()protected booleansupportsSimpleQueryGrouping()protected booleansupportsWithClauseInSubquery()voidvisitBinaryArithmeticExpression(org.hibernate.sql.ast.tree.expression.BinaryArithmeticExpression arithmeticExpression)voidvisitOffsetFetchClause(org.hibernate.sql.ast.tree.select.QueryPart queryPart)voidvisitQueryGroup(org.hibernate.sql.ast.tree.select.QueryGroup queryGroup)voidvisitQuerySpec(org.hibernate.sql.ast.tree.select.QuerySpec querySpec)voidvisitSelectClause(org.hibernate.sql.ast.tree.select.SelectClause selectClause)protected voidvisitSqlSelections(org.hibernate.sql.ast.tree.select.SelectClause selectClause)-
Methods inherited from class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator
addAdditionalWherePredicate, addAppliedParameterBinding, append, append, append, appendBackslashEscapedLikeLiteral, appendSql, appendSql, appendSql, appendSql, appendSql, applyParameter, areAllResultsParameters, areAllResultsParameters, assertRowsOnlyFetchClauseType, castFunction, castNumberToString, cleanup, determineCyclePathColumnName, determineLateralEmulationPredicate, determineLockingStrategy, emulateCycleClauseWithRowAndArray, emulateFetchOffsetWithWindowFunctions, emulateFetchOffsetWithWindowFunctions, emulateFetchOffsetWithWindowFunctionsVisitQueryPart, emulateQuantifiedTupleSubQueryPredicate, emulateQueryPartTableReferenceColumnAliasing, emulateSearchClauseOrderWithRowAndArray, emulateSelectTupleComparison, emulateSortSpecificationNullPrecedence, emulateSubQueryRelationalRestrictionPredicate, emulateTupleComparison, emulateValuesTableReferenceColumnAliasing, getAffectedTableNames, getAppliedParameterBindings, getArrayContainsFunction, getBooleanType, getClauseStack, getCteStatement, getCurrentClauseStack, getCurrentCteStatement, getCurrentDmlStatement, getCurrentQueryPart, getDialect, getDmlTargetTableAlias, getEffectiveLockMode, getEffectiveLockTimeout, getFetchClauseTypeForRowNumbering, getFilterJdbcParameters, getForShare, getForUpdate, getForUpdateWithClause, getFromDual, getFromDualForSelectOnly, getIntegerType, getJdbcLockStrategy, getJdbcParameterBindings, getJdbcServices, getLeftHandExpression, getLimit, getLimitParameter, getLockOptions, getMaxRows, getNoWait, getOffsetParameter, getParameterBinders, getParameterBindValue, getParameterRenderingMode, getQueryPartForRowNumbering, getQueryPartStack, getRowsToSkip, getSelectItemReference, getSessionFactory, getSkipLocked, getSortSpecificationsRowNumbering, getSql, getSqlAppender, getStatement, getStringType, getWrapperOptions, hasAggregateFunctions, hasLimit, hasNestedTableGroupsToRender, hasOffset, inlineCteTableGroup, inOverOrWithinGroupClause, interpretExpression, isCorrelated, isInRecursiveQueryPart, isLiteral, isParameter, isRowNumberingCurrentQueryPart, isRowsOnlyFetchClauseType, isStruct, needsCteInlining, needsMaxRows, prepareLimitOffsetParameters, processNestedTableGroupJoins, processTableGroupJoin, processTableGroupJoins, registerAffectedTable, registerAffectedTable, render, renderAsLiteral, renderBackslashEscapedLikePattern, renderCaseInsensitiveLikeEmulation, renderCasted, renderCombinedLimitClause, renderCombinedLimitClause, renderCommaSeparated, renderCommaSeparatedSelectExpression, renderCommaSeparatedSelectExpression, renderComparisonDistinctOperator, renderComparisonEmulateCase, renderComparisonEmulateDecode, renderComparisonEmulateIntersect, renderComparisonStandard, renderCteColumns, renderCycleClause, renderDerivedTableReference, renderExpressionAsClauseItem, renderExpressionAsLiteral, renderExpressionsAsSubquery, renderFetch, renderFetchExpression, renderFetchPlusOffsetExpression, renderFetchPlusOffsetExpressionAsLiteral, renderFetchPlusOffsetExpressionAsSingleParameter, renderFirstClause, renderFirstClause, renderFirstSkipClause, renderFirstSkipClause, renderInsertIntoNoColumns, renderIntoIntoAndTable, renderLimitOffsetClause, renderLimitOffsetClause, renderLiteral, renderMaterializationHint, renderOffset, renderOffsetExpression, renderOffsetFetchClause, renderOffsetFetchClause, renderParameterAsParameter, renderQueryGroup, renderRecursiveCteVirtualSelections, renderRootTableGroup, renderRowNumber, renderRowNumberingSelectItems, renderRowsToClause, renderRowsToClause, renderSearchClause, renderSelectExpression, renderSelectExpressionWithCastedOrInlinedPlainParameters, renderSelectSimpleComparison, renderSetClause, renderSkipFirstClause, renderSkipFirstClause, rendersTableReferenceAlias, renderStandardCycleClause, renderStandardSearchClause, renderTableGroup, renderTableReferenceIdentificationVariable, renderTableReferenceJoins, renderTopClause, renderTopClause, renderTopStartAtClause, renderTopStartAtClause, renderTupleComparisonStandard, renderVirtualSelections, resolveAliasedExpression, resolveAliasedExpression, resolveExpressionToAlias, setLimitParameter, setOffsetParameter, shouldEmulateLateralWithIntersect, shouldInlineCte, supportsArrayConstructor, supportsDistinctFromPredicate, supportsDuplicateSelectItemsInQueryGroup, supportsFilterClause, supportsIntersect, supportsNestedSubqueryCorrelation, supportsNestedWithClause, supportsNullPrecedence, supportsQuantifiedPredicates, supportsRecursiveClauseArrayAndRowEmulation, supportsRecursiveCycleClause, supportsRecursiveCycleUsingClause, supportsRecursiveSearchClause, supportsRowConstructor, supportsRowValueConstructorDistinctFromSyntax, supportsRowValueConstructorGtLtSyntax, supportsRowValueConstructorSyntaxInInSubQuery, supportsRowValueConstructorSyntaxInSet, supportsWithClause, translate, translateDelete, translateInsert, translateSelect, translateUpdate, useOffsetFetchClause, visitAggregateColumnWriteExpression, visitAnsiCaseSearchedExpression, visitAnsiCaseSimpleExpression, visitAny, visitAssignment, visitBetweenPredicate, visitBooleanExpressionPredicate, visitCaseSearchedExpression, visitCaseSearchedExpression, visitCaseSimpleExpression, visitCaseSimpleExpression, visitCastTarget, visitCollation, visitColumnReference, visitColumnWriteFragment, visitConversion, visitCteContainer, visitCteDefinition, visitCustomTableDelete, visitCustomTableInsert, visitCustomTableUpdate, visitDecodeCaseSearchedExpression, visitDeleteStatement, visitDeleteStatementOnly, visitDistinct, visitDuration, visitDurationUnit, visitEntityTypeLiteral, visitEvery, visitExistsPredicate, visitExtractUnit, visitFilterFragmentPredicate, visitFilterPredicate, visitFormat, visitForUpdateClause, visitFromClause, visitFunctionTableReference, visitGroupByClause, visitGroupedPredicate, visitHavingClause, visitInListPredicate, visitInsertStatement, visitInsertStatementOnly, visitInSubQueryPredicate, visitJdbcLiteral, visitJunction, visitLikePredicate, visitModifiedSubQueryExpression, visitNamedTableReference, visitNegatedPredicate, visitNullnessPredicate, visitOrderBy, visitOver, visitOverClause, visitOverClause, visitOverflow, visitParameter, visitParameterAsParameter, visitPartitionByClause, visitPartitionExpressions, visitPartitionExpressions, visitQueryLiteral, visitQueryPartTableReference, visitRecursivePath, visitRelationalPredicate, visitReturningColumns, visitReturningColumns, visitSelectStatement, visitSelfRenderingExpression, visitSelfRenderingPredicate, visitSetAssignment, visitSortSpecification, visitSortSpecification, visitSqlFragmentPredicate, visitSqlSelectExpression, visitSqlSelection, visitSqlSelectionExpression, visitStandardTableDelete, visitStandardTableInsert, visitStandardTableUpdate, visitStar, visitSummarization, visitTableGroup, visitTableGroupJoin, visitTableReferenceJoin, visitTrimSpecification, visitTuple, visitUnaryOperationExpression, visitUpdateStatement, visitUpdateStatementOnly, visitValuesList, visitValuesTableReference, visitWhereClause, withParameterRenderingMode, withRowNumbering
-
-
-
-
Method Detail
-
needsRecursiveKeywordInWithClause
protected boolean needsRecursiveKeywordInWithClause()
- Overrides:
needsRecursiveKeywordInWithClausein classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
supportsWithClauseInSubquery
protected boolean supportsWithClauseInSubquery()
- Overrides:
supportsWithClauseInSubqueryin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
renderTableGroupJoin
protected void renderTableGroupJoin(org.hibernate.sql.ast.tree.from.TableGroupJoin tableGroupJoin, List<org.hibernate.sql.ast.tree.from.TableGroupJoin> tableGroupJoinCollector)- Overrides:
renderTableGroupJoinin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
renderPrimaryTableReference
protected boolean renderPrimaryTableReference(org.hibernate.sql.ast.tree.from.TableGroup tableGroup, org.hibernate.LockMode lockMode)- Overrides:
renderPrimaryTableReferencein classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
renderNamedTableReference
protected boolean renderNamedTableReference(org.hibernate.sql.ast.tree.from.NamedTableReference tableReference, org.hibernate.LockMode lockMode)- Overrides:
renderNamedTableReferencein classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
renderForUpdateClause
protected void renderForUpdateClause(org.hibernate.sql.ast.tree.select.QuerySpec querySpec, org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.ForUpdateClause forUpdateClause)- Overrides:
renderForUpdateClausein classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
getOffsetFetchClauseMode
protected org.hibernate.community.dialect.SQLServerLegacySqlAstTranslator.OffsetFetchClauseMode getOffsetFetchClauseMode(org.hibernate.sql.ast.tree.select.QueryPart queryPart)
-
supportsSimpleQueryGrouping
protected boolean supportsSimpleQueryGrouping()
- Overrides:
supportsSimpleQueryGroupingin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
shouldEmulateFetchClause
protected boolean shouldEmulateFetchClause(org.hibernate.sql.ast.tree.select.QueryPart queryPart)
-
visitQueryGroup
public void visitQueryGroup(org.hibernate.sql.ast.tree.select.QueryGroup queryGroup)
- Specified by:
visitQueryGroupin interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitQueryGroupin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
visitQuerySpec
public void visitQuerySpec(org.hibernate.sql.ast.tree.select.QuerySpec querySpec)
- Specified by:
visitQuerySpecin interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitQuerySpecin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
visitSelectClause
public void visitSelectClause(org.hibernate.sql.ast.tree.select.SelectClause selectClause)
- Specified by:
visitSelectClausein interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitSelectClausein classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
needsRowsToSkip
protected boolean needsRowsToSkip()
- Overrides:
needsRowsToSkipin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
visitSqlSelections
protected void visitSqlSelections(org.hibernate.sql.ast.tree.select.SelectClause selectClause)
- Overrides:
visitSqlSelectionsin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
renderOrderBy
protected void renderOrderBy(boolean addWhitespace, List<org.hibernate.sql.ast.tree.select.SortSpecification> sortSpecifications)- Overrides:
renderOrderByin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
renderEmptyOrderBy
protected void renderEmptyOrderBy()
-
visitOffsetFetchClause
public void visitOffsetFetchClause(org.hibernate.sql.ast.tree.select.QueryPart queryPart)
- Specified by:
visitOffsetFetchClausein interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitOffsetFetchClausein classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
renderComparison
protected void renderComparison(org.hibernate.sql.ast.tree.expression.Expression lhs, org.hibernate.query.sqm.ComparisonOperator operator, org.hibernate.sql.ast.tree.expression.Expression rhs)- Overrides:
renderComparisonin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
renderSelectTupleComparison
protected void renderSelectTupleComparison(List<org.hibernate.sql.ast.spi.SqlSelection> lhsExpressions, org.hibernate.sql.ast.tree.expression.SqlTuple tuple, org.hibernate.query.sqm.ComparisonOperator operator)
- Overrides:
renderSelectTupleComparisonin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
renderPartitionItem
protected void renderPartitionItem(org.hibernate.sql.ast.tree.expression.Expression expression)
- Overrides:
renderPartitionItemin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
visitBinaryArithmeticExpression
public void visitBinaryArithmeticExpression(org.hibernate.sql.ast.tree.expression.BinaryArithmeticExpression arithmeticExpression)
- Specified by:
visitBinaryArithmeticExpressionin interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitBinaryArithmeticExpressionin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
supportsRowValueConstructorSyntax
protected boolean supportsRowValueConstructorSyntax()
- Overrides:
supportsRowValueConstructorSyntaxin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
supportsRowValueConstructorSyntaxInInList
protected boolean supportsRowValueConstructorSyntaxInInList()
- Overrides:
supportsRowValueConstructorSyntaxInInListin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
supportsRowValueConstructorSyntaxInQuantifiedPredicates
protected boolean supportsRowValueConstructorSyntaxInQuantifiedPredicates()
- Overrides:
supportsRowValueConstructorSyntaxInQuantifiedPredicatesin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
-