|
44 | 44 | import org.hibernate.metamodel.CollectionClassification;
|
45 | 45 | import org.hibernate.metamodel.mapping.CollectionPart;
|
46 | 46 | import org.hibernate.metamodel.mapping.internal.AnyKeyPart;
|
47 |
| -import org.hibernate.metamodel.model.domain.BasicDomainType; |
48 | 47 | import org.hibernate.metamodel.model.domain.DomainType;
|
49 | 48 | import org.hibernate.metamodel.model.domain.EntityDomainType;
|
50 | 49 | import org.hibernate.metamodel.model.domain.IdentifiableDomainType;
|
@@ -315,7 +314,7 @@ public static <R> SqmStatement<R> buildSemanticModel(
|
315 | 314 | private final Stack<ParameterDeclarationContext> parameterDeclarationContextStack = new StandardStack<>();
|
316 | 315 | private final Stack<SqmCreationProcessingState> processingStateStack = new StandardStack<>();
|
317 | 316 |
|
318 |
| - private final BasicDomainType<Integer> integerDomainType; |
| 317 | + private final BasicType<Integer> integerDomainType; |
319 | 318 | private final JavaType<List<?>> listJavaType;
|
320 | 319 | private final JavaType<Map<?,?>> mapJavaType;
|
321 | 320 |
|
@@ -631,8 +630,7 @@ public SqmConflictClause<R> visitConflictClause(HqlParser.ConflictClauseContext
|
631 | 630 | for ( HqlParser.AssignmentContext assignmentContext : setClauseContext.assignment() ) {
|
632 | 631 | updateAction.addAssignment( visitAssignment( assignmentContext ) );
|
633 | 632 | }
|
634 |
| - final SqmPredicate sqmPredicate = visitWhereClause( conflictActionContext.whereClause() ); |
635 |
| - updateAction.where( sqmPredicate ); |
| 633 | + updateAction.where( visitWhereClause( conflictActionContext.whereClause() ) ); |
636 | 634 | }
|
637 | 635 | return conflictClause;
|
638 | 636 | }
|
@@ -918,13 +916,6 @@ private void applyCycleClause(JpaCteCriteria<?> cteDefinition, HqlParser.CycleCl
|
918 | 916 | }
|
919 | 917 |
|
920 | 918 | private void applySearchClause(JpaCteCriteria<?> cteDefinition, HqlParser.SearchClauseContext ctx) {
|
921 |
| - final CteSearchClauseKind kind; |
922 |
| - if ( ( (TerminalNode) ctx.getChild( 1 ) ).getSymbol().getType() == HqlParser.BREADTH ) { |
923 |
| - kind = CteSearchClauseKind.BREADTH_FIRST; |
924 |
| - } |
925 |
| - else { |
926 |
| - kind = CteSearchClauseKind.DEPTH_FIRST; |
927 |
| - } |
928 | 919 | final String searchAttributeName = visitIdentifier( ctx.identifier() );
|
929 | 920 | final HqlParser.SearchSpecificationsContext searchCtx = ctx.searchSpecifications();
|
930 | 921 | final List<JpaSearchOrder> searchOrders = new ArrayList<>( ( searchCtx.getChildCount() + 1 ) >> 1 );
|
@@ -972,7 +963,11 @@ private void applySearchClause(JpaCteCriteria<?> cteDefinition, HqlParser.Search
|
972 | 963 | }
|
973 | 964 | searchOrders.add( creationContext.getNodeBuilder().search( attribute, sortOrder, nullPrecedence ) );
|
974 | 965 | }
|
975 |
| - cteDefinition.search( kind, searchAttributeName, searchOrders ); |
| 966 | + cteDefinition.search( getCteSearchClauseKind( ctx ), searchAttributeName, searchOrders ); |
| 967 | + } |
| 968 | + |
| 969 | + private static CteSearchClauseKind getCteSearchClauseKind(HqlParser.SearchClauseContext ctx) { |
| 970 | + return ctx.BREADTH() != null ? CteSearchClauseKind.BREADTH_FIRST : CteSearchClauseKind.DEPTH_FIRST; |
976 | 971 | }
|
977 | 972 |
|
978 | 973 | @Override
|
|
0 commit comments