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

java.lang.Object
org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T>
org.hibernate.community.dialect.HANALegacySqlAstTranslator<T>
All Implemented Interfaces:
Appendable, org.hibernate.sql.ast.spi.SqlAppender, org.hibernate.sql.ast.SqlAstTranslator<T>, org.hibernate.sql.ast.SqlAstWalker

public class HANALegacySqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation> extends org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T>
An SQL AST translator for the Legacy HANA dialect.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator

    org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.LockStrategy, org.hibernate.sql.ast.spi.AbstractSqlAstTranslator.SubQueryRelationalRestrictionEmulationRenderer<X>
  • Field Summary

    Fields inherited from interface org.hibernate.sql.ast.spi.SqlAppender

    CLOSE_PARENTHESIS, COMMA_SEPARATOR, COMMA_SEPARATOR_CHAR, NO_SEPARATOR, NULL_KEYWORD, OPEN_PARENTHESIS, PARAM_MARKER, WHITESPACE
  • Constructor Summary

    Constructors
    Constructor
    Description
    HANALegacySqlAstTranslator(org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory, org.hibernate.sql.ast.tree.Statement statement)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.hibernate.sql.ast.SqlAstNodeRenderingMode
     
    protected boolean
    isCorrelated(org.hibernate.sql.ast.tree.cte.CteStatement cteStatement)
     
    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)
     
    protected void
    renderDerivedTableReference(org.hibernate.sql.ast.tree.from.DerivedTableReference tableReference)
     
    protected void
    renderDmlTargetTableExpression(org.hibernate.sql.ast.tree.from.NamedTableReference tableReference)
     
    protected void
    renderFromClauseAfterUpdateSet(org.hibernate.sql.ast.tree.update.UpdateStatement statement)
     
    protected void
    renderInsertIntoNoColumns(org.hibernate.sql.model.internal.TableInsertStandard tableInsert)
     
    void
    renderNamedSetReturningFunction(String functionName, List<? extends org.hibernate.sql.ast.tree.SqlAstNode> sqlAstArguments, org.hibernate.query.sqm.tuple.internal.AnonymousTupleTableGroupProducer tupleType, String tableIdentifierVariable, org.hibernate.sql.ast.SqlAstNodeRenderingMode argumentRenderingMode)
     
    protected void
    renderPartitionItem(org.hibernate.sql.ast.tree.expression.Expression expression)
     
    protected void
    renderUpdateClause(org.hibernate.sql.ast.tree.update.UpdateStatement updateStatement)
     
    protected boolean
    shouldEmulateFetchClause(org.hibernate.sql.ast.tree.select.QueryPart queryPart)
     
    protected void
    visitArithmeticOperand(org.hibernate.sql.ast.tree.expression.Expression expression)
     
    void
    visitBinaryArithmeticExpression(org.hibernate.sql.ast.tree.expression.BinaryArithmeticExpression arithmeticExpression)
     
    protected void
    visitConflictClause(org.hibernate.sql.ast.tree.insert.ConflictClause conflictClause)
     
    protected void
    visitInsertStatementOnly(org.hibernate.sql.ast.tree.insert.InsertSelectStatement statement)
     
    void
    visitOffsetFetchClause(org.hibernate.sql.ast.tree.select.QueryPart queryPart)
     
    void
    visitQueryGroup(org.hibernate.sql.ast.tree.select.QueryGroup queryGroup)
     
    void
    visitQueryPartTableReference(org.hibernate.sql.ast.tree.from.QueryPartTableReference tableReference)
     
    void
    visitQuerySpec(org.hibernate.sql.ast.tree.select.QuerySpec querySpec)
     
    protected void
    visitUpdateStatementOnly(org.hibernate.sql.ast.tree.update.UpdateStatement statement)
     
    protected void
    visitValuesList(List<org.hibernate.sql.ast.tree.insert.Values> valuesList)
     
    void
    visitValuesTableReference(org.hibernate.sql.ast.tree.from.ValuesTableReference tableReference)
     

    Methods inherited from class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator

    addAdditionalWherePredicate, addAffectedTableName, addAppliedParameterBinding, addParameterBinder, addParameterBinder, afterQueryGroup, append, append, append, appendAssignmentColumn, appendBackslashEscapedLikeLiteral, appendDoubleQuoteEscapedString, appendSingleQuoteEscapedString, appendSql, appendSql, appendSql, appendSql, appendSql, appendSql, appendSql, areAllResultsParameters, areAllResultsParameters, assertRowsOnlyFetchClauseType, beforeQueryGroup, castFunction, castNumberToString, cleanup, createRowMatchingPredicate, determineColumnReferenceQualifier, determineCyclePathColumnName, determineLateralEmulationPredicate, determineLockingStrategy, determineRootTableGroupLockMode, determineWhereClauseRestrictionWithJoinEmulation, determineWhereClauseRestrictionWithJoinEmulation, emulateCycleClauseWithRowAndArray, emulateFetchOffsetWithWindowFunctions, emulateFetchOffsetWithWindowFunctions, emulateFetchOffsetWithWindowFunctionsVisitQueryPart, emulateQuantifiedTupleSubQueryPredicate, emulateQueryPartTableReferenceColumnAliasing, emulateSearchClauseOrderWithRowAndArray, emulateSelectTupleComparison, emulateSortSpecificationNullPrecedence, emulateSubQueryRelationalRestrictionPredicate, emulateTupleComparison, emulateValuesTableReferenceColumnAliasing, getAffectedTableNames, getAppliedParameterBindings, getArrayContainsFunction, getBooleanType, getCastTypeName, getClauseStack, getCteStatement, getCurrentClauseStack, getCurrentCteStatement, getCurrentDmlStatement, getCurrentQueryPart, getDialect, getDual, getEffectiveLockMode, getEffectiveLockMode, getEffectiveLockMode, getEffectiveLockTimeout, getFetchClauseTypeForRowNumbering, getFromDualForSelectOnly, getIntegerType, getJdbcLockStrategy, getJdbcParameterBindings, getJdbcServices, getLeftHandExpression, getLimit, getLimitParameter, getLiteralValue, getLockingClauseStrategy, getLockOptions, getMaxRows, getOffsetParameter, getParameterBinders, getParameterBindValue, getQueryPartForRowNumbering, getQueryPartStack, getRowsToSkip, getSelectItemReference, getSessionFactory, getSortSpecificationsRowNumbering, getSql, getSqlAppender, getSqlAst, getSqlBuffer, getSqlTypeName, getStatement, getStatementStack, getStringType, getUniqueConstraintNameThatMayFail, getWrapperOptions, hasAggregateFunctions, hasFrom, hasLimit, hasLimit, hasNestedTableGroupsToRender, hasNonTrivialFromClause, hasOffset, hasWhere, inlineCteTableGroup, inOverOrWithinGroupClause, interpretExpression, isInRecursiveQueryPart, isInSubquery, isIntegerDivisionEmulationRequired, isLiteral, isParameter, isRowNumberingCurrentQueryPart, isRowsOnlyFetchClauseType, isStruct, needsCteInlining, needsLocking, needsMaxRows, needsParenthesesAroundQueryGroup, needsRecursiveKeywordInWithClause, needsRowsToSkip, preferUnionQueryForTupleInListPredicate, prepareLimitOffsetParameters, prependSql, processNestedTableGroupJoins, processTableGroupJoin, processTableGroupJoins, registerAffectedTable, registerAffectedTable, render, renderAsLiteral, renderBackslashEscapedLikePattern, renderCaseInsensitiveLikeEmulation, renderCasted, renderCombinedLimitClause, renderCombinedLimitClause, renderCommaSeparated, renderCommaSeparatedSelectExpression, renderCommaSeparatedSelectExpression, renderComparisonDistinctOperator, renderComparisonEmulateCase, renderComparisonEmulateDecode, renderComparisonEmulateDecode, renderComparisonEmulateIntersect, renderComparisonStandard, renderCteColumns, renderCycleClause, renderDeleteClause, renderDerivedTableReferenceIdentificationVariable, renderDmlTargetTableGroup, renderExpressionAsClauseItem, renderExpressionAsLiteral, renderExpressionsAsSubquery, renderExpressionsAsValuesSubquery, renderFetch, renderFetchExpression, renderFetchPlusOffsetExpression, renderFetchPlusOffsetExpressionAsLiteral, renderFetchPlusOffsetExpressionAsSingleParameter, renderFirstClause, renderFirstClause, renderFirstSkipClause, renderFirstSkipClause, renderFromClauseExcludingDmlTargetReference, renderFromClauseJoiningDmlTargetReference, renderFromClauseSpaces, renderInsertInto, renderInterval, renderIntervalLiteral, renderIntoIntoAndTable, renderJoinedTableGroup, renderLikePredicate, renderLimitOffsetClause, renderLimitOffsetClause, renderLiteral, renderMaterializationHint, renderMergeUpdateClause, renderNamedTableReference, renderNull, renderOffset, renderOffsetExpression, renderOffsetFetchClause, renderOffsetFetchClause, renderOrderBy, renderParameterAsParameter, renderPrimaryTableReference, renderQueryGroup, renderRecursiveCteVirtualSelections, renderRootTableGroup, renderRowNumber, renderRowNumberingSelectItems, renderSearchClause, renderSelectExpression, renderSelectExpressionWithCastedOrInlinedPlainParameters, renderSelectSimpleComparison, renderSelectTupleComparison, renderSetClause, renderSimpleNamedFunction, renderSkipFirstClause, renderSkipFirstClause, renderSortExpression, renderStandardCycleClause, renderStandardSearchClause, renderStringContainsExactlyPredicate, renderTableGroupJoin, renderTableReferenceIdentificationVariable, renderTableReferenceJoins, renderTableReferenceJoins, renderTopClause, renderTopClause, renderTopStartAtClause, renderTopStartAtClause, renderTupleComparisonStandard, renderVirtualSelections, renderWrappedParameter, resolveAliasedExpression, resolveAliasedExpression, resolveExpressionToAlias, setLimitParameter, setLockingTarget, setOffsetParameter, shouldEmulateLateralWithIntersect, shouldInlineCte, simpleColumnWriteFragmentRendering, supportsRecursiveClauseArrayAndRowEmulation, translate, translateDelete, translateInsert, translateSelect, translateUpdate, useOffsetFetchClause, visitAggregateColumnWriteExpression, visitAnsiCaseSearchedExpression, visitAnsiCaseSimpleExpression, visitAny, visitAssignment, visitBetweenPredicate, visitBooleanExpressionPredicate, visitCaseSearchedExpression, visitCaseSearchedExpression, visitCaseSimpleExpression, visitCaseSimpleExpression, visitCastTarget, visitCollation, visitColumnReference, visitColumnWriteFragment, visitConversion, visitCteContainer, visitCteDefinition, visitCteObject, visitCustomTableDelete, visitCustomTableInsert, visitCustomTableUpdate, visitDecodeCaseSearchedExpression, visitDeleteStatement, visitDeleteStatementOnly, visitDistinct, visitDuration, visitDurationUnit, visitEmbeddableTypeLiteral, visitEntityTypeLiteral, visitEvery, visitExistsPredicate, visitExtractUnit, visitFilterFragmentPredicate, visitFilterPredicate, visitFormat, visitForUpdateClause, visitFromClause, visitFunctionTableReference, visitGroupByClause, visitGroupedPredicate, visitHavingClause, visitInArrayPredicate, visitInListPredicate, visitInsertSource, visitInsertStatement, visitInsertStatementEmulateMerge, visitInSubQueryPredicate, visitJdbcLiteral, visitJunction, visitLikePredicate, visitModifiedSubQueryExpression, visitNamedTableReference, visitNegatedPredicate, visitNestedColumnReference, visitNullnessPredicate, visitOnDuplicateKeyConflictClause, visitOnDuplicateKeyConflictClauseWithDoNothing, visitOptionalTableUpdate, visitOrderBy, visitOver, visitOverClause, visitOverClause, visitOverflow, visitParameter, visitParameterAsParameter, visitPartitionByClause, visitPartitionExpressions, visitPartitionExpressions, visitQueryClauses, visitQueryLiteral, visitRecursivePath, visitRelationalPredicate, visitReturningColumns, visitReturningColumns, visitSelectClause, visitSelectStatement, visitSelfRenderingExpression, visitSelfRenderingPredicate, visitSetAssignment, visitSetAssignmentEmulateJoin, visitSortSpecification, visitSortSpecification, visitSqlFragmentPredicate, visitSqlSelectExpression, visitSqlSelection, visitSqlSelectionExpression, visitSqlSelections, visitStandardConflictClause, visitStandardTableDelete, visitStandardTableInsert, visitStandardTableUpdate, visitStar, visitSummarization, visitTableGroup, visitTableGroupJoin, visitTableReferenceJoin, visitThruthnessPredicate, visitTrimSpecification, visitTuple, visitUnaryOperationExpression, visitUnparsedNumericLiteral, visitUpdateStatement, visitUpdateStatementEmulateInlineView, visitUpdateStatementEmulateMerge, visitUpdateStatementEmulateTupleSet, visitValuesListEmulateSelectUnion, visitValuesListStandard, visitWhereClause, withParameterRenderingMode, withRowNumbering

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • HANALegacySqlAstTranslator

      public HANALegacySqlAstTranslator(org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory, org.hibernate.sql.ast.tree.Statement statement)
  • Method Details

    • visitBinaryArithmeticExpression

      public void visitBinaryArithmeticExpression(org.hibernate.sql.ast.tree.expression.BinaryArithmeticExpression arithmeticExpression)
      Specified by:
      visitBinaryArithmeticExpression in interface org.hibernate.sql.ast.SqlAstWalker
      Overrides:
      visitBinaryArithmeticExpression in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • visitArithmeticOperand

      protected void visitArithmeticOperand(org.hibernate.sql.ast.tree.expression.Expression expression)
      Overrides:
      visitArithmeticOperand in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • visitInsertStatementOnly

      protected void visitInsertStatementOnly(org.hibernate.sql.ast.tree.insert.InsertSelectStatement statement)
      Overrides:
      visitInsertStatementOnly in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • visitUpdateStatementOnly

      protected void visitUpdateStatementOnly(org.hibernate.sql.ast.tree.update.UpdateStatement statement)
      Overrides:
      visitUpdateStatementOnly in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • renderUpdateClause

      protected void renderUpdateClause(org.hibernate.sql.ast.tree.update.UpdateStatement updateStatement)
      Overrides:
      renderUpdateClause in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • renderFromClauseAfterUpdateSet

      protected void renderFromClauseAfterUpdateSet(org.hibernate.sql.ast.tree.update.UpdateStatement statement)
      Overrides:
      renderFromClauseAfterUpdateSet in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • renderDmlTargetTableExpression

      protected void renderDmlTargetTableExpression(org.hibernate.sql.ast.tree.from.NamedTableReference tableReference)
      Overrides:
      renderDmlTargetTableExpression in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • visitConflictClause

      protected void visitConflictClause(org.hibernate.sql.ast.tree.insert.ConflictClause conflictClause)
      Overrides:
      visitConflictClause in class org.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)
    • isCorrelated

      protected boolean isCorrelated(org.hibernate.sql.ast.tree.cte.CteStatement cteStatement)
      Overrides:
      isCorrelated in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • visitQueryGroup

      public void visitQueryGroup(org.hibernate.sql.ast.tree.select.QueryGroup queryGroup)
      Specified by:
      visitQueryGroup in interface org.hibernate.sql.ast.SqlAstWalker
      Overrides:
      visitQueryGroup in class org.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:
      visitQuerySpec in interface org.hibernate.sql.ast.SqlAstWalker
      Overrides:
      visitQuerySpec in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • visitQueryPartTableReference

      public void visitQueryPartTableReference(org.hibernate.sql.ast.tree.from.QueryPartTableReference tableReference)
      Specified by:
      visitQueryPartTableReference in interface org.hibernate.sql.ast.SqlAstWalker
      Overrides:
      visitQueryPartTableReference in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • renderDerivedTableReference

      protected void renderDerivedTableReference(org.hibernate.sql.ast.tree.from.DerivedTableReference tableReference)
      Overrides:
      renderDerivedTableReference in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • renderNamedSetReturningFunction

      public void renderNamedSetReturningFunction(String functionName, List<? extends org.hibernate.sql.ast.tree.SqlAstNode> sqlAstArguments, org.hibernate.query.sqm.tuple.internal.AnonymousTupleTableGroupProducer tupleType, String tableIdentifierVariable, org.hibernate.sql.ast.SqlAstNodeRenderingMode argumentRenderingMode)
      Specified by:
      renderNamedSetReturningFunction in interface org.hibernate.sql.ast.SqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      Overrides:
      renderNamedSetReturningFunction in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • getParameterRenderingMode

      protected org.hibernate.sql.ast.SqlAstNodeRenderingMode getParameterRenderingMode()
      Overrides:
      getParameterRenderingMode in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • visitOffsetFetchClause

      public void visitOffsetFetchClause(org.hibernate.sql.ast.tree.select.QueryPart queryPart)
      Specified by:
      visitOffsetFetchClause in interface org.hibernate.sql.ast.SqlAstWalker
      Overrides:
      visitOffsetFetchClause in class org.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:
      renderComparison in class org.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:
      renderPartitionItem in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • renderInsertIntoNoColumns

      protected void renderInsertIntoNoColumns(org.hibernate.sql.model.internal.TableInsertStandard tableInsert)
      Overrides:
      renderInsertIntoNoColumns in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • visitValuesList

      protected void visitValuesList(List<org.hibernate.sql.ast.tree.insert.Values> valuesList)
      Overrides:
      visitValuesList in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • visitValuesTableReference

      public void visitValuesTableReference(org.hibernate.sql.ast.tree.from.ValuesTableReference tableReference)
      Specified by:
      visitValuesTableReference in interface org.hibernate.sql.ast.SqlAstWalker
      Overrides:
      visitValuesTableReference in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>