Top Inners Fields Constructors Methods
org.hibernate.sql.ast.spi

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

extends Object
implements SqlAstTranslator<T extends JdbcOperation>, SqlAppender
Class Inheritance
All Implemented Interfaces
org.hibernate.sql.ast.spi.SqlAppender, java.lang.Appendable, org.hibernate.sql.ast.SqlAstTranslator, org.hibernate.sql.ast.SqlAstWalker
Known Direct Subclasses
org.hibernate.sql.ast.spi.StandardSqlAstTranslator, org.hibernate.dialect.CockroachSqlAstTranslator, org.hibernate.dialect.DB2SqlAstTranslator, org.hibernate.dialect.DerbySqlAstTranslator, org.hibernate.dialect.HANASqlAstTranslator, org.hibernate.dialect.HSQLSqlAstTranslator, org.hibernate.dialect.MariaDBSqlAstTranslator, org.hibernate.dialect.MySQLSqlAstTranslator, org.hibernate.dialect.SpannerSqlAstTranslator, org.hibernate.dialect.SqlAstTranslatorWithMerge, org.hibernate.dialect.SqlAstTranslatorWithUpsert, org.hibernate.dialect.SybaseASESqlAstTranslator, org.hibernate.dialect.SybaseSqlAstTranslator, org.hibernate.dialect.TiDBSqlAstTranslator
Imports
java.sql.PreparedStatement, .SQLException, java.util.ArrayList, .BitSet, .Collection, .Collections, .HashMap, .HashSet, .IdentityHashMap, .Iterator, .List, .Map, .Set, .TimeZone, java.util.function.Consumer, .Function, .Supplier, org.hibernate.Internal, .LockMode, .LockOptions, .QueryException, org.hibernate.dialect.DmlTargetColumnQualifierSupport, .Dialect, .RowLockStrategy, .SelectItemReferenceStrategy, org.hibernate.engine.jdbc.Size, org.hibernate.engine.jdbc.spi.JdbcServices, org.hibernate.engine.spi.AbstractDelegatingWrapperOptions, .SessionFactoryImplementor, .SessionImplementor, .SharedSessionContractImplementor, org.hibernate.internal.FilterJdbcParameter, org.hibernate.internal.util.MathHelper, .StringHelper, org.hibernate.internal.util.collections.CollectionHelper, .Stack, .StandardStack, org.hibernate.metamodel.mapping.AttributeMapping, .BasicValuedMapping, .EmbeddableMappingType, .EmbeddableValuedModelPart, .EntityAssociationMapping, .EntityMappingType, .JdbcMapping, .JdbcMappingContainer, .ModelPart, .ModelPartContainer, .PluralAttributeMapping, .SqlTypedMapping, org.hibernate.persister.entity.AbstractEntityPersister, .Loadable, org.hibernate.persister.internal.SqlFragmentPredicate, org.hibernate.query.IllegalQueryOperationException, .ReturnableType, .SortDirection, .NullPrecedence, org.hibernate.query.results.TableGroupImpl, org.hibernate.query.spi.Limit, .QueryOptions, org.hibernate.query.sqm.BinaryArithmeticOperator, .ComparisonOperator, .FetchClauseType, .FrameExclusion, .FrameKind, .FrameMode, .SetOperator, .UnaryArithmeticOperator, org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor, .MultipatternSqmFunctionDescriptor, .SelfRenderingAggregateFunctionSqlAstExpression, .SelfRenderingFunctionSqlAstExpression, .SqmFunctionDescriptor, org.hibernate.query.sqm.sql.internal.EntityValuedPathInterpretation, .SqmParameterInterpretation, .SqmPathInterpretation, org.hibernate.query.sqm.tree.expression.Conversion, org.hibernate.sql.ast.Clause, .SqlAstJoinType, .SqlAstNodeRenderingMode, .SqlAstTranslator, .SqlTreeCreationException, org.hibernate.sql.ast.internal.ParameterMarkerStrategyStandard, org.hibernate.sql.ast.tree.AbstractUpdateOrDeleteStatement, .MutationStatement, .SqlAstNode, .Statement, org.hibernate.sql.ast.tree.cte.CteColumn, .CteContainer, .CteMaterialization, .CteObject, .CteSearchClauseKind, .CteStatement, .CteTableGroup, .SearchClauseSpecification, .SelfRenderingCteObject, org.hibernate.sql.ast.tree.delete.DeleteStatement, org.hibernate.sql.ast.tree.expression.AggregateColumnWriteExpression, .Any, .BinaryArithmeticExpression, .CaseSearchedExpression, .CaseSimpleExpression, .CastTarget, .Collation, .ColumnReference, .Distinct, .Duration, .DurationUnit, .EntityTypeLiteral, .Every, .Expression, .ExtractUnit, .Format, .JdbcLiteral, .JdbcParameter, .Literal, .LiteralAsParameter, .ModifiedSubQueryExpression, .OrderedSetAggregateFunctionExpression, .Over, .Overflow, .QueryLiteral, .SelfRenderingExpression, .SqlSelectionExpression, .SqlTuple, .SqlTupleContainer, .Star, .Summarization, .TrimSpecification, .UnaryOperation, .UnparsedNumericLiteral, org.hibernate.sql.ast.tree.from.DerivedTableReference, .FromClause, .FunctionTableReference, .LazyTableGroup, .NamedTableReference, .QueryPartTableGroup, .QueryPartTableReference, .StandardTableGroup, .StandardVirtualTableGroup, .TableGroup, .TableGroupJoin, .TableGroupProducer, .TableReference, .TableReferenceJoin, .ValuesTableReference, .VirtualTableGroup, org.hibernate.sql.ast.tree.insert.InsertSelectStatement, .Values, org.hibernate.sql.ast.tree.predicate.BetweenPredicate, .BooleanExpressionPredicate, .ComparisonPredicate, .ExistsPredicate, .FilterPredicate, .FilterPredicate.FilterFragmentParameter, .FilterPredicate.FilterFragmentPredicate, .GroupedPredicate, .InArrayPredicate, .InListPredicate, .InSubQueryPredicate, .Junction, .LikePredicate, .NegatedPredicate, .NullnessPredicate, .Predicate, .SelfRenderingPredicate, .ThruthnessPredicate, org.hibernate.sql.ast.tree.select.QueryGroup, .QueryPart, .QuerySpec, .SelectClause, .SelectStatement, .SortSpecification, org.hibernate.sql.ast.tree.update.Assignment, .UpdateStatement, org.hibernate.sql.exec.ExecutionException, org.hibernate.sql.exec.internal.AbstractJdbcParameter, .JdbcOperationQueryInsertImpl, .JdbcParameterBindingImpl, .JdbcParametersImpl, .SqlTypedMappingJdbcParameter, org.hibernate.sql.exec.spi.ExecutionContext, .JdbcLockStrategy, .JdbcOperation, .JdbcOperationQueryDelete, .JdbcOperationQueryInsert, .JdbcOperationQuerySelect, .JdbcOperationQueryUpdate, .JdbcParameterBinder, .JdbcParameterBinding, .JdbcParameterBindings, org.hibernate.sql.model.MutationOperation, org.hibernate.sql.model.ast.ColumnValueParameter, .ColumnWriteFragment, .RestrictedTableMutation, .TableMutation, org.hibernate.sql.model.internal.OptionalTableUpdate, .TableDeleteCustomSql, .TableDeleteStandard, .TableInsertCustomSql, .TableInsertStandard, .TableUpdateCustomSql, .TableUpdateStandard, org.hibernate.sql.results.internal.SqlSelectionImpl, org.hibernate.sql.results.jdbc.spi.JdbcValuesMappingProducer, .JdbcValuesMappingProducerProvider, org.hibernate.type.BasicType, .SqlTypes, .StandardBasicTypes, org.hibernate.type.descriptor.WrapperOptions, org.hibernate.type.descriptor.java.JavaType, org.hibernate.type.descriptor.jdbc.JdbcLiteralFormatter, .JdbcType, org.hibernate.type.descriptor.sql.DdlType, org.hibernate.type.descriptor.sql.spi.DdlTypeRegistry, org.hibernate.type.spi.TypeConfiguration

