From a18294daf45c72476df843846cb41978951badb0 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 26 Jan 2022 10:16:20 +0100 Subject: [PATCH] [jOOQ/jOOQ#12951] GenerationTool should handle HSQLDB driver returning null Connection on Driver::connect --- .../src/main/java/org/jooq/codegen/GenerationTool.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java index dfbf75bedd..0c4e25d6ac 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationTool.java @@ -365,7 +365,13 @@ public class GenerationTool { if (!properties.containsKey("password")) properties.put("password", defaultString(j.getPassword())); - setConnection(driver.newInstance().connect(defaultString(j.getUrl()), properties)); + Connection c = driver.newInstance().connect(defaultString(j.getUrl()), properties); + + // [#12951] Some drivers may (illegally) return null if the URL is incorrect? + if (c == null) + throw new SQLException("Cannot connect to database using JDBC URL: " + j.getUrl() + ". Please review your JDBC configuration in the code generator configuration."); + + setConnection(c); if (j.getInitScript() != null) for (String sql : j.getInitScript().split(defaultIfBlank(j.getInitSeparator(), ";")))