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

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

public class PostgreSQLLegacySqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation> extends org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T>
A SQL AST translator for PostgreSQL.
  • 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>
  • 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
    PostgreSQLLegacySqlAstTranslator(org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory, org.hibernate.sql.ast.tree.Statement statement)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected String
    getForShare(int timeoutMillis)
     
    protected String
     
    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
    renderDmlTargetTableExpression(org.hibernate.sql.ast.tree.from.NamedTableReference tableReference)
     
    protected void
    renderExpressionAsClauseItem(org.hibernate.sql.ast.tree.expression.Expression expression)
     
    protected void
    renderFromClauseAfterUpdateSet(org.hibernate.sql.ast.tree.update.UpdateStatement statement)
     
    protected void
    renderInsertIntoNoColumns(org.hibernate.sql.model.internal.TableInsertStandard tableInsert)
     
    protected void
    renderMaterializationHint(org.hibernate.sql.ast.tree.cte.CteMaterialization materialization)
     
    protected void
    renderPartitionItem(org.hibernate.sql.ast.tree.expression.Expression expression)
     
    protected void
    renderStandardCycleClause(org.hibernate.sql.ast.tree.cte.CteStatement cte)
     
    protected void
    renderTableReferenceIdentificationVariable(org.hibernate.sql.ast.tree.from.TableReference tableReference)
     
    protected boolean
    shouldEmulateFetchClause(org.hibernate.sql.ast.tree.select.QueryPart queryPart)
     
    protected boolean
     
    boolean
     
    protected boolean
     
    protected boolean
     
    protected boolean
     
    protected boolean
     
    protected org.hibernate.sql.exec.spi.JdbcOperationQueryInsert
    translateInsert(org.hibernate.sql.ast.tree.insert.InsertSelectStatement sqlAst)
     
    void
    visitBinaryArithmeticExpression(org.hibernate.sql.ast.tree.expression.BinaryArithmeticExpression arithmeticExpression)
     
    void
    visitBooleanExpressionPredicate(org.hibernate.sql.ast.tree.predicate.BooleanExpressionPredicate booleanExpressionPredicate)
     
    protected void
    visitConflictClause(org.hibernate.sql.ast.tree.insert.ConflictClause conflictClause)
     
    void
    visitLikePredicate(org.hibernate.sql.ast.tree.predicate.LikePredicate likePredicate)
     
    void
    visitNullnessPredicate(org.hibernate.sql.ast.tree.predicate.NullnessPredicate nullnessPredicate)
     
    void
    visitOffsetFetchClause(org.hibernate.sql.ast.tree.select.QueryPart queryPart)
     
    void
    visitQueryGroup(org.hibernate.sql.ast.tree.select.QueryGroup queryGroup)
     
    void
    visitQuerySpec(org.hibernate.sql.ast.tree.select.QuerySpec querySpec)
     

    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, createRowMatchingPredicate, determineColumnReferenceQualifier, determineCyclePathColumnName, determineLateralEmulationPredicate, determineLockingStrategy, determineWhereClauseRestrictionWithJoinEmulation, determineWhereClauseRestrictionWithJoinEmulation, emulateCycleClauseWithRowAndArray, emulateFetchOffsetWithWindowFunctions, emulateFetchOffsetWithWindowFunctions, emulateFetchOffsetWithWindowFunctionsVisitQueryPart, emulateQuantifiedTupleSubQueryPredicate, emulateQueryPartTableReferenceColumnAliasing, emulateSearchClauseOrderWithRowAndArray, emulateSelectTupleComparison, emulateSortSpecificationNullPrecedence, emulateSubQueryRelationalRestrictionPredicate, emulateTupleComparison, emulateValuesTableReferenceColumnAliasing, getAffectedTableNames, getAppliedParameterBindings, getArrayContainsFunction, getBooleanType, getCastTypeName, getCastTypeName, getClauseStack, getCteStatement, getCurrentClauseStack, getCurrentCteStatement, getCurrentDmlStatement, getCurrentQueryPart, getDialect, getDual, getEffectiveLockMode, getEffectiveLockMode, getEffectiveLockTimeout, getFetchClauseTypeForRowNumbering, 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, getSqlBuffer, getSqlTypeName, getSqlTypeName, getStatement, getStatementStack, getStringType, getUniqueConstraintNameThatMayFail, getWrapperOptions, hasAggregateFunctions, hasLimit, hasLimit, hasNestedTableGroupsToRender, hasNonTrivialFromClause, hasOffset, inlineCteTableGroup, inOverOrWithinGroupClause, interpretExpression, isCorrelated, isInRecursiveQueryPart, isInSubquery, isIntegerDivisionEmulationRequired, isLiteral, isParameter, isRowNumberingCurrentQueryPart, isRowsOnlyFetchClauseType, isStruct, needsCteInlining, needsLocking, needsMaxRows, needsRecursiveKeywordInWithClause, needsRowsToSkip, prepareLimitOffsetParameters, processNestedTableGroupJoins, processTableGroupJoin, processTableGroupJoins, registerAffectedTable, registerAffectedTable, render, renderAsLiteral, renderBackslashEscapedLikePattern, renderCaseInsensitiveLikeEmulation, renderCasted, renderCombinedLimitClause, renderCombinedLimitClause, renderCommaSeparated, renderCommaSeparatedSelectExpression, renderCommaSeparatedSelectExpression, renderComparisonDistinctOperator, renderComparisonEmulateCase, renderComparisonEmulateDecode, renderComparisonEmulateDecode, renderComparisonEmulateIntersect, renderComparisonStandard, renderCteColumns, renderCycleClause, renderDeleteClause, renderDerivedTableReference, renderDmlTargetTableGroup, renderExpressionAsLiteral, renderExpressionsAsSubquery, renderFetch, renderFetchExpression, renderFetchPlusOffsetExpression, renderFetchPlusOffsetExpressionAsLiteral, renderFetchPlusOffsetExpressionAsSingleParameter, renderFirstClause, renderFirstClause, renderFirstSkipClause, renderFirstSkipClause, renderForUpdateClause, renderFromClauseExcludingDmlTargetReference, renderFromClauseJoiningDmlTargetReference, renderFromClauseSpaces, renderIntoIntoAndTable, renderLimitOffsetClause, renderLimitOffsetClause, renderLiteral, renderMergeUpdateClause, renderNamedTableReference, renderNull, renderOffset, renderOffsetExpression, renderOffsetFetchClause, renderOffsetFetchClause, renderOrderBy, renderParameterAsParameter, renderParameterAsParameter, renderPrimaryTableReference, renderQueryGroup, renderRecursiveCteVirtualSelections, renderRootTableGroup, renderRowNumber, renderRowNumberingSelectItems, renderRowsToClause, renderRowsToClause, renderSearchClause, renderSelectExpression, renderSelectExpressionWithCastedOrInlinedPlainParameters, renderSelectSimpleComparison, renderSelectTupleComparison, renderSetClause, renderSkipFirstClause, renderSkipFirstClause, renderSortExpression, renderStandardSearchClause, renderStringContainsExactlyPredicate, renderTableGroup, renderTableGroupJoin, renderTableReferenceJoins, renderTopClause, renderTopClause, renderTopStartAtClause, renderTopStartAtClause, renderTupleComparisonStandard, renderUpdateClause, renderVirtualSelections, renderWrappedParameter, resolveAliasedExpression, resolveAliasedExpression, resolveExpressionToAlias, setLimitParameter, setOffsetParameter, shouldEmulateLateralWithIntersect, shouldInlineCte, simpleColumnWriteFragmentRendering, supportsDistinctFromPredicate, supportsDuplicateSelectItemsInQueryGroup, supportsIntersect, supportsJoinInMutationStatementSubquery, supportsJoinsInDelete, supportsNestedSubqueryCorrelation, supportsNestedWithClause, supportsNullPrecedence, supportsQuantifiedPredicates, supportsRecursiveClauseArrayAndRowEmulation, supportsRowValueConstructorDistinctFromSyntax, supportsRowValueConstructorGtLtSyntax, supportsRowValueConstructorSyntax, supportsRowValueConstructorSyntaxInInList, supportsRowValueConstructorSyntaxInInSubQuery, supportsRowValueConstructorSyntaxInQuantifiedPredicates, supportsRowValueConstructorSyntaxInSet, supportsSimpleQueryGrouping, supportsWithClause, supportsWithClauseInSubquery, translate, translateDelete, translateSelect, translateUpdate, useOffsetFetchClause, visitAggregateColumnWriteExpression, visitAnsiCaseSearchedExpression, visitAnsiCaseSimpleExpression, visitAny, visitArithmeticOperand, visitAssignment, visitBetweenPredicate, 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, visitInsertStatementOnly, visitInSubQueryPredicate, visitJdbcLiteral, visitJunction, visitModifiedSubQueryExpression, visitNamedTableReference, visitNegatedPredicate, visitNestedColumnReference, visitOnDuplicateKeyConflictClause, visitOptionalTableUpdate, visitOrderBy, visitOver, visitOverClause, visitOverClause, visitOverflow, visitParameter, visitParameterAsParameter, visitPartitionByClause, visitPartitionExpressions, visitPartitionExpressions, visitQueryLiteral, visitQueryPartTableReference, 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, visitUpdateStatementOnly, visitValuesList, visitValuesListEmulateSelectUnion, visitValuesListStandard, visitValuesTableReference, visitWhereClause, withParameterRenderingMode, withRowNumbering

    Methods inherited from class java.lang.Object

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

    • PostgreSQLLegacySqlAstTranslator

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

    • 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>
    • translateInsert

      protected org.hibernate.sql.exec.spi.JdbcOperationQueryInsert translateInsert(org.hibernate.sql.ast.tree.insert.InsertSelectStatement sqlAst)
      Overrides:
      translateInsert in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • renderTableReferenceIdentificationVariable

      protected void renderTableReferenceIdentificationVariable(org.hibernate.sql.ast.tree.from.TableReference tableReference)
      Overrides:
      renderTableReferenceIdentificationVariable 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>
    • 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>
    • 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>
    • renderExpressionAsClauseItem

      protected void renderExpressionAsClauseItem(org.hibernate.sql.ast.tree.expression.Expression expression)
      Overrides:
      renderExpressionAsClauseItem 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>
    • visitBooleanExpressionPredicate

      public void visitBooleanExpressionPredicate(org.hibernate.sql.ast.tree.predicate.BooleanExpressionPredicate booleanExpressionPredicate)
      Specified by:
      visitBooleanExpressionPredicate in interface org.hibernate.sql.ast.SqlAstWalker
      Overrides:
      visitBooleanExpressionPredicate in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • visitNullnessPredicate

      public void visitNullnessPredicate(org.hibernate.sql.ast.tree.predicate.NullnessPredicate nullnessPredicate)
      Specified by:
      visitNullnessPredicate in interface org.hibernate.sql.ast.SqlAstWalker
      Overrides:
      visitNullnessPredicate in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • renderMaterializationHint

      protected void renderMaterializationHint(org.hibernate.sql.ast.tree.cte.CteMaterialization materialization)
      Overrides:
      renderMaterializationHint in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • supportsRowConstructor

      protected boolean supportsRowConstructor()
      Overrides:
      supportsRowConstructor in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • supportsArrayConstructor

      protected boolean supportsArrayConstructor()
      Overrides:
      supportsArrayConstructor in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • supportsFilterClause

      public boolean supportsFilterClause()
      Specified by:
      supportsFilterClause in interface org.hibernate.sql.ast.SqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
      Overrides:
      supportsFilterClause in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • getForUpdate

      protected String getForUpdate()
      Overrides:
      getForUpdate in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • getForShare

      protected String getForShare(int timeoutMillis)
      Overrides:
      getForShare 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)
    • 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>
    • 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>
    • supportsRecursiveSearchClause

      protected boolean supportsRecursiveSearchClause()
      Overrides:
      supportsRecursiveSearchClause in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • supportsRecursiveCycleClause

      protected boolean supportsRecursiveCycleClause()
      Overrides:
      supportsRecursiveCycleClause in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • supportsRecursiveCycleUsingClause

      protected boolean supportsRecursiveCycleUsingClause()
      Overrides:
      supportsRecursiveCycleUsingClause in class org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
    • renderStandardCycleClause

      protected void renderStandardCycleClause(org.hibernate.sql.ast.tree.cte.CteStatement cte)
      Overrides:
      renderStandardCycleClause 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>
    • visitLikePredicate

      public void visitLikePredicate(org.hibernate.sql.ast.tree.predicate.LikePredicate likePredicate)
      Specified by:
      visitLikePredicate in interface org.hibernate.sql.ast.SqlAstWalker
      Overrides:
      visitLikePredicate in class org.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:
      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>