From f49bce8bde93bc243d2654d2a684e984695b05f8 Mon Sep 17 00:00:00 2001 From: Christian Beikov Date: Sun, 21 May 2023 13:27:49 +0200 Subject: [PATCH] HHH-16656 Register ranking window functions for H2 1.4.200 --- .../src/main/java/org/hibernate/dialect/H2Dialect.java | 4 ++-- .../org/hibernate/testing/orm/junit/DialectFeatureChecks.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java index 479c5a85f5..c8ac546e60 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java @@ -348,10 +348,10 @@ public void initializeFunctionRegistry(FunctionContributions functionContributio functionFactory.rownum(); if ( getVersion().isSameOrAfter( 1, 4, 200 ) ) { functionFactory.windowFunctions(); + functionFactory.inverseDistributionOrderedSetAggregates(); + functionFactory.hypotheticalOrderedSetAggregates(); if ( getVersion().isSameOrAfter( 2 ) ) { functionFactory.listagg( null ); - functionFactory.inverseDistributionOrderedSetAggregates(); - functionFactory.hypotheticalOrderedSetAggregates(); } else { // Use group_concat until 2.x as listagg was buggy diff --git a/hibernate-testing/src/main/java/org/hibernate/testing/orm/junit/DialectFeatureChecks.java b/hibernate-testing/src/main/java/org/hibernate/testing/orm/junit/DialectFeatureChecks.java index 138a75d192..03faac5307 100644 --- a/hibernate-testing/src/main/java/org/hibernate/testing/orm/junit/DialectFeatureChecks.java +++ b/hibernate-testing/src/main/java/org/hibernate/testing/orm/junit/DialectFeatureChecks.java @@ -412,7 +412,7 @@ public boolean apply(Dialect dialect) { public static class SupportsInverseDistributionFunctions implements DialectFeatureCheck { public boolean apply(Dialect dialect) { dialect = DialectDelegateWrapper.extractRealDialect( dialect ); - return dialect instanceof H2Dialect && dialect.getVersion().isSameOrAfter( 2 ) + return dialect instanceof H2Dialect && dialect.getVersion().isSameOrAfter( 1, 4, 200 ) || dialect instanceof PostgreSQLDialect || dialect instanceof AbstractHANADialect || dialect instanceof CockroachDialect @@ -426,7 +426,7 @@ public boolean apply(Dialect dialect) { public static class SupportsHypotheticalSetFunctions implements DialectFeatureCheck { public boolean apply(Dialect dialect) { dialect = DialectDelegateWrapper.extractRealDialect( dialect ); - return dialect instanceof H2Dialect && dialect.getVersion().isSameOrAfter( 2 ) + return dialect instanceof H2Dialect && dialect.getVersion().isSameOrAfter( 1, 4, 200 ) || dialect instanceof PostgreSQLDialect || dialect instanceof AbstractHANADialect || dialect instanceof CockroachDialect