Author
Steve Ebersole

Nested and Inner Type Summary

Modifier and TypeClass and Description
protected static class
private static class
AbstractSqlAstTranslator.LazySessionWrapperOptions

A lazy session implementation that is needed for rendering literals.

private static class
private static enum
protected static enum
private static class
private static class
protected static interface

Field Summary

Modifier and TypeField and Description
private Predicate
private final Set<String>
private Map<JdbcParameter, JdbcParameterBinding>
private transient BasicType<Boolean>
private transient AbstractSqmSelfRenderingFunctionDescriptor
castFunction

Deprecated as a consequence of AbstractSqmSelfRenderingFunctionDescriptor being deprecated.
private final Stack<Clause>
private List<String>
private CteStatement
private static final int
private final Dialect
private AbstractSqlAstTranslator.ForUpdateClause
private transient BasicType<Integer>
private JdbcParameterBindings
private final JdbcParametersImpl
private transient AbstractSqlAstTranslator.LazySessionWrapperOptions
private Limit
private JdbcParameter
private LockOptions
private static final int
MAX_RECURSION_DEPTH_ESTIMATE

When emulating the recursive WITH clause subclauses SEARCH and CYCLE, we need to build a string path and some database like MySQL require that we cast the expression to a char with certain size.

private boolean
private static final int
private JdbcParameter
private final List<JdbcParameterBinder>
private final ParameterMarkerStrategy
private SqlAstNodeRenderingMode
private int
private QueryPart
private int
private int
private final Stack<QueryPart>
private final SessionFactoryImplementor
sessionFactory

