Top Description Fields Constructors Methods
org.hibernate.dialect

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

extends AbstractSqlAstTranslator<T extends JdbcOperation>
Class Inheritance
Imports
java.util.List, java.util.function.Consumer, org.hibernate.LockMode, .LockOptions, org.hibernate.engine.spi.SessionFactoryImplementor, org.hibernate.query.sqm.ComparisonOperator, org.hibernate.sql.ast.Clause, .SqlAstJoinType, .SqlAstNodeRenderingMode, org.hibernate.sql.ast.spi.AbstractSqlAstTranslator, .SqlSelection, org.hibernate.sql.ast.tree.Statement, org.hibernate.sql.ast.tree.expression.BinaryArithmeticExpression, .CaseSearchedExpression, .CaseSimpleExpression, .ColumnReference, .AggregateColumnWriteExpression, .Expression, .Literal, .QueryLiteral, .SqlTuple, .Summarization, org.hibernate.sql.ast.tree.from.NamedTableReference, .TableGroup, .TableGroupJoin, .UnionTableReference, org.hibernate.sql.ast.tree.insert.Values, org.hibernate.sql.ast.tree.predicate.BooleanExpressionPredicate, .Predicate, org.hibernate.sql.ast.tree.select.QueryGroup, .QueryPart, .QuerySpec, .SelectClause, org.hibernate.sql.exec.spi.JdbcOperation

A SQL AST translator for Sybase ASE.
Author
Christian Beikov

Field Summary

Modifier and TypeField and Description
private static final String

Constructor Summary

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

Deprecated as a consequence of SessionFactoryImplementor being deprecated.

Method Summary

Modifier and TypeMethod and Description
protected String
getFromDual()

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

