JDBC drivers: fix 'Unsupported URL' – drivers might be called witrh wrong URLs and then they should (according to the JavaDoc) return null instead of throwing an exception. v_0
authorFrantišek Kučera <franta-hg@frantovo.cz>
Tue, 26 Feb 2019 17:31:41 +0100
branchv_0
changeset 235 8ce612cca4d8
parent 234 305871254838
child 236 a3ec71fa8e17
JDBC drivers: fix 'Unsupported URL' – drivers might be called witrh wrong URLs and then they should (according to the JavaDoc) return null instead of throwing an exception. This problem occurred when --test-connection was testing multiple connections in parallel.
java/jdbc-dk-driver/src/info/globalcode/sql/dk/jdbc/Driver.java
java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/Driver.java
--- a/java/jdbc-dk-driver/src/info/globalcode/sql/dk/jdbc/Driver.java	Tue Feb 26 16:36:45 2019 +0100
+++ b/java/jdbc-dk-driver/src/info/globalcode/sql/dk/jdbc/Driver.java	Tue Feb 26 17:31:41 2019 +0100
@@ -86,7 +86,8 @@
 				throw new SQLException("Unable to load SQL-DK configuration for name: " + name, e);
 			}
 		} else {
-			throw new SQLException("Unsupported URL: " + url);
+			// The driver should return "null" if it realizes it is the wrong kind of driver to connect to the given URL.
+			return null;
 		}
 	}
 
--- a/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/Driver.java	Tue Feb 26 16:36:45 2019 +0100
+++ b/java/jdbc-loopback-driver/src/info/globalcode/jdbc/loopback/Driver.java	Tue Feb 26 17:31:41 2019 +0100
@@ -46,7 +46,8 @@
 		if (acceptsURL(url)) {
 			return new Connection(url, info);
 		} else {
-			throw new SQLException("Unsupported URL: " + url);
+			// The driver should return "null" if it realizes it is the wrong kind of driver to connect to the given URL.
+			return null;
 		}
 	}