From 36b5500ad0cdb528de41dba220db33aefc380113 Mon Sep 17 00:00:00 2001 From: Ramil Sayetov Date: Tue, 15 Aug 2023 09:29:39 +0300 Subject: [PATCH] Reuse JOOQ helper to determine the dialect to use See gh-36991 --- .../boot/autoconfigure/jooq/SqlDialectLookup.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/SqlDialectLookup.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/SqlDialectLookup.java index b91b72b6825..cc49388b5bb 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/SqlDialectLookup.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jooq/SqlDialectLookup.java @@ -16,8 +16,7 @@ package org.springframework.boot.autoconfigure.jooq; -import java.sql.DatabaseMetaData; - +import java.sql.SQLException; import javax.sql.DataSource; import org.apache.commons.logging.Log; @@ -25,14 +24,12 @@ import org.apache.commons.logging.LogFactory; import org.jooq.SQLDialect; import org.jooq.tools.jdbc.JDBCUtils; -import org.springframework.jdbc.support.JdbcUtils; -import org.springframework.jdbc.support.MetaDataAccessException; - /** * Utility to lookup well known {@link SQLDialect SQLDialects} from a {@link DataSource}. * * @author Michael Simons * @author Lukas Eder + * @author Ramil Saetov */ final class SqlDialectLookup { @@ -51,13 +48,9 @@ final class SqlDialectLookup { return SQLDialect.DEFAULT; } try { - String url = JdbcUtils.extractDatabaseMetaData(dataSource, DatabaseMetaData::getURL); - SQLDialect sqlDialect = JDBCUtils.dialect(url); - if (sqlDialect != null) { - return sqlDialect; - } + return JDBCUtils.dialect(dataSource.getConnection()); } - catch (MetaDataAccessException ex) { + catch (SQLException ex) { logger.warn("Unable to determine jdbc url from datasource", ex); } return SQLDialect.DEFAULT;