Deprecated as a consequence of SessionFactoryImplementor being deprecated.
private final StringBuilder
private final Stack<Statement>
private transient BasicType<String>
private static final int
private static final int
private int
private int

Constructor Summary

AccessConstructor and Description
protected
AbstractSqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement)

Deprecated as a consequence of SessionFactoryImplementor being deprecated.

Method Summary

Modifier and TypeMethod and Description
private Expression
abs(Expression expression)

protected void
protected void
private static int
addPadding(int bindValueCount, int inExprLimit)

public Appendable
append(CharSequence
The character sequence to append. If csq is null, then the four characters "null" are appended to this Appendable.
csq
)

Overrides default org.hibernate.sql.ast.spi.SqlAppender.append.

Appends the specified character sequence to this Appendable.
public Appendable
append(CharSequence
The character sequence from which a subsequence will be appended. If csq is null, then characters will be appended as if csq contained the four characters "null".
csq
,
int
The index of the first character in the subsequence
start
,
int
The index of the character following the last character in the subsequence
end
)

Overrides default org.hibernate.sql.ast.spi.SqlAppender.append.

Appends a subsequence of the specified character sequence to this Appendable.
public Appendable
append(char
The character to append
c
)

Overrides default org.hibernate.sql.ast.spi.SqlAppender.append.

Appends the specified character to this Appendable.
protected void
appendBackslashEscapedLikeLiteral(SqlAppender appender, String literal, boolean noBackslashEscapes)

private void
public void
appendSql(String fragment)

Implements org.hibernate.sql.ast.spi.SqlAppender.appendSql.

Add the passed fragment into the in-flight buffer
public void
public void
public void
public void
protected void
private void
protected boolean
protected boolean
protected void
private JdbcValuesMappingProducer
protected AbstractSqmSelfRenderingFunctionDescriptor
castFunction()

Deprecated as a consequence of AbstractSqmSelfRenderingFunctionDescriptor being deprecated.
protected Expression
castNumberToString(Expression expression, int precision, int scale)

Casts a number expression to a string with the given precision and scale.

private Expression
protected void
private Expression
protected String
private String
protected Predicate
protected AbstractSqlAstTranslator.LockStrategy
protected Predicate
protected void
private void
emulateCycleClauseWithString(SelectClause selectClause)

The following emulation is not 100% perfect, because it will serialize cycle clause attributes to a string, which might have a different equality rules than the attributes in the original data types, but we try our best to avoid issues with that by formatting data in a certain format.

protected void
emulateFetchOffsetWithWindowFunctions(QueryPart queryPart, boolean emulateFetchClause)

