File tree Expand file tree Collapse file tree 7 files changed +17
-5
lines changed
hibernate-core/src/main/java/org/hibernate Expand file tree Collapse file tree 7 files changed +17
-5
lines changed Original file line number Diff line number Diff line change 5353import org .hibernate .query .sqm .tree .expression .SqmLiteralEntityType ;
5454import org .hibernate .query .sqm .tree .expression .SqmModifiedSubQueryExpression ;
5555import org .hibernate .query .sqm .tree .expression .SqmNamedParameter ;
56+ import org .hibernate .query .sqm .tree .expression .SqmOrderedSetAggregateFunction ;
5657import org .hibernate .query .sqm .tree .expression .SqmOverflow ;
5758import org .hibernate .query .sqm .tree .expression .SqmParameterizedEntityType ;
5859import org .hibernate .query .sqm .tree .expression .SqmPositionalParameter ;
@@ -582,6 +583,9 @@ public Object visitFunction(SqmFunction<?> sqmFunction) {
582583 if ( filter != null ) {
583584 filter .accept ( this );
584585 }
586+ if ( sqmFunction instanceof SqmOrderedSetAggregateFunction <?> ) {
587+ visitOrderByClause ( ( (SqmOrderedSetAggregateFunction <?>) sqmFunction ).getWithinGroup () );
588+ }
585589 }
586590 return sqmFunction ;
587591 }
Original file line number Diff line number Diff line change @@ -161,7 +161,7 @@ public interface SqlAstWalker {
161161
162162 void visitQueryLiteral (QueryLiteral <?> queryLiteral );
163163
164- void acceptConvertedQueryLiteral (ConvertedQueryLiteral <?,?> convertedQueryLiteral );
164+ void visitConvertedQueryLiteral (ConvertedQueryLiteral <?,?> convertedQueryLiteral );
165165
166166 void visitUnaryOperationExpression (UnaryOperation unaryOperationExpression );
167167
Original file line number Diff line number Diff line change @@ -4589,7 +4589,7 @@ public void visitQueryLiteral(QueryLiteral<?> queryLiteral) {
45894589 }
45904590
45914591 @ Override
4592- public void acceptConvertedQueryLiteral (ConvertedQueryLiteral <?, ?> convertedQueryLiteral ) {
4592+ public void visitConvertedQueryLiteral (ConvertedQueryLiteral <?, ?> convertedQueryLiteral ) {
45934593 visitLiteral ( convertedQueryLiteral );
45944594 }
45954595
Original file line number Diff line number Diff line change 3434import org .hibernate .sql .ast .tree .expression .JdbcLiteral ;
3535import org .hibernate .sql .ast .tree .expression .JdbcParameter ;
3636import org .hibernate .sql .ast .tree .expression .ModifiedSubQueryExpression ;
37+ import org .hibernate .sql .ast .tree .expression .OrderedSetAggregateFunctionExpression ;
3738import org .hibernate .sql .ast .tree .expression .Over ;
3839import org .hibernate .sql .ast .tree .expression .Overflow ;
3940import org .hibernate .sql .ast .tree .expression .QueryLiteral ;
@@ -106,6 +107,11 @@ public void visitSelfRenderingExpression(SelfRenderingExpression expression) {
106107 if ( aggregateFunctionExpression .getFilter () != null ) {
107108 aggregateFunctionExpression .getFilter ().accept ( this );
108109 }
110+ if ( expression instanceof OrderedSetAggregateFunctionExpression ) {
111+ for ( SortSpecification specification : ( (OrderedSetAggregateFunctionExpression ) expression ).getWithinGroup () ) {
112+ specification .accept ( this );
113+ }
114+ }
109115 }
110116 }
111117 }
@@ -480,7 +486,7 @@ public void visitQueryLiteral(QueryLiteral<?> queryLiteral) {
480486 }
481487
482488 @ Override
483- public void acceptConvertedQueryLiteral (ConvertedQueryLiteral <?,?> convertedQueryLiteral ) {
489+ public void visitConvertedQueryLiteral (ConvertedQueryLiteral <?,?> convertedQueryLiteral ) {
484490 }
485491
486492 @ Override
Original file line number Diff line number Diff line change @@ -219,7 +219,7 @@ public void visitQueryLiteral(QueryLiteral<?> queryLiteral) {
219219 }
220220
221221 @ Override
222- public void acceptConvertedQueryLiteral (ConvertedQueryLiteral <?, ?> convertedQueryLiteral ) {
222+ public void visitConvertedQueryLiteral (ConvertedQueryLiteral <?, ?> convertedQueryLiteral ) {
223223 doReplaceExpression ( convertedQueryLiteral );
224224 }
225225
Original file line number Diff line number Diff line change @@ -97,7 +97,7 @@ public void bindParameterValue(
9797
9898 @ Override
9999 public void accept (SqlAstWalker sqlTreeWalker ) {
100- sqlTreeWalker .acceptConvertedQueryLiteral ( this );
100+ sqlTreeWalker .visitConvertedQueryLiteral ( this );
101101 }
102102
103103 @ Override
Original file line number Diff line number Diff line change 66 */
77package org .hibernate .sql .ast .tree .expression ;
88
9+ import org .hibernate .Incubating ;
910import org .hibernate .query .sqm .sql .SqmToSqlAstConverter ;
1011import org .hibernate .sql .ast .tree .cte .CteContainer ;
1112import org .hibernate .sql .ast .tree .select .QuerySpec ;
1213
1314/**
1415 * @author Christian Beikov
1516 */
17+ @ Incubating
1618public interface QueryTransformer {
1719
1820 QuerySpec transform (
You can’t perform that action at this time.
0 commit comments