Some databases require a bit of syntactic noise when there are no tables in the from clause.
protected boolean
protected void
protected void
protected void
protected void
private void
protected boolean
protected void
protected void
protected void
protected void
protected boolean
private 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
public void
protected void
protected void
public void
public void
public void
public void
protected void
protected void
Inherited from org.hibernate.sql.ast.spi.AbstractSqlAstTranslator:
addAdditionalWherePredicateaddAppliedParameterBindingappendappendappendappendBackslashEscapedLikeLiteralappendSqlappendSqlappendSqlappendSqlappendSqlapplyParameterareAllResultsParametersareAllResultsParametersassertRowsOnlyFetchClauseTypecastFunctioncastNumberToStringcleanupdetermineCyclePathColumnNamedetermineLateralEmulationPredicatedetermineLockingStrategydetermineWhereClauseRestrictionWithJoinEmulationemulateCycleClauseWithRowAndArrayemulateFetchOffsetWithWindowFunctionsemulateFetchOffsetWithWindowFunctionsemulateFetchOffsetWithWindowFunctionsVisitQueryPartemulateQuantifiedTupleSubQueryPredicateemulateQueryPartTableReferenceColumnAliasingemulateSearchClauseOrderWithRowAndArrayemulateSelectTupleComparisonemulateSortSpecificationNullPrecedenceemulateSubQueryRelationalRestrictionPredicateemulateTupleComparisonemulateValuesTableReferenceColumnAliasinggetAffectedTableNamesgetAppliedParameterBindingsgetArrayContainsFunctiongetBooleanTypegetCastTypeNamegetCastTypeNamegetClauseStackgetCteStatementgetCurrentClauseStackgetCurrentCteStatementgetCurrentDmlStatementgetCurrentQueryPartgetDialectgetDmlTargetTableAliasgetEffectiveLockModegetEffectiveLockModegetEffectiveLockTimeoutgetFetchClauseTypeForRowNumberinggetForSharegetForUpdategetForUpdateWithClausegetFromDualForSelectOnlygetIntegerTypegetJdbcLockStrategygetJdbcParameterBindingsgetJdbcServicesgetLeftHandExpressiongetLimitgetLimitParametergetLockOptionsgetMaxRowsgetNoWaitgetOffsetParametergetParameterBindersgetParameterBindValuegetParameterRenderingModegetQueryPartForRowNumberinggetQueryPartStackgetRowsToSkipgetSelectItemReferencegetSessionFactorygetSkipLockedgetSortSpecificationsRowNumberinggetSqlgetSqlAppendergetSqlBuffergetSqlTypeNamegetSqlTypeNamegetStatementgetStringTypegetWrapperOptionshasAggregateFunctionshasLimithasLimithasNestedTableGroupsToRenderhasOffsetinlineCteTableGroupinOverOrWithinGroupClauseinterpretExpressionisCorrelatedisInRecursiveQueryPartisLiteralisParameterisRowNumberingCurrentQueryPartisRowsOnlyFetchClauseTypeisStructneedsCteInliningneedsLockingneedsMaxRowsneedsRecursiveKeywordInWithClauseprepareLimitOffsetParametersprocessNestedTableGroupJoinsprocessTableGroupJoinprocessTableGroupJoinsregisterAffectedTableregisterAffectedTablerenderrenderAsLiteralrenderBackslashEscapedLikePatternrenderCaseInsensitiveLikeEmulationrenderCastedrenderCombinedLimitClauserenderCombinedLimitClauserenderCommaSeparatedrenderCommaSeparatedSelectExpressionrenderCommaSeparatedSelectExpressionrenderComparisonDistinctOperatorrenderComparisonEmulateCaserenderComparisonEmulateDecoderenderComparisonEmulateDecoderenderComparisonEmulateIntersectrenderComparisonStandardrenderCteColumnsrenderCycleClauserenderDerivedTableReferencerenderExpressionAsClauseItemrenderExpressionAsLiteralrenderExpressionsAsSubqueryrenderFetchrenderFetchPlusOffsetExpressionAsLiteralrenderFetchPlusOffsetExpressionAsSingleParameterrenderFirstClauserenderFirstClauserenderFirstSkipClauserenderFirstSkipClauserenderInsertIntoNoColumnsrenderIntoIntoAndTablerenderLimitOffsetClauserenderLimitOffsetClauserenderLiteralrenderMaterializationHintrenderOffsetrenderOffsetFetchClauserenderOffsetFetchClauserenderOrderByrenderParameterAsParameterrenderParameterAsParameterrenderPrimaryTableReferencerenderQueryGrouprenderRecursiveCteVirtualSelectionsrenderRootTableGrouprenderRowNumberrenderRowNumberingSelectItemsrenderRowsToClauserenderRowsToClauserenderSearchClauserenderSelectExpressionrenderSelectExpressionWithCastedOrInlinedPlainParametersrenderSelectSimpleComparisonrenderSetClauserenderSkipFirstClauserenderSkipFirstClauserendersTableReferenceAliasrenderStandardCycleClauserenderStandardSearchClauserenderStringContainsExactlyPredicaterenderTableGrouprenderTableReferenceIdentificationVariablerenderTableReferenceJoinsrenderTopClauserenderTopClauserenderTopStartAtClauserenderTopStartAtClauserenderTupleComparisonStandardrenderVirtualSelectionsresolveAliasedExpressionresolveAliasedExpressionresolveExpressionToAliassetLimitParametersetOffsetParametershouldEmulateLateralWithIntersectshouldInlineCtesimpleColumnWriteFragmentRenderingsupportsArrayConstructorsupportsDistinctFromPredicatesupportsDuplicateSelectItemsInQueryGroupsupportsFilterClausesupportsJoinInMutationStatementSubquerysupportsNestedSubqueryCorrelationsupportsNestedWithClausesupportsNullPrecedencesupportsQuantifiedPredicatessupportsRecursiveClauseArrayAndRowEmulationsupportsRecursiveCycleClausesupportsRecursiveCycleUsingClausesupportsRecursiveSearchClausesupportsRowConstructorsupportsRowValueConstructorDistinctFromSyntaxsupportsRowValueConstructorGtLtSyntaxsupportsRowValueConstructorSyntaxInInSubQuerysupportsRowValueConstructorSyntaxInSetsupportsSimpleQueryGroupingsupportsWithClauseInSubquerytranslatetranslateDeletetranslateInserttranslateSelecttranslateUpdateuseOffsetFetchClausevisitAnyvisitAssignmentvisitBetweenPredicatevisitBooleanExpressionPredicatevisitCaseSearchedExpressionvisitCaseSearchedExpressionvisitCaseSimpleExpressionvisitCaseSimpleExpressionvisitCastTargetvisitCollationvisitColumnWriteFragmentvisitConversionvisitCteContainervisitCteDefinitionvisitCteObjectvisitCustomTableDeletevisitCustomTableInsertvisitCustomTableUpdatevisitDecodeCaseSearchedExpressionvisitDeleteStatementvisitDeleteStatementOnlyvisitDistinctvisitDurationvisitDurationUnitvisitEntityTypeLiteralvisitEveryvisitExistsPredicatevisitExtractUnitvisitFilterFragmentPredicatevisitFilterPredicatevisitFormatvisitForUpdateClausevisitFromClausevisitFunctionTableReferencevisitGroupByClausevisitGroupedPredicatevisitHavingClausevisitInArrayPredicatevisitInListPredicatevisitInsertStatementvisitInsertStatementOnlyvisitInSubQueryPredicatevisitJdbcLiteralvisitJunctionvisitLikePredicatevisitModifiedSubQueryExpressionvisitNamedTableReferencevisitNegatedPredicatevisitNullnessPredicatevisitOptionalTableUpdatevisitOrderByvisitOvervisitOverClausevisitOverClausevisitOverflowvisitParametervisitParameterAsParametervisitPartitionByClausevisitPartitionExpressionsvisitPartitionExpressionsvisitQueryLiteralvisitQueryPartTableReferencevisitQuerySpecvisitRecursivePathvisitRelationalPredicatevisitReturningColumnsvisitReturningColumnsvisitSelectClausevisitSelectStatementvisitSelfRenderingExpressionvisitSelfRenderingPredicatevisitSetAssignmentvisitSortSpecificationvisitSortSpecificationvisitSqlFragmentPredicatevisitSqlSelectExpressionvisitSqlSelectionvisitSqlSelectionExpressionvisitStandardTableDeletevisitStandardTableInsertvisitStandardTableUpdatevisitStarvisitSummarizationvisitTableGroupvisitTableGroupJoinvisitTableReferenceJoinvisitThruthnessPredicatevisitTrimSpecificationvisitTuplevisitUnaryOperationExpressionvisitUnparsedNumericLiteralvisitUpdateStatementvisitUpdateStatementOnlyvisitValuesListEmulateSelectUnionvisitValuesListStandardvisitValuesTableReferencevisitWhereClausewithParameterRenderingModewithRowNumbering

