Class SpannerSqlAstTranslator<T extends JdbcOperation>
java.lang.Object
org.hibernate.sql.ast.spi.AbstractSqlAstTranslator<T>
org.hibernate.dialect.sql.ast.SpannerSqlAstTranslator<T>
- All Implemented Interfaces:
Appendable, SqlAppender, SqlAstTranslator<T>, SqlAstWalker
A SQL AST translator for Spanner.
-
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
ConstructorsConstructorDescriptionSpannerSqlAstTranslator(SessionFactoryImplementor sessionFactory, Statement statement) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidappendBackslashEscapedLikeLiteral(SqlAppender appender, String literal, boolean noBackslashEscapes) createMergeOperation(org.hibernate.sql.model.internal.OptionalTableUpdate optionalTableUpdate, boolean hasUpdatableBindings) protected StringdetermineColumnReferenceQualifier(ColumnReference columnReference) protected voidrenderComparison(Expression lhs, ComparisonOperator operator, Expression rhs) protected voidrenderDerivedTableReference(DerivedTableReference tableReference) protected voidprotected voidrenderDmlTargetTableExpression(NamedTableReference tableReference) protected voidrenderEscapeCharacter(Expression escapeCharacter) protected voidprotected voidrenderInsertOrUpdate(org.hibernate.sql.model.internal.OptionalTableUpdate optionalTableUpdate, boolean hasUpdatableBindings) protected voidrenderLikePattern(Expression pattern, Expression escapeCharacter) protected voidrenderLikePredicate(LikePredicate likePredicate) protected voidrenderPartitionItem(Expression expression) protected voidrenderSelectTupleComparison(List<SqlSelection> lhsExpressions, SqlTuple tuple, ComparisonOperator operator) protected voidrenderTableReferenceIdentificationVariable(TableReference tableReference) voidvisitBinaryArithmeticExpression(BinaryArithmeticExpression arithmeticExpression) protected voidvisitConflictClause(ConflictClause conflictClause) protected voidvisitDeleteStatementOnly(DeleteStatement statement) voidvisitInArrayPredicate(InArrayPredicate inArrayPredicate) voidvisitOffsetFetchClause(QueryPart queryPart) voidvisitOptionalTableUpdate(org.hibernate.sql.model.internal.OptionalTableUpdate tableUpdate) voidvisitQueryPartTableReference(QueryPartTableReference tableReference) voidvisitSelectClause(SelectClause selectClause) voidvisitStandardTableUpdate(org.hibernate.sql.model.internal.TableUpdateStandard tableUpdate) <N extends Number>
voidvisitUnparsedNumericLiteral(UnparsedNumericLiteral<N> literal) protected voidvisitUpdateStatementOnly(UpdateStatement statement) Methods inherited from class AbstractSqlAstTranslator
addAdditionalWherePredicate, addAffectedTableName, addAppliedParameterBinding, addParameterBinder, addParameterBinder, afterQueryGroup, append, append, append, appendAssignmentColumn, appendDoubleQuoteEscapedString, appendSingleQuoteEscapedString, appendSql, appendSql, appendSql, appendSql, appendSql, appendSql, appendSql, areAllResultsParameters, areAllResultsParameters, assertRowsOnlyFetchClauseType, beforeQueryGroup, castFunction, castNumberToString, cleanup, createRowMatchingPredicate, createRowMatchingPredicate, determineCyclePathColumnName, determineLateralEmulationPredicate, determineLockingStrategy, determineRootTableGroupLockMode, determineWhereClauseRestrictionWithJoinEmulation, determineWhereClauseRestrictionWithJoinEmulation, emulateCycleClauseWithRowAndArray, emulateFetchOffsetWithWindowFunctions, emulateFetchOffsetWithWindowFunctions, emulateFetchOffsetWithWindowFunctionsVisitQueryPart, emulateQuantifiedTupleSubQueryPredicate, emulateQueryPartTableReferenceColumnAliasing, emulateSearchClauseOrderWithRowAndArray, emulateSelectTupleComparison, emulateSortSpecificationNullPrecedence, emulateSubQueryRelationalRestrictionPredicate, emulateTupleComparison, emulateValuesTableReferenceColumnAliasing, getAffectedTableNames, getAppliedParameterBindings, getArrayContainsFunction, getBooleanType, 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, getStatement, getStatementStack, getStringType, getUniqueConstraintNameThatMayFail, getWrapperOptions, hasAggregateFunctions, hasCorrelatedSubquery, hasFrom, hasLimit, hasLimit, hasNestedCorrelation, hasNestedTableGroupsToRender, hasNonTrivialFromClause, hasOffset, hasTargetTableCorrelation, 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, renderColumnWrite, renderCombinedLimitClause, renderCombinedLimitClause, renderCommaSeparated, renderCommaSeparatedSelectExpression, renderCommaSeparatedSelectExpression, renderComparisonDistinctOperator, renderComparisonEmulateCase, renderComparisonEmulateDecode, renderComparisonEmulateDecode, renderComparisonEmulateIntersect, renderComparisonStandard, renderCteColumns, renderCycleClause, renderDeleteClause, renderDmlTargetTableGroup, renderExpressionAsClauseItem, renderExpressionAsLiteral, renderExpressionsAsSubquery, renderExpressionsAsValuesSubquery, renderFetch, renderFetchExpression, renderFetchPlusOffsetExpression, renderFetchPlusOffsetExpressionAsLiteral, renderFetchPlusOffsetExpressionAsSingleParameter, renderFirstClause, renderFirstClause, renderFirstSkipClause, renderFirstSkipClause, renderFromClauseAfterUpdateSet, renderFromClauseExcludingDmlTargetReference, renderFromClauseJoiningDmlTargetReference, renderFromClauseSpaces, renderInsertCommand, renderInsertInto, renderInsertIntoNoColumns, renderInterval, renderIntervalLiteral, renderIntoIntoAndTable, renderJoinedTableGroup, renderLimitOffsetClause, renderLimitOffsetClause, renderLiteral, renderMaterializationHint, renderMergeUpdateClause, renderNamedSetReturningFunction, renderNamedTableReference, renderNull, renderOffset, renderOffsetExpression, renderOffsetFetchClause, renderOffsetFetchClause, renderOrderBy, renderParameterAsParameter, renderPrimaryTableReference, renderQuantifiedEmulationSubQuery, renderQueryGroup, renderRecursiveCteVirtualSelections, renderRelationalEmulationSubQuery, renderRootTableGroup, renderRowNumber, renderRowNumberingSelectItems, renderSearchClause, renderSelectExpression, renderSelectExpressionWithCastedOrInlinedPlainParameters, renderSelectSimpleComparison, renderSetClause, renderSetClauseEmulateScalarSubqueries, renderSimpleNamedFunction, renderSkipFirstClause, renderSkipFirstClause, renderSortExpression, renderStandardCycleClause, 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, translateInsert, translateSelect, translateUpdate, useOffsetFetchClause, visitAggregateColumnWriteExpression, visitAnsiCaseSearchedExpression, visitAnsiCaseSimpleExpression, visitAny, visitArithmeticOperand, visitAssignment, visitBetweenPredicate, visitBooleanExpressionPredicate, visitCaseSearchedExpression, visitCaseSearchedExpression, visitCaseSimpleExpression, visitCaseSimpleExpression, visitCastTarget, visitCollation, visitColumnReference, visitColumnWriteFragment, visitConversion, visitCteContainer, visitCteDefinition, visitCteObject, visitCustomTableDelete, visitCustomTableInsert, visitCustomTableUpdate, visitDecodeCaseSearchedExpression, visitDeleteStatement, 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, visitLikePredicate, visitModifiedSubQueryExpression, visitNamedTableReference, visitNegatedPredicate, visitNestedColumnReference, visitNullnessPredicate, visitOnDuplicateKeyConflictClause, visitOnDuplicateKeyConflictClauseWithDoNothing, visitOrderBy, visitOver, visitOverClause, visitOverClause, visitOverflow, visitParameter, visitParameterAsParameter, visitPartitionByClause, visitPartitionExpressions, visitPartitionExpressions, visitQueryClauses, visitQueryGroup, visitQueryLiteral, visitQuerySpec, visitRecursivePath, visitRelationalPredicate, visitReturningColumns, visitReturningColumns, visitSelectStatement, visitSelfRenderingExpression, visitSelfRenderingPredicate, visitSetAssignment, visitSetAssignmentEmulateJoin, visitSortSpecification, visitSortSpecification, visitSqlFragmentPredicate, visitSqlSelectExpression, visitSqlSelection, visitSqlSelectionExpression, visitSqlSelections, visitStandardConflictClause, visitStandardTableDelete, visitStandardTableInsert, visitStar, visitSummarization, visitTableGroup, visitTableGroupJoin, visitTableReferenceJoin, visitThruthnessPredicate, visitTrimSpecification, visitTuple, visitUnaryOperationExpression, visitUpdateStatement, visitUpdateStatementEmulateInlineView, visitUpdateStatementEmulateMerge, visitUpdateStatementEmulateTupleSet, visitValuesList, visitValuesListEmulateSelectUnion, visitValuesListStandard, visitValuesTableReference, visitWhereClause, withParameterRenderingMode, withRowNumbering
-
Constructor Details
-
SpannerSqlAstTranslator
-
-
Method Details
-
visitOffsetFetchClause
- Specified by:
visitOffsetFetchClausein interfaceSqlAstWalker- Overrides:
visitOffsetFetchClausein classAbstractSqlAstTranslator<T extends JdbcOperation>
-
renderComparison
- Overrides:
renderComparisonin classAbstractSqlAstTranslator<T extends JdbcOperation>
-
renderSelectTupleComparison
protected void renderSelectTupleComparison(List<SqlSelection> lhsExpressions, SqlTuple tuple, ComparisonOperator operator) - Overrides:
renderSelectTupleComparisonin classAbstractSqlAstTranslator<T extends JdbcOperation>
-
renderFetchFirstRow
protected void renderFetchFirstRow()- Overrides:
renderFetchFirstRowin classAbstractSqlAstTranslator<T extends JdbcOperation>
-
renderPartitionItem
- Overrides:
renderPartitionItemin classAbstractSqlAstTranslator<T extends JdbcOperation>
-
visitSelectClause
- Specified by:
visitSelectClausein interfaceSqlAstWalker- Overrides:
visitSelectClausein classAbstractSqlAstTranslator<T extends JdbcOperation>
-
renderDerivedTableReference
- Overrides:
renderDerivedTableReferencein classAbstractSqlAstTranslator<T extends JdbcOperation>
-
visitDeleteStatementOnly
- Overrides:
visitDeleteStatementOnlyin classAbstractSqlAstTranslator<T extends JdbcOperation>
-
visitUpdateStatementOnly
- Overrides:
visitUpdateStatementOnlyin classAbstractSqlAstTranslator<T extends JdbcOperation>
-
visitStandardTableUpdate
public void visitStandardTableUpdate(org.hibernate.sql.model.internal.TableUpdateStandard tableUpdate) - Specified by:
visitStandardTableUpdatein interfaceSqlAstWalker- Overrides:
visitStandardTableUpdatein classAbstractSqlAstTranslator<T extends JdbcOperation>
-
visitOptionalTableUpdate
public void visitOptionalTableUpdate(org.hibernate.sql.model.internal.OptionalTableUpdate tableUpdate) - Specified by:
visitOptionalTableUpdatein interfaceSqlAstWalker- Overrides:
visitOptionalTableUpdatein classAbstractSqlAstTranslator<T extends JdbcOperation>
-
renderTableReferenceIdentificationVariable
- Overrides:
renderTableReferenceIdentificationVariablein classAbstractSqlAstTranslator<T extends JdbcOperation>
-
renderDmlTargetTableExpression
- Overrides:
renderDmlTargetTableExpressionin classAbstractSqlAstTranslator<T extends JdbcOperation>
-
renderDerivedTableReferenceIdentificationVariable
protected void renderDerivedTableReferenceIdentificationVariable(DerivedTableReference tableReference) - Overrides:
renderDerivedTableReferenceIdentificationVariablein classAbstractSqlAstTranslator<T extends JdbcOperation>
-
visitQueryPartTableReference
- Specified by:
visitQueryPartTableReferencein interfaceSqlAstWalker- Overrides:
visitQueryPartTableReferencein classAbstractSqlAstTranslator<T extends JdbcOperation>
-
visitInArrayPredicate
- Specified by:
visitInArrayPredicatein interfaceSqlAstWalker- Overrides:
visitInArrayPredicatein classAbstractSqlAstTranslator<T extends JdbcOperation>
-
renderLikePredicate
- Overrides:
renderLikePredicatein classAbstractSqlAstTranslator<T extends JdbcOperation>
-
renderLikePattern
- Overrides:
renderLikePatternin classAbstractSqlAstTranslator<T extends JdbcOperation>
-
renderEscapeCharacter
- Overrides:
renderEscapeCharacterin classAbstractSqlAstTranslator<T extends JdbcOperation>
-
appendBackslashEscapedLikeLiteral
protected void appendBackslashEscapedLikeLiteral(SqlAppender appender, String literal, boolean noBackslashEscapes) - Overrides:
appendBackslashEscapedLikeLiteralin classAbstractSqlAstTranslator<T extends JdbcOperation>
-
visitBinaryArithmeticExpression
- Specified by:
visitBinaryArithmeticExpressionin interfaceSqlAstWalker- Overrides:
visitBinaryArithmeticExpressionin classAbstractSqlAstTranslator<T extends JdbcOperation>
-
visitUnparsedNumericLiteral
- Specified by:
visitUnparsedNumericLiteralin interfaceSqlAstWalker- Overrides:
visitUnparsedNumericLiteralin classAbstractSqlAstTranslator<T extends JdbcOperation>
-
visitConflictClause
- Overrides:
visitConflictClausein classAbstractSqlAstTranslator<T extends JdbcOperation>
-
determineColumnReferenceQualifier
- Overrides:
determineColumnReferenceQualifierin classAbstractSqlAstTranslator<T extends JdbcOperation>
-
createMergeOperation
public MutationOperation createMergeOperation(org.hibernate.sql.model.internal.OptionalTableUpdate optionalTableUpdate, boolean hasUpdatableBindings) -
renderInsertOrUpdate
protected void renderInsertOrUpdate(org.hibernate.sql.model.internal.OptionalTableUpdate optionalTableUpdate, boolean hasUpdatableBindings)
-