Class PostgreSQLFamilySqlAstTranslator<T extends JdbcOperation>
java.lang.Object
org.hibernate.dialect.sql.ast.spi.AbstractSqlAstTranslator<T>
org.hibernate.dialect.sql.ast.spi.SqlAstTranslatorWithMerge<T>
org.hibernate.dialect.sql.ast.spi.PostgreSQLFamilySqlAstTranslator<T>
- All Implemented Interfaces:
Appendable, SqlAstWalker, SqlAstTranslator<T>, SqlAppender
- Direct Known Subclasses:
PostgreSQLSqlAstTranslator
@SPI({USE,IMPLEMENT})
public abstract class PostgreSQLFamilySqlAstTranslator<T extends JdbcOperation>
extends SqlAstTranslatorWithMerge<T>
Supported SQL AST translator base for PostgreSQL-derived databases.
- Since:
- 8.0
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractSqlAstTranslator
AbstractSqlAstTranslator.LockStrategy, AbstractSqlAstTranslator.SubQueryRelationalRestrictionEmulationRenderer<X> -
Field Summary
Fields inherited from interface SqlAppender
CLOSE_PARENTHESIS, COMMA_SEPARATOR, COMMA_SEPARATOR_CHAR, NO_SEPARATOR, NULL_KEYWORD, OPEN_PARENTHESIS, PARAM_MARKER, WHITESPACE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedPostgreSQLFamilySqlAstTranslator(SqlAstTranslationRequest<? extends Statement, T> request) -
Method Summary
Modifier and TypeMethodDescriptionprotected Expectationexpectation(OptionalTableUpdate optionalTableUpdate) protected voidrenderMergeStatement(OptionalTableUpdate optionalTableUpdate) Renders the complete optional-table update as aMERGEstatement.protected voidrenderTableReferenceAlias(String alias, TableReferenceAliasContext context) Render a table-reference alias in its semantic statement context.Methods inherited from class SqlAstTranslatorWithMerge
createMergeOperation, renderMergeDelete, renderMergeInsert, renderMergeInto, renderMergeOn, renderMergeSourceAlias, renderMergeTargetAlias, renderMergeUpdate, renderMergeUsing, renderMergeUsingQuery, renderMergeUsingQuerySelectionMethods inherited from class AbstractSqlAstTranslator
addAdditionalWherePredicate, addAffectedTableName, addParameterBinder, addParameterBinder, afterQueryGroup, append, append, append, appendBackslashEscapedLikeLiteral, appendDoubleQuoteEscapedString, appendSingleQuoteEscapedString, appendSql, appendSql, appendSql, appendSql, appendSql, appendSql, appendSql, applySqlComment, areAllResultsParameters, areAllResultsParameters, assertRowsOnlyFetchClauseType, beforeQueryGroup, castFunction, castNumberToString, determineColumnReferenceQualifier, determineCyclePathColumnName, determineLateralEmulationPredicate, determineLockingStrategy, determinePaginationRenderingPlan, determineUniqueConstraintNameThatMayFail, emulateCycleClauseWithRowAndArray, emulateFetchOffsetWithWindowFunctions, emulateFetchOffsetWithWindowFunctions, emulateFetchOffsetWithWindowFunctionsVisitQueryPart, emulateQuantifiedTupleSubQueryPredicate, emulateSearchClauseOrderWithRowAndArray, emulateSelectTupleComparison, emulateSortSpecificationNullPrecedence, emulateSubQueryRelationalRestrictionPredicate, emulateTupleComparison, getAffectedTableNames, getArrayContainsFunction, getBooleanType, getClauseStack, getCteParameterRenderingMode, getCteStatement, getCurrentClauseStack, getCurrentDmlStatement, getCurrentQueryPart, getDerivedTableRenderingSupport, getDialect, getEffectiveLockMode, getEffectiveLockMode, getEffectiveLockMode, getEffectiveLockTimeout, getFetchClauseTypeForRowNumbering, getGroupBySelectItemReferenceStrategy, getInsertConflictRenderingSupport, getIntegerType, getJdbcParameterBindings, getJdbcServices, getLeftHandExpression, getLimit, getLimitParameter, getLiteralValue, getLockingClauseStrategy, getLockOptions, getOffsetParameter, getPaginationRenderingSupport, getParameterBinders, getParameterBindValue, getParameterRenderingMode, getQueryMutationRenderingSupport, getQueryPartForRowNumbering, getQueryPartStack, getReturningRenderingSupport, getSelectItemReference, getSelectOnlyFromClause, getSessionFactory, getSetReturningFunctionRenderingSupport, getSingleRowTableExpression, getSortSpecificationsRowNumbering, getSql, getSqlAst, getSqlBuffer, getStatement, getStatementStack, getStringType, getTableJoinRenderingSupport, getTranslationRequest, getVersionSeedMapping, getWrapperOptions, hasAggregateFunctions, hasFrom, hasLimit, hasLimit, hasNestedOrTargetTableCorrelation, hasNonTrivialFromClause, hasOffset, hasTargetTableCorrelation, hasWhere, inOverOrWithinGroupClause, interpretExpression, isInRecursiveQueryPart, isInSubquery, isIntegerDivisionEmulationRequired, isLiteral, isLob, isParameter, isParameterInterpretation, isRenderingCorrelatedDerivedTable, isRenderingDerivedTable, isRenderingLateralDerivedTable, isRowNumberingCurrentQueryPart, isRowsOnlyFetchClauseType, isStruct, needsCteInlining, needsLocking, preferUnionQueryForTupleInListPredicate, registerAffectedTable, registerAffectedTable, render, renderAsLiteral, renderAssignmentColumn, renderBackslashEscapedLikePattern, renderCaseInsensitiveLikeEmulation, renderCasted, renderColumnWrite, renderCombinedLimitClause, renderCombinedLimitClause, renderCommaSeparated, renderCommaSeparatedSelectExpression, renderCommaSeparatedSelectExpression, renderComparison, renderComparisonDistinctOperator, renderComparisonEmulateCase, renderComparisonEmulateDecode, renderComparisonEmulateDecode, renderComparisonEmulateIntersect, renderComparisonStandard, renderCteSelectHint, renderCycleClause, renderCycleUsingClause, renderDeleteClause, renderDeleteStatementDirect, renderDeleteStatementWithJoinEmulation, renderDerivedTableReferenceIdentificationVariable, renderDmlTargetTableExpression, renderEmptyOrderBy, renderEscapeCharacter, renderExpressionAsClauseItem, renderExpressionAsLiteral, renderExpressionsAsSubquery, renderExpressionsAsValuesSubquery, renderFetch, renderFetchExpression, renderFetchFirstRow, renderFetchPlusOffsetExpression, renderFetchPlusOffsetExpressionAsLiteral, renderFetchPlusOffsetExpressionAsSingleParameter, renderFirstClause, renderFirstClause, renderFirstSkipClause, renderFirstSkipClause, renderFromClauseAfterUpdateSet, renderFromClauseExcludingDmlTargetReference, renderFromClauseJoiningDmlTargetReference, renderFromClauseSpaces, renderInsertInto, renderInsertIntoNoColumns, renderInsertStatementAsMerge, renderInterval, renderIntervalLiteral, renderIntoIntoAndTable, renderLegacyReturningInsert, renderLikePattern, renderLikePredicate, renderLimitOffsetClause, renderLimitOffsetClause, renderLiteral, renderMaterializationHint, renderMergeUpdateClause, renderNamedSetReturningFunction, renderNull, renderOffset, renderOffsetExpression, renderOffsetFetchClause, renderOffsetFetchClause, renderOnDuplicateKeyConflictClause, renderOrderByClause, renderParameterAsParameter, renderPartitionItem, renderPrimaryTableReferencePrefix, renderQuantifiedEmulationSubQuery, renderQueryGroupWithoutOrderByAndOffsetFetch, renderQueryPartTableReferenceWithSelectListAliases, renderRecursiveCteVirtualSelections, renderRelationalEmulationSubQuery, renderRowNumber, renderRowNumberingSelectItems, renderRowsToClause, renderRowsToClause, renderSearchClause, renderSelectClause, renderSelectExpression, renderSelectExpressionWithCastedOrInlinedPlainParameters, renderSelectItems, renderSelectSimpleComparison, renderSelectStatement, renderSelectTupleComparison, renderSetAssignment, renderSetAssignmentEmulateJoin, renderSetClause, renderSkipFirstClause, renderSkipFirstClause, renderSortExpression, renderStandardConflictClause, renderStandardCycleClause, renderStandardSearchClause, renderStandardTableInsert, renderStandardTableUpdate, renderStatementPrefix, renderStringContainsExactlyPredicate, renderTableReferenceIdentificationVariable, renderTenantRestriction, renderTopClause, renderTopClause, renderTopStartAtClause, renderTopStartAtClause, renderTupleComparisonStandard, renderUpdateClause, renderUpdateStatementAsInlineView, renderUpdateStatementAsMerge, renderUpdateStatementAsScalarSubquery, renderUpdateStatementAsTupleSet, renderUpdateStatementDirect, renderValuesListAsSelectUnion, renderValuesListStandard, renderValuesTableReferenceWithSelectListAliases, renderVirtualSelections, renderWrappedParameter, resolveAliasedExpression, resolveAliasedExpression, resolveExpressionToAlias, setLockingTarget, shouldEmulateLateralWithIntersect, shouldInlineCte, simpleColumnWriteFragmentRendering, translate, useOffsetFetchClause, visitAggregateColumnWriteExpression, visitAnsiCaseSearchedExpression, visitAnsiCaseSimpleExpression, visitAny, visitArithmeticOperand, visitAssignment, visitBetweenPredicate, visitBinaryArithmeticExpression, visitBooleanExpressionPredicate, visitCaseSearchedExpression, visitCaseSearchedExpression, visitCaseSimpleExpression, visitCaseSimpleExpression, visitCastTarget, visitCollation, visitColumnReference, visitColumnWriteFragment, visitConversion, visitCteContainer, visitCustomTableDelete, visitCustomTableInsert, visitCustomTableUpdate, visitDecodeCaseSearchedExpression, visitDeleteClause, visitDeleteStatement, visitDeleteStatementOnly, visitDistinct, visitDuration, visitDurationUnit, visitEmbeddableTypeLiteral, visitEntityTypeLiteral, visitEvery, visitExistsPredicate, visitExtractUnit, visitFilterFragmentPredicate, visitFilterPredicate, visitFormat, visitForUpdateClause, visitFromClause, visitFunctionTableReference, visitGroupByClause, visitGroupedPredicate, visitHavingClause, visitInArrayPredicate, visitInListPredicate, visitInsertStatement, visitInSubQueryPredicate, visitJdbcLiteral, visitJunction, visitLikePredicate, visitModifiedSubQueryExpression, visitNamedTableReference, visitNegatedPredicate, visitNestedColumnReference, visitNullnessPredicate, visitOffsetFetchClause, visitOptionalTableUpdate, visitOrderBy, visitOver, visitOverClause, visitOverClause, visitOverflow, visitParameter, visitParameterAsParameter, visitPartitionByClause, visitPartitionExpressions, visitPartitionExpressions, visitQueryClauses, visitQueryGroup, visitQueryLiteral, visitQueryPartTableReference, visitQuerySpec, visitRecursivePath, visitRelationalPredicate, visitSelectClause, visitSelectStatement, visitSelfRenderingExpression, visitSelfRenderingPredicate, visitSetAssignment, visitSortSpecification, visitSortSpecification, visitSqlFragmentPredicate, visitSqlSelectExpression, visitSqlSelection, visitSqlSelectionExpression, visitStandardTableDelete, visitStandardTableInsert, visitStandardTableUpdate, visitStar, visitSummarization, visitTableGroup, visitTableGroupJoin, visitTableReferenceJoin, visitThruthnessPredicate, visitTrimSpecification, visitTuple, visitUnaryOperationExpression, visitUnparsedNumericLiteral, visitUpdateClause, visitUpdateStatement, visitUpdateStatementOnly, visitValuesList, visitValuesTableReference, visitWhereClause, withoutLateralDerivedTableContext, withParameterRenderingMode, withRowNumbering
-
Constructor Details
-
PostgreSQLFamilySqlAstTranslator
@SPI(IMPLEMENT) protected PostgreSQLFamilySqlAstTranslator(SqlAstTranslationRequest<? extends Statement, T> request)
-
-
Method Details
-
renderTableReferenceAlias
@SPI(IMPLEMENT) protected void renderTableReferenceAlias(String alias, TableReferenceAliasContext context) Description copied from class:AbstractSqlAstTranslatorRender a table-reference alias in its semantic statement context.
Override this hook when target-table alias syntax differs from ordinary from-clause alias syntax. Implementations must render the supplied alias exactly once and must not retain the context.
- Overrides:
renderTableReferenceAliasin classAbstractSqlAstTranslator<T extends JdbcOperation>
-
expectation
- Overrides:
expectationin classSqlAstTranslatorWithMerge<T extends JdbcOperation>
-
renderMergeStatement
Description copied from class:SqlAstTranslatorWithMergeRenders the complete optional-table update as a
MERGEstatement.Override this only when the statement structure cannot be expressed by a more focused callback, and preserve the order of its insert, optional delete, and update arms.
- Overrides:
renderMergeStatementin classSqlAstTranslatorWithMerge<T extends JdbcOperation>
-