Class GaussDBSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
java.lang.Object
org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T>
org.hibernate.sql.ast.spi.SqlAstTranslatorWithMerge<T>
org.hibernate.community.dialect.GaussDBSqlAstTranslator<T>
- All Implemented Interfaces:
Appendable, org.hibernate.sql.ast.spi.SqlAppender, org.hibernate.sql.ast.SqlAstTranslator<T>, org.hibernate.sql.ast.SqlAstWalker
public class GaussDBSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
extends org.hibernate.sql.ast.spi.SqlAstTranslatorWithMerge<T>
A SQL AST translator for GaussDB.
-
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
ConstructorsConstructorDescriptionGaussDBSqlAstTranslator(org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory, org.hibernate.sql.ast.tree.Statement statement) -
Method Summary
Modifier and TypeMethodDescriptionprotected Stringprotected voidrenderComparison(org.hibernate.sql.ast.tree.expression.Expression lhs, org.hibernate.query.sqm.ComparisonOperator operator, org.hibernate.sql.ast.tree.expression.Expression rhs) protected voidrenderDmlTargetTableExpression(org.hibernate.sql.ast.tree.from.NamedTableReference tableReference) protected voidrenderExpressionAsClauseItem(org.hibernate.sql.ast.tree.expression.Expression expression) protected voidrenderFromClauseAfterUpdateSet(org.hibernate.sql.ast.tree.update.UpdateStatement statement) protected voidrenderInsertIntoNoColumns(org.hibernate.sql.model.internal.TableInsertStandard tableInsert) protected voidrenderMaterializationHint(org.hibernate.sql.ast.tree.cte.CteMaterialization materialization) protected voidrenderPartitionItem(org.hibernate.sql.ast.tree.expression.Expression expression) protected voidrenderStandardCycleClause(org.hibernate.sql.ast.tree.cte.CteStatement cte) protected voidrenderTableReferenceIdentificationVariable(org.hibernate.sql.ast.tree.from.TableReference tableReference) protected booleanshouldEmulateFetchClause(org.hibernate.sql.ast.tree.select.QueryPart queryPart) protected org.hibernate.sql.exec.spi.JdbcOperationQueryInserttranslateInsert(org.hibernate.sql.ast.tree.insert.InsertSelectStatement sqlAst) voidvisitBinaryArithmeticExpression(org.hibernate.sql.ast.tree.expression.BinaryArithmeticExpression arithmeticExpression) voidvisitBooleanExpressionPredicate(org.hibernate.sql.ast.tree.predicate.BooleanExpressionPredicate booleanExpressionPredicate) protected voidvisitConflictClause(org.hibernate.sql.ast.tree.insert.ConflictClause conflictClause) voidvisitInArrayPredicate(org.hibernate.sql.ast.tree.predicate.InArrayPredicate inArrayPredicate) voidvisitLikePredicate(org.hibernate.sql.ast.tree.predicate.LikePredicate likePredicate) voidvisitNullnessPredicate(org.hibernate.sql.ast.tree.predicate.NullnessPredicate nullnessPredicate) voidvisitOffsetFetchClause(org.hibernate.sql.ast.tree.select.QueryPart queryPart) voidvisitQueryGroup(org.hibernate.sql.ast.tree.select.QueryGroup queryGroup) voidvisitQuerySpec(org.hibernate.sql.ast.tree.select.QuerySpec querySpec) Methods inherited from class org.hibernate.sql.ast.spi.SqlAstTranslatorWithMerge
createMergeOperation, renderMergeDelete, renderMergeInsert, renderMergeInto, renderMergeOn, renderMergeSourceAlias, renderMergeStatement, renderMergeTargetAlias, renderMergeUpdate, renderMergeUsing, renderMergeUsingQuerySelectionMethods 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, 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, getParameterRenderingMode, 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, isCorrelated, 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, renderDerivedTableReference, renderDerivedTableReferenceIdentificationVariable, renderDmlTargetTableGroup, renderExpressionAsLiteral, renderExpressionsAsSubquery, renderExpressionsAsValuesSubquery, renderFetch, renderFetchExpression, renderFetchPlusOffsetExpression, renderFetchPlusOffsetExpressionAsLiteral, renderFetchPlusOffsetExpressionAsSingleParameter, renderFirstClause, renderFirstClause, renderFirstSkipClause, renderFirstSkipClause, renderFromClauseExcludingDmlTargetReference, renderFromClauseJoiningDmlTargetReference, renderFromClauseSpaces, renderInsertInto, renderInterval, renderIntervalLiteral, renderIntoIntoAndTable, renderJoinedTableGroup, renderLikePredicate, renderLimitOffsetClause, renderLimitOffsetClause, renderLiteral, renderMergeUpdateClause, renderNamedSetReturningFunction, renderNamedTableReference, renderNull, renderOffset, renderOffsetExpression, renderOffsetFetchClause, renderOffsetFetchClause, renderOrderBy, renderParameterAsParameter, renderPrimaryTableReference, renderQueryGroup, renderRecursiveCteVirtualSelections, renderRootTableGroup, renderRowNumber, renderRowNumberingSelectItems, renderSearchClause, renderSelectExpression, renderSelectExpressionWithCastedOrInlinedPlainParameters, renderSelectSimpleComparison, renderSelectTupleComparison, renderSetClause, renderSimpleNamedFunction, renderSkipFirstClause, renderSkipFirstClause, renderSortExpression, renderStandardSearchClause, renderStringContainsExactlyPredicate, renderTableGroupJoin, renderTableReferenceJoins, renderTableReferenceJoins, renderTopClause, renderTopClause, renderTopStartAtClause, renderTopStartAtClause, renderTupleComparisonStandard, renderUpdateClause, renderVirtualSelections, renderWrappedParameter, resolveAliasedExpression, resolveAliasedExpression, resolveExpressionToAlias, setLimitParameter, setLockingTarget, setOffsetParameter, shouldEmulateLateralWithIntersect, shouldInlineCte, simpleColumnWriteFragmentRendering, supportsRecursiveClauseArrayAndRowEmulation, 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, visitInListPredicate, visitInsertSource, visitInsertStatement, visitInsertStatementEmulateMerge, visitInsertStatementOnly, visitInSubQueryPredicate, visitJdbcLiteral, visitJunction, visitModifiedSubQueryExpression, visitNamedTableReference, visitNegatedPredicate, visitNestedColumnReference, visitOnDuplicateKeyConflictClause, visitOnDuplicateKeyConflictClauseWithDoNothing, visitOptionalTableUpdate, visitOrderBy, visitOver, visitOverClause, visitOverClause, visitOverflow, visitParameter, visitParameterAsParameter, visitPartitionByClause, visitPartitionExpressions, visitPartitionExpressions, visitQueryClauses, 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
-
Constructor Details
-
GaussDBSqlAstTranslator
public GaussDBSqlAstTranslator(org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory, org.hibernate.sql.ast.tree.Statement statement)
-
-
Method Details
-
visitInArrayPredicate
public void visitInArrayPredicate(org.hibernate.sql.ast.tree.predicate.InArrayPredicate inArrayPredicate) - Specified by:
visitInArrayPredicatein interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitInArrayPredicatein classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-
getArrayContainsFunction
-
renderInsertIntoNoColumns
protected void renderInsertIntoNoColumns(org.hibernate.sql.model.internal.TableInsertStandard tableInsert) - Overrides:
renderInsertIntoNoColumnsin classorg.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:
translateInsertin classorg.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:
renderTableReferenceIdentificationVariablein classorg.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:
renderDmlTargetTableExpressionin classorg.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:
renderFromClauseAfterUpdateSetin classorg.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:
visitConflictClausein classorg.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:
renderExpressionAsClauseItemin classorg.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:
renderComparisonin classorg.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:
visitBooleanExpressionPredicatein interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitBooleanExpressionPredicatein classorg.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:
visitNullnessPredicatein interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitNullnessPredicatein classorg.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:
renderMaterializationHintin classorg.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:
visitQueryGroupin interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitQueryGroupin classorg.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:
visitQuerySpecin interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitQuerySpecin classorg.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:
visitOffsetFetchClausein interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitOffsetFetchClausein classorg.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:
renderStandardCycleClausein classorg.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:
renderPartitionItemin classorg.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:
visitLikePredicatein interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitLikePredicatein classorg.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:
visitBinaryArithmeticExpressionin interfaceorg.hibernate.sql.ast.SqlAstWalker- Overrides:
visitBinaryArithmeticExpressionin classorg.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T extends org.hibernate.sql.exec.spi.JdbcOperation>
-