From 273af6ffa97485407ac3b56688ba3155cf3a29fc Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 30 Aug 2023 10:18:59 +0200 Subject: [PATCH] [jOOQ/jOOQ#15509] Add a log message whenever an exception occurs with the SQLDialect.DEFAULT --- .../org/jooq/impl/DefaultExecuteContext.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java index c90c392867..073f7e9fa0 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java @@ -102,6 +102,7 @@ class DefaultExecuteContext implements ExecuteContext { private static final JooqLogger log = JooqLogger.getLogger(DefaultExecuteContext.class); private static final JooqLogger logVersionSupport = JooqLogger.getLogger(DefaultExecuteContext.class, "logVersionSupport", 1); + private static final JooqLogger logDefaultDialect = JooqLogger.getLogger(DefaultExecuteContext.class, "logDefaultDialect", 3); // Persistent attributes (repeatable) private final ConverterContext converterContext; @@ -809,6 +810,23 @@ class DefaultExecuteContext implements ExecuteContext { public final void sqlException(SQLException e) { this.sqlException = e; exception(Tools.translate(sql(), e)); + + if (family() == SQLDialect.DEFAULT && logDefaultDialect.isWarnEnabled()) + logDefaultDialect.warn("Unsupported dialect", + """ + An exception was thrown when executing a query with unsupported dialect: SQLDialect.DEFAULT. + + This is usually due to one of 2 reasons: + - The dialect was configured by accident (e.g. through a wrong Spring Boot configuration). + In this case, the solution is to configure the correct dialect, e.g. SQLDialect.POSTGRES + - SQLDialect.DEFAULT is used as a "close enough" approximation of an unsupported dialect. + Please beware that SQLDialect.DEFAULT is used mainly for DEBUG logging SQL strings, e.g. + when calling Query.toString(). It does not guarantee stability of generated SQL, i.e. + future versions of jOOQ may produce different SQL strings, which may break assumptions + about your unsupported dialect. + Please visit https://github.com/jOOQ/jOOQ/discussions/14059 for new dialect support. + """ + ); } @Override