protected void
emulateFetchOffsetWithWindowFunctions(QueryPart queryPart, Expression offsetExpression, Expression fetchExpression, FetchClauseType fetchClauseType, boolean emulateFetchClause)

protected void
private void
protected void
emulateQuantifiedTupleSubQueryPredicate(Predicate predicate, SelectStatement selectStatement, SqlTuple lhsTuple, ComparisonOperator tupleComparisonOperator)

An optimized emulation for relational tuple sub-query comparisons.

protected void
protected void
private void
emulateSearchClauseOrderWithString(SelectClause selectClause)

The following emulation is not 100% perfect, because it will serialize search clause attributes to a string, which might have a different sort order than the attributes in their original data types, but we try our best to avoid issues with that by formatting data in a certain format.

protected void
emulateSelectTupleComparison(List<SqlSelection> lhsSelections, List<? extends SqlAstNode> rhsExpressions, ComparisonOperator operator, boolean indexOptimized)

protected void
protected <X extends Expression> void
protected void
emulateTupleComparison(final List<? extends SqlAstNode> lhsExpressions, final List<? extends SqlAstNode> rhsExpressions, ComparisonOperator operator, boolean indexOptimized)

A tuple comparison like (a, b) > (1, 2) can be emulated through it logical definition: a > 1 or a = 1 and b > 2.

private void
emulateTupleComparisonSimple(final List<? extends SqlAstNode> lhsExpressions, final List<? extends SqlAstNode> rhsExpressions, final String operatorText, final String finalOperatorText, final boolean optimized)

protected void
private void
private AbstractSqmSelfRenderingFunctionDescriptor
findSelfRenderingFunction(String functionName, int argumentCount)

Deprecated as a consequence of AbstractSqmSelfRenderingFunctionDescriptor being deprecated.
private TableGroupJoin
private TableReference
public Set<String>
protected Map<JdbcParameter, JdbcParameterBinding>
protected String
getArrayContainsFunction()

Returns the name of the array_contains(array, element) function, which is used for emulating the cycle clause.

public BasicType<Boolean>
public static String
public static String
getCastTypeName(SqlTypedMapping castTarget, TypeConfiguration typeConfiguration)

protected Stack<Clause>
protected CteStatement
getCteStatement(final String cteName)

public Stack<Clause>
protected CteStatement
public MutationStatement
private AbstractUpdateOrDeleteStatement
public QueryPart
getCurrentQueryPart()

Implements org.hibernate.sql.ast.SqlAstTranslator.getCurrentQueryPart.

Returns the current query part that is translated.
public Dialect
protected String
protected LockMode
protected LockMode
getEffectiveLockMode(String alias, boolean isRoot)

protected int
protected FetchClauseType
getFetchClauseTypeForRowNumbering(QueryPart queryPartForRowNumbering)

protected String
getForShare(int timeoutMillis)

protected String
protected String
protected String

Returns:

the SQL equivalent to Oracle's from dual.
getFromDual
()

Some databases require a bit of syntactic noise when there are no tables in the from clause.

protected String
public BasicType<Integer>
protected JdbcLockStrategy
protected JdbcParameterBindings
protected JdbcServices
protected Expression
protected Limit
protected JdbcParameter
protected LockOptions
protected int
getMaxRows(SelectStatement sqlAstSelect, JdbcParameterBindings jdbcParameterBindings, int rowsToSkip)

protected String
protected JdbcParameter
public List<JdbcParameterBinder>
protected Object
protected SqlAstNodeRenderingMode
protected QueryPart
protected Stack<QueryPart>
protected int
getRowsToSkip(SelectStatement sqlAstSelect, JdbcParameterBindings jdbcParameterBindings)

protected final SqlSelectionExpression
private BitSet
public SessionFactoryImplementor
protected String
private int
getSortSelectionIndex(QuerySpec querySpec, SortSpecification sortSpecification)

protected List<SortSpecification>
public String
protected SqlAppender
public StringBuilder
public static String
public static String
getSqlTypeName(SqlTypedMapping castTarget, TypeConfiguration typeConfiguration)

