Skip to content

Commit 2577ae8

Browse files
committed
Implement query transformer to emulate for ordered set aggregate functions through their window variants
1 parent 750b7ad commit 2577ae8

24 files changed

+1480
-100
lines changed

hibernate-core/src/main/java/org/hibernate/dialect/AbstractHANADialect.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ public void initializeFunctionRegistry(QueryEngine queryEngine) {
311311

312312
functionFactory.listagg_stringAgg( "varchar" );
313313
functionFactory.inverseDistributionOrderedSetAggregates();
314-
functionFactory.hypotheticalOrderedSetAggregates();
314+
functionFactory.hypotheticalOrderedSetAggregates_windowEmulation();
315315
}
316316

317317
@Override

hibernate-core/src/main/java/org/hibernate/dialect/DB2Dialect.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ public void initializeFunctionRegistry(QueryEngine queryEngine) {
267267
functionFactory.listagg( null );
268268
if ( getDB2Version().isSameOrAfter( 11, 1 ) ) {
269269
functionFactory.inverseDistributionOrderedSetAggregates();
270-
functionFactory.hypotheticalOrderedSetAggregates();
270+
functionFactory.hypotheticalOrderedSetAggregates_windowEmulation();
271271
}
272272
}
273273
}

hibernate-core/src/main/java/org/hibernate/dialect/DB2iDialect.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public void initializeFunctionRegistry(QueryEngine queryEngine) {
4949
CommonFunctionFactory functionFactory = new CommonFunctionFactory(queryEngine);
5050
functionFactory.listagg( null );
5151
functionFactory.inverseDistributionOrderedSetAggregates();
52-
functionFactory.hypotheticalOrderedSetAggregates();
52+
functionFactory.hypotheticalOrderedSetAggregates_windowEmulation();
5353
}
5454
}
5555

hibernate-core/src/main/java/org/hibernate/dialect/DB2zDialect.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public void initializeFunctionRegistry(QueryEngine queryEngine) {
6060
CommonFunctionFactory functionFactory = new CommonFunctionFactory(queryEngine);
6161
functionFactory.listagg( null );
6262
functionFactory.inverseDistributionOrderedSetAggregates();
63-
functionFactory.hypotheticalOrderedSetAggregates();
63+
functionFactory.hypotheticalOrderedSetAggregates_windowEmulation();
6464
}
6565
}
6666

hibernate-core/src/main/java/org/hibernate/dialect/OracleSqlAstTranslator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ protected void renderRowNumber(SelectClause selectClause, QueryPart queryPart) {
330330
}
331331

332332
@Override
333-
public void visitOver(Over over) {
333+
public void visitOver(Over<?> over) {
334334
final Expression expression = over.getExpression();
335335
if ( expression instanceof FunctionExpression && "row_number".equals( ( (FunctionExpression) expression ).getFunctionName() ) ) {
336336
if ( over.getPartitions().isEmpty() && over.getOrderList().isEmpty()

hibernate-core/src/main/java/org/hibernate/dialect/SQLServerDialect.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,8 +267,8 @@ public void initializeFunctionRegistry(QueryEngine queryEngine) {
267267
.setParameterTypes(INTEGER)
268268
.register();
269269
}
270-
functionFactory.inverseDistributionOrderedSetAggregates();
271-
functionFactory.hypotheticalOrderedSetAggregates();
270+
functionFactory.inverseDistributionOrderedSetAggregates_windowEmulation();
271+
functionFactory.hypotheticalOrderedSetAggregates_windowEmulation();
272272
if ( getVersion().isSameOrAfter( 14 ) ) {
273273
functionFactory.listagg_stringAggWithinGroup( "varchar(max)" );
274274
}

0 commit comments

Comments
 (0)