File tree Expand file tree Collapse file tree 6 files changed +15
-5
lines changed
hibernate-core/src/main/java/org/hibernate Expand file tree Collapse file tree 6 files changed +15
-5
lines changed Original file line number Diff line number Diff line change 53
53
import org .hibernate .query .sqm .tree .expression .SqmLiteralEntityType ;
54
54
import org .hibernate .query .sqm .tree .expression .SqmModifiedSubQueryExpression ;
55
55
import org .hibernate .query .sqm .tree .expression .SqmNamedParameter ;
56
+ import org .hibernate .query .sqm .tree .expression .SqmOrderedSetAggregateFunction ;
56
57
import org .hibernate .query .sqm .tree .expression .SqmOverflow ;
57
58
import org .hibernate .query .sqm .tree .expression .SqmParameterizedEntityType ;
58
59
import org .hibernate .query .sqm .tree .expression .SqmPositionalParameter ;
@@ -582,6 +583,9 @@ public Object visitFunction(SqmFunction<?> sqmFunction) {
582
583
if ( filter != null ) {
583
584
filter .accept ( this );
584
585
}
586
+ if ( sqmFunction instanceof SqmOrderedSetAggregateFunction <?> ) {
587
+ visitOrderByClause ( ( (SqmOrderedSetAggregateFunction <?>) sqmFunction ).getWithinGroup () );
588
+ }
585
589
}
586
590
return sqmFunction ;
587
591
}
Original file line number Diff line number Diff line change @@ -161,7 +161,7 @@ public interface SqlAstWalker {
161
161
162
162
void visitQueryLiteral (QueryLiteral <?> queryLiteral );
163
163
164
- void acceptConvertedQueryLiteral (ConvertedQueryLiteral <?,?> convertedQueryLiteral );
164
+ void visitConvertedQueryLiteral (ConvertedQueryLiteral <?,?> convertedQueryLiteral );
165
165
166
166
void visitUnaryOperationExpression (UnaryOperation unaryOperationExpression );
167
167
Original file line number Diff line number Diff line change @@ -4589,7 +4589,7 @@ public void visitQueryLiteral(QueryLiteral<?> queryLiteral) {
4589
4589
}
4590
4590
4591
4591
@ Override
4592
- public void acceptConvertedQueryLiteral (ConvertedQueryLiteral <?, ?> convertedQueryLiteral ) {
4592
+ public void visitConvertedQueryLiteral (ConvertedQueryLiteral <?, ?> convertedQueryLiteral ) {
4593
4593
visitLiteral ( convertedQueryLiteral );
4594
4594
}
4595
4595
Original file line number Diff line number Diff line change 34
34
import org .hibernate .sql .ast .tree .expression .JdbcLiteral ;
35
35
import org .hibernate .sql .ast .tree .expression .JdbcParameter ;
36
36
import org .hibernate .sql .ast .tree .expression .ModifiedSubQueryExpression ;
37
+ import org .hibernate .sql .ast .tree .expression .OrderedSetAggregateFunctionExpression ;
37
38
import org .hibernate .sql .ast .tree .expression .Over ;
38
39
import org .hibernate .sql .ast .tree .expression .Overflow ;
39
40
import org .hibernate .sql .ast .tree .expression .QueryLiteral ;
@@ -106,6 +107,11 @@ public void visitSelfRenderingExpression(SelfRenderingExpression expression) {
106
107
if ( aggregateFunctionExpression .getFilter () != null ) {
107
108
aggregateFunctionExpression .getFilter ().accept ( this );
108
109
}
110
+ if ( expression instanceof OrderedSetAggregateFunctionExpression ) {
111
+ for ( SortSpecification specification : ( (OrderedSetAggregateFunctionExpression ) expression ).getWithinGroup () ) {
112
+ specification .accept ( this );
113
+ }
114
+ }
109
115
}
110
116
}
111
117
}
@@ -480,7 +486,7 @@ public void visitQueryLiteral(QueryLiteral<?> queryLiteral) {
480
486
}
481
487
482
488
@ Override
483
- public void acceptConvertedQueryLiteral (ConvertedQueryLiteral <?,?> convertedQueryLiteral ) {
489
+ public void visitConvertedQueryLiteral (ConvertedQueryLiteral <?,?> convertedQueryLiteral ) {
484
490
}
485
491
486
492
@ Override
Original file line number Diff line number Diff line change @@ -219,7 +219,7 @@ public void visitQueryLiteral(QueryLiteral<?> queryLiteral) {
219
219
}
220
220
221
221
@ Override
222
- public void acceptConvertedQueryLiteral (ConvertedQueryLiteral <?, ?> convertedQueryLiteral ) {
222
+ public void visitConvertedQueryLiteral (ConvertedQueryLiteral <?, ?> convertedQueryLiteral ) {
223
223
doReplaceExpression ( convertedQueryLiteral );
224
224
}
225
225
Original file line number Diff line number Diff line change @@ -97,7 +97,7 @@ public void bindParameterValue(
97
97
98
98
@ Override
99
99
public void accept (SqlAstWalker sqlTreeWalker ) {
100
- sqlTreeWalker .acceptConvertedQueryLiteral ( this );
100
+ sqlTreeWalker .visitConvertedQueryLiteral ( this );
101
101
}
102
102
103
103
@ Override
You can’t perform that action at this time.
0 commit comments