Package org.hibernate.query.sqm.internal
Class SqmTreePrinter
java.lang.Object
org.hibernate.query.sqm.internal.SqmTreePrinter
- All Implemented Interfaces:
SemanticQueryWalker<Object>
Printer for an SQM tree - for debugging purpose
- Implementation Note:
- At the top-level (statement) we check against
DEBUG_ENABLED
and decide whether to continue or not. That's to avoid unnecessary, continued checking of that boolean. The assumption being that we only ever enter from these statement rules
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
logTree
(SqmQuerySpec sqmQuerySpec, String header) static void
logTree
(SqmStatement sqmStatement) visitAnyDiscriminatorTypeExpression
(AnyDiscriminatorSqmPath<?> expression) visitAnyDiscriminatorTypeValueExpression
(SqmAnyDiscriminatorValue<?> expression) visitAssignment
(SqmAssignment<?> assignment) visitAsWrapperExpression
(AsWrapperSqmExpression expression) visitBetweenPredicate
(SqmBetweenPredicate predicate) visitBinaryArithmeticExpression
(SqmBinaryArithmetic expression) visitByUnit
(SqmByUnit sqmByUnit) visitCastTarget
(SqmCastTarget<?> sqmCastTarget) visitCoalesce
(SqmCoalesce<?> sqmCoalesce) visitCollation
(SqmCollation sqmCollate) visitComparisonPredicate
(SqmComparisonPredicate predicate) visitConflictClause
(SqmConflictClause<?> sqmConflictClause) visitCorrelation
(SqmCorrelation<?, ?> correlation) visitCrossJoin
(SqmCrossJoin joinedFromElement) visitCteContainer
(SqmCteContainer consumer) visitCteStatement
(SqmCteStatement sqmCteStatement) visitDeleteStatement
(SqmDeleteStatement<?> statement) visitDiscriminatorPath
(DiscriminatorSqmPath<?> sqmPath) visitDistinct
(SqmDistinct<?> distinct) visitDurationUnit
(SqmDurationUnit<?> durationUnit) visitDynamicInstantiation
(SqmDynamicInstantiation sqmDynamicInstantiation) visitEmbeddableTypeLiteralExpression
(SqmLiteralEmbeddableType<?> expression) visitEntityTypeLiteralExpression
(SqmLiteralEntityType expression) visitEnumLiteral
(SqmEnumLiteral<?> sqmEnumLiteral) visitEvery
(SqmEvery<?> sqmEvery) visitExistsPredicate
(SqmExistsPredicate sqmExistsPredicate) visitExtractUnit
(SqmExtractUnit<?> extractUnit) visitFetchExpression
(SqmExpression expression) visitFieldLiteral
(SqmFieldLiteral<?> sqmFieldLiteral) visitFkExpression
(SqmFkExpression<?> fkExpression) visitFormat
(SqmFormat sqmFormat) visitFromClause
(SqmFromClause fromClause) visitFullyQualifiedClass
(Class namedClass) visitFunction
(SqmFunction<?> tSqmFunction) visitFunctionPath
(SqmFunctionPath<?> functionPath) visitGroupByClause
(List<SqmExpression<?>> groupByClauseExpressions) visitGroupedPredicate
(SqmGroupedPredicate predicate) visitHavingClause
(SqmPredicate predicate) visitHqlNumericLiteral
(SqmHqlNumericLiteral<N> numericLiteral) visitInListPredicate
(SqmInListPredicate predicate) visitInsertSelectStatement
(SqmInsertSelectStatement<?> statement) visitInsertValuesStatement
(SqmInsertValuesStatement<?> statement) visitInSubQueryPredicate
(SqmInSubQueryPredicate predicate) visitIsEmptyPredicate
(SqmEmptinessPredicate predicate) visitIsNullPredicate
(SqmNullnessPredicate predicate) visitIsTruePredicate
(SqmTruthnessPredicate predicate) visitJpaCompoundSelection
(SqmJpaCompoundSelection<?> selection) visitJpaCriteriaParameter
(JpaCriteriaParameter expression) visitJunctionPredicate
(SqmJunctionPredicate predicate) visitLikePredicate
(SqmLikePredicate predicate) visitLiteral
(SqmLiteral literal) visitMapEntryFunction
(SqmMapEntryReference<?, ?> function) visitMemberOfPredicate
(SqmMemberOfPredicate predicate) visitNamedParameterExpression
(SqmNamedParameter expression) visitNegatedPredicate
(SqmNegatedPredicate predicate) visitOffsetExpression
(SqmExpression expression) visitOrderByClause
(SqmOrderByClause orderByClause) visitOverflow
(SqmOverflow<?> sqmOverflow) visitPluralPartJoin
(SqmPluralPartJoin<?, ?> joinedFromElement) visitQualifiedAttributeJoin
(SqmAttributeJoin joinedFromElement) visitQualifiedCteJoin
(SqmCteJoin<?> joinedFromElement) visitQualifiedDerivedJoin
(SqmDerivedJoin<?> joinedFromElement) visitQualifiedEntityJoin
(SqmEntityJoin joinedFromElement) visitQueryGroup
(SqmQueryGroup<?> queryGroup) visitQuerySpec
(SqmQuerySpec<?> querySpec) visitRootCte
(SqmCteRoot<?> sqmRoot) visitRootDerived
(SqmDerivedRoot<?> sqmRoot) visitRootPath
(SqmRoot sqmRoot) visitSearchedCaseExpression
(SqmCaseSearched expression) visitSelectClause
(SqmSelectClause selectClause) visitSelection
(SqmSelection selection) visitSelectStatement
(SqmSelectStatement<?> statement) visitSetClause
(SqmSetClause setClause) visitSimpleCaseExpression
(SqmCaseSimple expression) visitSortSpecification
(SqmSortSpecification sortSpecification) visitSubQueryExpression
(SqmSubQuery expression) visitSummarization
(SqmSummarization<?> sqmSummarization) visitToDuration
(SqmToDuration<?> toDuration) visitTreatedPath
(SqmTreatedPath sqmTreatedPath) visitTrimSpecification
(SqmTrimSpecification trimSpecification) visitTuple
(SqmTuple sqmTuple) visitUnaryOperationExpression
(SqmUnaryOperation expression) visitUpdateStatement
(SqmUpdateStatement<?> statement) visitValues
(SqmValues values) visitWhereClause
(SqmWhereClause whereClause) visitWindow
(SqmWindow window) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.query.sqm.SemanticQueryWalker
visitBagJoin, visitCorrelatedBagJoin, visitCorrelatedCrossJoin, visitCorrelatedEntityJoin, visitCorrelatedListJoin, visitCorrelatedMapJoin, visitCorrelatedPluralPartJoin, visitCorrelatedRoot, visitCorrelatedRootJoin, visitCorrelatedSetJoin, visitCorrelatedSingularJoin, visitListJoin, visitMapJoin, visitSetJoin, visitSingularJoin
-
Constructor Details
-
SqmTreePrinter
public SqmTreePrinter()
-
-
Method Details
-
logTree
-
logTree
-
visitDeleteStatement
- Specified by:
visitDeleteStatement
in interfaceSemanticQueryWalker<Object>
-
visitInsertSelectStatement
- Specified by:
visitInsertSelectStatement
in interfaceSemanticQueryWalker<Object>
-
visitInsertValuesStatement
- Specified by:
visitInsertValuesStatement
in interfaceSemanticQueryWalker<Object>
-
visitConflictClause
- Specified by:
visitConflictClause
in interfaceSemanticQueryWalker<Object>
-
visitSelectStatement
- Specified by:
visitSelectStatement
in interfaceSemanticQueryWalker<Object>
-
visitCteStatement
- Specified by:
visitCteStatement
in interfaceSemanticQueryWalker<Object>
-
visitCteContainer
- Specified by:
visitCteContainer
in interfaceSemanticQueryWalker<Object>
-
visitUpdateStatement
- Specified by:
visitUpdateStatement
in interfaceSemanticQueryWalker<Object>
-
visitSetClause
- Specified by:
visitSetClause
in interfaceSemanticQueryWalker<Object>
-
visitAssignment
- Specified by:
visitAssignment
in interfaceSemanticQueryWalker<Object>
-
visitQueryGroup
- Specified by:
visitQueryGroup
in interfaceSemanticQueryWalker<Object>
-
visitQuerySpec
- Specified by:
visitQuerySpec
in interfaceSemanticQueryWalker<Object>
-
visitGroupByClause
- Specified by:
visitGroupByClause
in interfaceSemanticQueryWalker<Object>
-
visitHavingClause
- Specified by:
visitHavingClause
in interfaceSemanticQueryWalker<Object>
-
visitJpaCompoundSelection
- Specified by:
visitJpaCompoundSelection
in interfaceSemanticQueryWalker<Object>
-
visitFromClause
- Specified by:
visitFromClause
in interfaceSemanticQueryWalker<Object>
-
visitRootPath
- Specified by:
visitRootPath
in interfaceSemanticQueryWalker<Object>
-
visitRootDerived
- Specified by:
visitRootDerived
in interfaceSemanticQueryWalker<Object>
-
visitRootCte
- Specified by:
visitRootCte
in interfaceSemanticQueryWalker<Object>
-
visitCrossJoin
- Specified by:
visitCrossJoin
in interfaceSemanticQueryWalker<Object>
-
visitPluralPartJoin
- Specified by:
visitPluralPartJoin
in interfaceSemanticQueryWalker<Object>
-
visitQualifiedEntityJoin
- Specified by:
visitQualifiedEntityJoin
in interfaceSemanticQueryWalker<Object>
-
visitQualifiedAttributeJoin
- Specified by:
visitQualifiedAttributeJoin
in interfaceSemanticQueryWalker<Object>
-
visitQualifiedDerivedJoin
- Specified by:
visitQualifiedDerivedJoin
in interfaceSemanticQueryWalker<Object>
-
visitQualifiedCteJoin
- Specified by:
visitQualifiedCteJoin
in interfaceSemanticQueryWalker<Object>
-
visitBasicValuedPath
- Specified by:
visitBasicValuedPath
in interfaceSemanticQueryWalker<Object>
-
visitEmbeddableValuedPath
- Specified by:
visitEmbeddableValuedPath
in interfaceSemanticQueryWalker<Object>
-
visitAnyValuedValuedPath
- Specified by:
visitAnyValuedValuedPath
in interfaceSemanticQueryWalker<Object>
-
visitNonAggregatedCompositeValuedPath
- Specified by:
visitNonAggregatedCompositeValuedPath
in interfaceSemanticQueryWalker<Object>
-
visitFkExpression
- Specified by:
visitFkExpression
in interfaceSemanticQueryWalker<Object>
-
visitDiscriminatorPath
- Specified by:
visitDiscriminatorPath
in interfaceSemanticQueryWalker<Object>
-
visitEntityValuedPath
- Specified by:
visitEntityValuedPath
in interfaceSemanticQueryWalker<Object>
-
visitPluralValuedPath
- Specified by:
visitPluralValuedPath
in interfaceSemanticQueryWalker<Object>
-
visitIndexedPluralAccessPath
- Specified by:
visitIndexedPluralAccessPath
in interfaceSemanticQueryWalker<Object>
-
visitTreatedPath
- Specified by:
visitTreatedPath
in interfaceSemanticQueryWalker<Object>
-
visitCorrelation
- Specified by:
visitCorrelation
in interfaceSemanticQueryWalker<Object>
-
visitSelectClause
- Specified by:
visitSelectClause
in interfaceSemanticQueryWalker<Object>
-
visitSelection
- Specified by:
visitSelection
in interfaceSemanticQueryWalker<Object>
-
visitValues
- Specified by:
visitValues
in interfaceSemanticQueryWalker<Object>
-
visitPositionalParameterExpression
- Specified by:
visitPositionalParameterExpression
in interfaceSemanticQueryWalker<Object>
-
visitNamedParameterExpression
- Specified by:
visitNamedParameterExpression
in interfaceSemanticQueryWalker<Object>
-
visitJpaCriteriaParameter
- Specified by:
visitJpaCriteriaParameter
in interfaceSemanticQueryWalker<Object>
-
visitEntityTypeLiteralExpression
- Specified by:
visitEntityTypeLiteralExpression
in interfaceSemanticQueryWalker<Object>
-
visitEmbeddableTypeLiteralExpression
- Specified by:
visitEmbeddableTypeLiteralExpression
in interfaceSemanticQueryWalker<Object>
-
visitParameterizedEntityTypeExpression
- Specified by:
visitParameterizedEntityTypeExpression
in interfaceSemanticQueryWalker<Object>
-
visitUnaryOperationExpression
- Specified by:
visitUnaryOperationExpression
in interfaceSemanticQueryWalker<Object>
-
visitFunction
- Specified by:
visitFunction
in interfaceSemanticQueryWalker<Object>
-
visitCoalesce
- Specified by:
visitCoalesce
in interfaceSemanticQueryWalker<Object>
-
visitToDuration
- Specified by:
visitToDuration
in interfaceSemanticQueryWalker<Object>
-
visitByUnit
- Specified by:
visitByUnit
in interfaceSemanticQueryWalker<Object>
-
visitExtractUnit
- Specified by:
visitExtractUnit
in interfaceSemanticQueryWalker<Object>
-
visitFormat
- Specified by:
visitFormat
in interfaceSemanticQueryWalker<Object>
-
visitCastTarget
- Specified by:
visitCastTarget
in interfaceSemanticQueryWalker<Object>
-
visitTrimSpecification
- Specified by:
visitTrimSpecification
in interfaceSemanticQueryWalker<Object>
-
visitDistinct
- Specified by:
visitDistinct
in interfaceSemanticQueryWalker<Object>
-
visitOverflow
- Specified by:
visitOverflow
in interfaceSemanticQueryWalker<Object>
-
visitDurationUnit
- Specified by:
visitDurationUnit
in interfaceSemanticQueryWalker<Object>
-
visitStar
- Specified by:
visitStar
in interfaceSemanticQueryWalker<Object>
-
visitOver
- Specified by:
visitOver
in interfaceSemanticQueryWalker<Object>
-
visitWindow
- Specified by:
visitWindow
in interfaceSemanticQueryWalker<Object>
-
visitWhereClause
- Specified by:
visitWhereClause
in interfaceSemanticQueryWalker<Object>
-
visitGroupedPredicate
- Specified by:
visitGroupedPredicate
in interfaceSemanticQueryWalker<Object>
-
visitJunctionPredicate
- Specified by:
visitJunctionPredicate
in interfaceSemanticQueryWalker<Object>
-
visitComparisonPredicate
- Specified by:
visitComparisonPredicate
in interfaceSemanticQueryWalker<Object>
-
visitIsEmptyPredicate
- Specified by:
visitIsEmptyPredicate
in interfaceSemanticQueryWalker<Object>
-
visitIsNullPredicate
- Specified by:
visitIsNullPredicate
in interfaceSemanticQueryWalker<Object>
-
visitIsTruePredicate
- Specified by:
visitIsTruePredicate
in interfaceSemanticQueryWalker<Object>
-
visitBetweenPredicate
- Specified by:
visitBetweenPredicate
in interfaceSemanticQueryWalker<Object>
-
visitLikePredicate
- Specified by:
visitLikePredicate
in interfaceSemanticQueryWalker<Object>
-
visitMemberOfPredicate
- Specified by:
visitMemberOfPredicate
in interfaceSemanticQueryWalker<Object>
-
visitNegatedPredicate
- Specified by:
visitNegatedPredicate
in interfaceSemanticQueryWalker<Object>
-
visitInListPredicate
- Specified by:
visitInListPredicate
in interfaceSemanticQueryWalker<Object>
-
visitInSubQueryPredicate
- Specified by:
visitInSubQueryPredicate
in interfaceSemanticQueryWalker<Object>
-
visitBooleanExpressionPredicate
- Specified by:
visitBooleanExpressionPredicate
in interfaceSemanticQueryWalker<Object>
-
visitExistsPredicate
- Specified by:
visitExistsPredicate
in interfaceSemanticQueryWalker<Object>
-
visitOrderByClause
- Specified by:
visitOrderByClause
in interfaceSemanticQueryWalker<Object>
-
visitSortSpecification
- Specified by:
visitSortSpecification
in interfaceSemanticQueryWalker<Object>
-
visitOffsetExpression
- Specified by:
visitOffsetExpression
in interfaceSemanticQueryWalker<Object>
-
visitFetchExpression
- Specified by:
visitFetchExpression
in interfaceSemanticQueryWalker<Object>
-
visitPluralAttributeSizeFunction
- Specified by:
visitPluralAttributeSizeFunction
in interfaceSemanticQueryWalker<Object>
-
visitMapEntryFunction
- Specified by:
visitMapEntryFunction
in interfaceSemanticQueryWalker<Object>
-
visitElementAggregateFunction
- Specified by:
visitElementAggregateFunction
in interfaceSemanticQueryWalker<Object>
-
visitIndexAggregateFunction
- Specified by:
visitIndexAggregateFunction
in interfaceSemanticQueryWalker<Object>
-
visitFunctionPath
- Specified by:
visitFunctionPath
in interfaceSemanticQueryWalker<Object>
-
visitLiteral
- Specified by:
visitLiteral
in interfaceSemanticQueryWalker<Object>
-
visitTuple
- Specified by:
visitTuple
in interfaceSemanticQueryWalker<Object>
-
visitCollation
- Specified by:
visitCollation
in interfaceSemanticQueryWalker<Object>
-
visitBinaryArithmeticExpression
- Specified by:
visitBinaryArithmeticExpression
in interfaceSemanticQueryWalker<Object>
-
visitSubQueryExpression
- Specified by:
visitSubQueryExpression
in interfaceSemanticQueryWalker<Object>
-
visitSimpleCaseExpression
- Specified by:
visitSimpleCaseExpression
in interfaceSemanticQueryWalker<Object>
-
visitSearchedCaseExpression
- Specified by:
visitSearchedCaseExpression
in interfaceSemanticQueryWalker<Object>
-
visitAny
- Specified by:
visitAny
in interfaceSemanticQueryWalker<Object>
-
visitEvery
- Specified by:
visitEvery
in interfaceSemanticQueryWalker<Object>
-
visitSummarization
- Specified by:
visitSummarization
in interfaceSemanticQueryWalker<Object>
-
visitAnyDiscriminatorTypeExpression
- Specified by:
visitAnyDiscriminatorTypeExpression
in interfaceSemanticQueryWalker<Object>
-
visitAnyDiscriminatorTypeValueExpression
- Specified by:
visitAnyDiscriminatorTypeValueExpression
in interfaceSemanticQueryWalker<Object>
-
visitDynamicInstantiation
- Specified by:
visitDynamicInstantiation
in interfaceSemanticQueryWalker<Object>
-
visitEnumLiteral
- Specified by:
visitEnumLiteral
in interfaceSemanticQueryWalker<Object>
-
visitFieldLiteral
- Specified by:
visitFieldLiteral
in interfaceSemanticQueryWalker<Object>
-
visitHqlNumericLiteral
- Specified by:
visitHqlNumericLiteral
in interfaceSemanticQueryWalker<Object>
-
visitFullyQualifiedClass
- Specified by:
visitFullyQualifiedClass
in interfaceSemanticQueryWalker<Object>
-
visitAsWrapperExpression
- Specified by:
visitAsWrapperExpression
in interfaceSemanticQueryWalker<Object>
-
visitModifiedSubQueryExpression
- Specified by:
visitModifiedSubQueryExpression
in interfaceSemanticQueryWalker<Object>
-