protected Statement
public BasicType<String>
protected WrapperOptions
protected boolean
private boolean
protected boolean
protected boolean
hasLimit(QueryPart queryPart)

protected boolean
protected boolean
hasOffset(QueryPart queryPart)

private boolean
protected void
inlineCteTableGroup(TableGroup tableGroup, LockMode lockMode)

protected boolean
protected <R> R
interpretExpression(Expression expression, JdbcParameterBindings jdbcParameterBindings)

protected boolean
isCorrelated(CteStatement cteStatement)

private boolean
protected boolean
private boolean
protected final boolean
isLiteral(Expression expression)

private boolean
isNullsFirst(SortSpecification sortSpecification)

protected final boolean
isParameter(Expression expression)

private boolean
protected boolean
protected boolean
protected boolean
private Expression
lpad(Expression expression, int stringLength, String padString)

private static CteContainer
matchCteContainerByStatement(final Statement stmt, final String cteName)

private static CteStatement
matchCteStatement(final Statement stmt, final String cteName)

private static MutationStatement
private static Boolean
private static Clause
protected boolean
needsCteInlining()

Whether CTEs should be inlined rather than rendered as CTEs.

private boolean
protected boolean
protected boolean
protected boolean
needsRecursiveKeywordInWithClause()

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

protected boolean
private boolean
protected void
private int
processFilterParameter(FilterPredicate.FilterFragmentParameter parameter, String sqlFragment, int startPosition)

private void
protected void
processNestedTableGroupJoins(TableGroup source, List<TableGroupJoin> tableGroupJoinCollector)

private void
protected void
processTableGroupJoin(TableGroupJoin tableGroupJoin, List<TableGroupJoin> tableGroupJoinCollector)

protected void
protected void
protected void
registerAffectedTable(String tableExpression)

public void
render(SqlAstNode sqlAstNode, SqlAstNodeRenderingMode renderingMode)

Implements org.hibernate.sql.ast.SqlAstTranslator.render.

Renders the given SQL AST node with the given rendering mode.
protected void
renderAsLiteral(JdbcParameter jdbcParameter, Object literalValue)

protected void
renderBackslashEscapedLikePattern(Expression pattern, Expression escapeCharacter, boolean noBackslashEscapes)

protected void
renderCaseInsensitiveLikeEmulation(Expression lhs, Expression rhs, Expression escapeCharacter, boolean negated)

protected void
protected void
protected void
renderCombinedLimitClause(Expression offsetExpression, Expression fetchExpression)

protected final void
renderCommaSeparated(Iterable<? extends SqlAstNode> expressions)

protected final void
protected final void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
protected void
renderExpressionAsLiteral(Expression expression, JdbcParameterBindings jdbcParameterBindings)

protected void
renderExpressionsAsSubquery(final List<? extends Expression> expressions)

protected void
renderFetch(Expression fetchExpression, Expression offsetExpressionToAdd, FetchClauseType fetchClauseType)

protected void
protected void
renderFetchPlusOffsetExpression(Expression fetchClauseExpression, Expression offsetClauseExpression, int offset)

protected void
renderFetchPlusOffsetExpressionAsLiteral(Expression fetchClauseExpression, Expression offsetClauseExpression, int offset)

protected void
renderFetchPlusOffsetExpressionAsSingleParameter(Expression fetchClauseExpression, Expression offsetClauseExpression, int offset)

protected void
protected void
renderFirstClause(Expression offsetExpression, Expression fetchExpression)

protected void
protected void
renderFirstSkipClause(Expression offsetExpression, Expression fetchExpression)

protected void
private void
private String
private void
private void
protected void
renderInsertIntoNoColumns(TableInsertStandard tableInsert)

Handle rendering an insert with no columns

protected void
renderIntoIntoAndTable(TableInsertStandard tableInsert)

Renders the insert into <table name> portion of an insert

protected void
protected void
renderLimitOffsetClause(Expression offsetExpression, Expression fetchExpression)

protected void
renderLiteral(Literal literal, boolean castParameter)

protected void
protected boolean
private void
protected void
renderOffset(Expression offsetExpression, boolean renderOffsetRowsKeyword)

