diff --git a/bom/application/pom.xml b/bom/application/pom.xml
index 987e8fcfff825..8936870805d2f 100644
--- a/bom/application/pom.xml
+++ b/bom/application/pom.xml
@@ -119,7 +119,7 @@
4.1.5
9.2.1
2.3.2
-
2.3.230
+ 2.3.232
42.7.3
3.4.1
8.3.0
diff --git a/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/config/DialectVersions.java b/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/config/DialectVersions.java
index fd4000f2086e3..67f4e28085192 100644
--- a/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/config/DialectVersions.java
+++ b/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/config/DialectVersions.java
@@ -23,7 +23,7 @@ public static final class Defaults {
// This must be aligned on the H2 version in the Quarkus BOM
// This must never be removed
- public static final String H2 = "2.3.230";
+ public static final String H2 = "2.3.232";
private Defaults() {
}
diff --git a/integration-tests/jpa-h2-embedded/src/main/java/io/quarkus/it/jpa/h2/DialectEndpoint.java b/integration-tests/jpa-h2-embedded/src/main/java/io/quarkus/it/jpa/h2/DialectEndpoint.java
index 5c74ab76c647e..8b8acbc42849f 100644
--- a/integration-tests/jpa-h2-embedded/src/main/java/io/quarkus/it/jpa/h2/DialectEndpoint.java
+++ b/integration-tests/jpa-h2-embedded/src/main/java/io/quarkus/it/jpa/h2/DialectEndpoint.java
@@ -1,6 +1,9 @@
package io.quarkus.it.jpa.h2;
import java.io.IOException;
+import java.sql.SQLException;
+
+import javax.sql.DataSource;
import jakarta.inject.Inject;
import jakarta.ws.rs.GET;
@@ -13,16 +16,27 @@
import io.quarkus.hibernate.orm.runtime.config.DialectVersions;
-@Path("/dialect/version")
+@Path("/dialect/")
@Produces(MediaType.TEXT_PLAIN)
public class DialectEndpoint {
@Inject
SessionFactory sessionFactory;
+ @Inject
+ DataSource dataSource;
@GET
- public String test() throws IOException {
+ @Path("version")
+ public String version() throws IOException {
var version = sessionFactory.unwrap(SessionFactoryImplementor.class).getJdbcServices().getDialect().getVersion();
return DialectVersions.toString(version);
}
+ @GET
+ @Path("actual-db-version")
+ public String actualDbVersion() throws IOException, SQLException {
+ try (var conn = dataSource.getConnection()) {
+ return conn.getMetaData().getDatabaseProductVersion();
+ }
+ }
+
}
diff --git a/integration-tests/jpa-h2-embedded/src/test/java/io/quarkus/it/jpa/h2/DialectTest.java b/integration-tests/jpa-h2-embedded/src/test/java/io/quarkus/it/jpa/h2/DialectTest.java
index b0fcc3838bdfe..c50b9af4f10c5 100644
--- a/integration-tests/jpa-h2-embedded/src/test/java/io/quarkus/it/jpa/h2/DialectTest.java
+++ b/integration-tests/jpa-h2-embedded/src/test/java/io/quarkus/it/jpa/h2/DialectTest.java
@@ -15,7 +15,8 @@
public class DialectTest {
/**
- * This is important to avoid https://github.com/quarkusio/quarkus/issues/1886
+ * This is important for backwards compatibility reasons:
+ * we want to keep using at least the same version as before by default.
*/
@Test
public void version() {
@@ -23,4 +24,14 @@ public void version() {
assertThat(version).startsWith(DialectVersions.Defaults.H2);
}
+ /**
+ * This is important to avoid https://github.com/quarkusio/quarkus/issues/1886
+ */
+ @Test
+ public void actualDbVersion() {
+ String version = RestAssured.when().get("/dialect/actual-db-version").then().extract().body().asString();
+ // Can't use "equal" as the returned string includes trailing information (build date, ...)
+ assertThat(version).startsWith(DialectVersions.Defaults.H2);
+ }
+
}
diff --git a/integration-tests/jpa-h2/src/main/java/io/quarkus/it/jpa/h2/DialectEndpoint.java b/integration-tests/jpa-h2/src/main/java/io/quarkus/it/jpa/h2/DialectEndpoint.java
index 5c74ab76c647e..8b8acbc42849f 100644
--- a/integration-tests/jpa-h2/src/main/java/io/quarkus/it/jpa/h2/DialectEndpoint.java
+++ b/integration-tests/jpa-h2/src/main/java/io/quarkus/it/jpa/h2/DialectEndpoint.java
@@ -1,6 +1,9 @@
package io.quarkus.it.jpa.h2;
import java.io.IOException;
+import java.sql.SQLException;
+
+import javax.sql.DataSource;
import jakarta.inject.Inject;
import jakarta.ws.rs.GET;
@@ -13,16 +16,27 @@
import io.quarkus.hibernate.orm.runtime.config.DialectVersions;
-@Path("/dialect/version")
+@Path("/dialect/")
@Produces(MediaType.TEXT_PLAIN)
public class DialectEndpoint {
@Inject
SessionFactory sessionFactory;
+ @Inject
+ DataSource dataSource;
@GET
- public String test() throws IOException {
+ @Path("version")
+ public String version() throws IOException {
var version = sessionFactory.unwrap(SessionFactoryImplementor.class).getJdbcServices().getDialect().getVersion();
return DialectVersions.toString(version);
}
+ @GET
+ @Path("actual-db-version")
+ public String actualDbVersion() throws IOException, SQLException {
+ try (var conn = dataSource.getConnection()) {
+ return conn.getMetaData().getDatabaseProductVersion();
+ }
+ }
+
}
diff --git a/integration-tests/jpa-h2/src/test/java/io/quarkus/it/jpa/h2/DialectTest.java b/integration-tests/jpa-h2/src/test/java/io/quarkus/it/jpa/h2/DialectTest.java
index b0fcc3838bdfe..c50b9af4f10c5 100644
--- a/integration-tests/jpa-h2/src/test/java/io/quarkus/it/jpa/h2/DialectTest.java
+++ b/integration-tests/jpa-h2/src/test/java/io/quarkus/it/jpa/h2/DialectTest.java
@@ -15,7 +15,8 @@
public class DialectTest {
/**
- * This is important to avoid https://github.com/quarkusio/quarkus/issues/1886
+ * This is important for backwards compatibility reasons:
+ * we want to keep using at least the same version as before by default.
*/
@Test
public void version() {
@@ -23,4 +24,14 @@ public void version() {
assertThat(version).startsWith(DialectVersions.Defaults.H2);
}
+ /**
+ * This is important to avoid https://github.com/quarkusio/quarkus/issues/1886
+ */
+ @Test
+ public void actualDbVersion() {
+ String version = RestAssured.when().get("/dialect/actual-db-version").then().extract().body().asString();
+ // Can't use "equal" as the returned string includes trailing information (build date, ...)
+ assertThat(version).startsWith(DialectVersions.Defaults.H2);
+ }
+
}