Field Detail

UNION_ALLback to summary
private static final String UNION_ALL

Constructor Detail

SybaseASESqlAstTranslatorback to summary
public SybaseASESqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement)

Deprecated

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

Method Detail

getFromDualback to summary
protected String getFromDual()

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

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

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

Returns:String

the SQL equivalent to Oracle's from dual.

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
renderFetchExpressionback to summary
protected void renderFetchExpression(Expression fetchExpression)

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

Annotations
@Override
renderFetchPlusOffsetExpressionback to summary
protected void renderFetchPlusOffsetExpression(Expression fetchClauseExpression, Expression offsetClauseExpression, int offset)

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

Annotations
@Override
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)
renderNamedTableReferenceback to summary
protected boolean renderNamedTableReference(NamedTableReference tableReference, LockMode lockMode)

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

Annotations
@Override
renderOffsetExpressionback to summary
protected void renderOffsetExpression(Expression offsetExpression)

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

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

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

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

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

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

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

Annotations
@Override
supportsIntersectback to summary
protected boolean supportsIntersect()

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

Annotations
@Override
supportsParameterOffsetFetchExpressionback to summary
private boolean supportsParameterOffsetFetchExpression()
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
supportsWithClauseback to summary
protected boolean supportsWithClause()

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

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

Whether the SQL with clause is supported.

Annotations
@Override
visitAggregateColumnWriteExpressionback to summary
public void visitAggregateColumnWriteExpression(AggregateColumnWriteExpression aggregateColumnWriteExpression)

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

Implements org.hibernate.sql.ast.SqlAstWalker.visitAggregateColumnWriteExpression.

Annotations
@Override
visitAnsiCaseSearchedExpressionback to summary
protected void visitAnsiCaseSearchedExpression(CaseSearchedExpression caseSearchedExpression, Consumer<Expression> resultRenderer)

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

Annotations
@Override
visitAnsiCaseSimpleExpressionback to summary
protected void visitAnsiCaseSimpleExpression(CaseSimpleExpression caseSimpleExpression, Consumer<Expression> resultRenderer)

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

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
visitColumnReferenceback to summary
public void visitColumnReference(ColumnReference columnReference)

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

Implements org.hibernate.sql.ast.SqlAstWalker.visitColumnReference.

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
visitSqlSelectionsback to summary
protected void visitSqlSelections(SelectClause selectClause)

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

Annotations
@Override
visitValuesListback to summary
protected void visitValuesList(List<Values> valuesList)

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

Annotations
@Override