protected void
protected void
renderOffsetFetchClause(QueryPart queryPart, boolean renderOffsetRowsKeyword)

protected void
renderOffsetFetchClause(Expression offsetExpression, Expression fetchExpression, FetchClauseType fetchClauseType, boolean renderOffsetRowsKeyword)

protected void
renderOrderBy(boolean addWhitespace, List<SortSpecification> sortSpecifications)

protected final void
protected void
renderParameterAsParameter(int position, JdbcParameter jdbcParameter)

Renders a parameter marker for the given position

protected void
protected boolean
protected void
renderQueryGroup(QueryGroup queryGroup, boolean renderOrderByAndOffsetFetchClause)

protected void
protected void
renderRootTableGroup(TableGroup tableGroup, List<TableGroupJoin> tableGroupJoinCollector)

protected void
renderRowNumber(SelectClause selectClause, QueryPart queryPart)

protected void
protected void
protected void
renderRowsToClause(Expression offsetClauseExpression, Expression fetchClauseExpression)

protected void
protected void
protected void
protected void
renderSelectSimpleComparison(final List<SqlSelection> lhsExpressions, Expression expression, ComparisonOperator operator)

protected void
protected void
renderSetClause(UpdateStatement statement, Stack<Clause> clauseStack)

protected void
protected void
renderSkipFirstClause(Expression offsetExpression, Expression fetchExpression)

protected boolean
protected void
protected void
protected void
protected void
renderTableGroup(TableGroup tableGroup, Predicate predicate, List<TableGroupJoin> tableGroupJoinCollector)

protected void
renderTableGroupJoin(TableGroupJoin tableGroupJoin, List<TableGroupJoin> tableGroupJoinCollector)

protected final void
protected void
protected void
renderTopClause(QuerySpec querySpec, boolean addOffset, boolean needsParenthesis)

protected void
renderTopClause(Expression offsetExpression, Expression fetchExpression, FetchClauseType fetchClauseType, boolean addOffset, boolean needsParenthesis)

protected void
protected void
renderTopStartAtClause(Expression offsetExpression, Expression fetchExpression, FetchClauseType fetchClauseType)

protected void
protected void
protected Expression
protected Expression
protected Expression
protected void
protected void
protected boolean
protected boolean
shouldInlineCte(TableGroup tableGroup)

Whether CTEs should be inlined rather than rendered as CTEs.

protected void
private SelectStatement
private QueryPart
private QueryGroup
private QuerySpec
protected boolean
supportsArrayConstructor()

Whether the SQL array constructor is supported.

protected boolean

Returns:

True if this SQL dialect is known to support some kind of distinct from predicate; false otherwise
supportsDistinctFromPredicate
()

Is this SQL dialect known to support some kind of distinct from predicate.

protected boolean
public boolean
supportsFilterClause()

Implements org.hibernate.sql.ast.SqlAstTranslator.supportsFilterClause.

Whether the FILTER clause for aggregate functions is supported.
protected boolean
protected boolean
supportsJoinInMutationStatementSubquery()

If the dialect supports using joins in mutation statement subquery that could also use columns from the mutation target table

protected boolean
protected boolean
supportsNestedWithClause()

Whether the SQL with clause is supported within a CTE.

protected boolean
protected boolean

Returns:

True if this SQL dialect is known to support quantified predicates; false otherwise.
supportsQuantifiedPredicates
()

Is this dialect known to support quantified predicates.

protected boolean
supportsRecursiveClauseArrayAndRowEmulation()

Whether the recursive search and cycle clause emulations based on the array and row constructor is supported.

protected boolean
supportsRecursiveCycleClause()

Whether the SQL cycle clause is supported, which can be used for recursive CTEs.

protected boolean
supportsRecursiveCycleUsingClause()

Whether the SQL cycle clause supports the using sub-clause.

protected boolean
supportsRecursiveSearchClause()

Whether the SQL search clause is supported, which can be used for recursive CTEs.

protected boolean
supportsRowConstructor()

Whether the SQL row constructor is supported.

protected boolean

Returns:

True if this SQL dialect is known to support "row value constructor" syntax with distinct from comparison operators; false otherwise.
supportsRowValueConstructorDistinctFromSyntax
()

Is this dialect known to support what ANSI-SQL terms "row value constructor" syntax; sometimes called tuple syntax with is distinct from and is not distinct from operators.

protected boolean

Returns:

True if this SQL dialect is known to support "row value constructor" syntax with relational comparison operators; false otherwise.
supportsRowValueConstructorGtLtSyntax
()

Is this dialect known to support what ANSI-SQL terms "row value constructor" syntax; sometimes called tuple syntax with <, >, ≤ and ≥ operators.

protected boolean

Returns:

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

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

protected boolean

Returns:

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

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

protected boolean

Returns:

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

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

protected boolean

Returns:

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

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

protected boolean

Returns:

True if this SQL dialect is known to support "row value constructor" syntax in the SET clause; false otherwise.
supportsRowValueConstructorSyntaxInSet
()

Is this dialect known to support what ANSI-SQL terms "row value constructor" syntax, sometimes called tuple syntax, in the SET clause;

Basically, does it support syntax like ...

protected boolean
protected boolean
supportsWithClause()

Whether the SQL with clause is supported.

protected boolean
supportsWithClauseInSubquery()

Whether the SQL with clause is supported within a subquery.

public T
protected JdbcOperationQueryDelete
protected JdbcOperationQueryInsert
protected JdbcOperationQuerySelect
private T
protected JdbcOperationQueryUpdate
protected boolean
public void
protected void
protected void
public void
public void
public void
public void
public void
public final void
protected void
visitCaseSearchedExpression(CaseSearchedExpression caseSearchedExpression, boolean inSelect)

public final void
protected void
visitCaseSimpleExpression(CaseSimpleExpression caseSimpleExpression, boolean inSelect)

public void
public void
public void
public void
public void
public void
protected void
protected void
private void
public void
public void
public void
protected void
public void
protected void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
protected void
public void
public void
protected final void
public void
protected final void
public void
public void
public void
protected void
public void
public void
public void
private void
public void
private void
public void
public void
public void
public void
public void
public void
protected void
visitOrderBy(List<SortSpecification> sortSpecifications)

public void
protected final void
visitOverClause(List<Expression> partitionExpressions, List<SortSpecification> sortSpecifications)

protected void
visitOverClause(List<Expression> partitionExpressions, List<SortSpecification> sortSpecifications, FrameMode mode, FrameKind startKind, Expression startExpression, FrameKind endKind, Expression endExpression, FrameExclusion exclusion, boolean orderedSetAggregate)

public void
public void
protected void
protected final void
visitPartitionByClause(List<Expression> partitionExpressions)

protected final void
visitPartitionExpressions(List<Expression> partitionExpressions, SelectItemReferenceStrategy referenceStrategy)

protected final void
visitPartitionExpressions(List<Expression> partitionExpressions, Function<Expression, Expression> resolveAliasExpression, boolean inlineParametersOfAliasedExpressions)

public void
public void
public void
public void
protected void
visitRecursivePath(Expression recursivePath, int sizeEstimate)

Renders the recursive path, possibly wrapping a cast expression around it, to make sure a type with proper size is chosen.

public void
protected void
protected void
public void
public void
public void
public void
protected void
public void
protected void
visitSortSpecification(Expression sortExpression, SortDirection sortOrder, NullPrecedence nullPrecedence)

public void
protected void
public void
public void
protected void
public void
public void
public void
public void
public void
public void
public void
public void
private void
public void
public void
public void
public void
public <N extends Number> void
public void
protected void
protected void
protected void
protected final void
public void
protected final void
visitWhereClause(Predicate whereClauseRestrictions)

protected void
protected final void
withRowNumbering(QueryPart queryPart, boolean needsSelectAliases, Runnable r)

private SqlAstNode
wrapRowComponentAsEqualityPreservingConcatArgument(Expression expression)

Wraps the given expression so that it produces a string, but preserves equality with respect to what the original value was.

private int
private SqlAstNode
wrapRowComponentAsOrderPreservingConcatArgument(Expression expression)

Wraps the given expression so that it produces a string, which should have the same ordering as the original value.

private int
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait