From 21476910b5be8e08f8d058a77bd20e96f8158aa5 Mon Sep 17 00:00:00 2001 From: Dmitrii Barnukov Date: Fri, 20 Jun 2025 11:09:36 +0200 Subject: [PATCH 1/3] dbeaver/dbeaver-jdbc-libsql#17 Added turso libsql url support --- .../java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java | 5 +++-- .../java/com/dbeaver/jdbc/driver/libsql/LibSqlDriver.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java b/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java index d7cc485..269ddb3 100644 --- a/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java +++ b/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java @@ -20,8 +20,9 @@ public class LibSqlConstants { - public static final Pattern CONNECTION_URL_EXAMPLE = Pattern.compile("jdbc:dbeaver:libsql:"); - public static final Pattern CONNECTION_URL_PATTERN = Pattern.compile("jdbc:dbeaver:libsql:(.+)"); + public static final String CONNECTION_URL_EXAMPLES = "jdbc:dbeaver:libsql:, libsql://"; + public static final String CONNECTION_PROTOCOLS_REGEXP = "jdbc:dbeaver:libsql:|libsql://"; + public static final Pattern CONNECTION_URL_PATTERN = Pattern.compile("(" + CONNECTION_PROTOCOLS_REGEXP + ")(.+)"); public static final int DRIVER_VERSION_MAJOR = 1; public static final int DRIVER_VERSION_MINOR = 0; diff --git a/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlDriver.java b/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlDriver.java index 6ab84cd..65abd43 100644 --- a/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlDriver.java +++ b/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlDriver.java @@ -46,9 +46,10 @@ public Connection connect(String url, Properties info) throws SQLException { if (!matcher.matches()) { throw new LibSqlException( "Invalid connection URL: " + url + - ".\nExpected URL format: " + LibSqlConstants.CONNECTION_URL_EXAMPLE); + ".\nExpected URL formats: " + LibSqlConstants.CONNECTION_URL_EXAMPLES); } - String targetUrl = matcher.group(1); + String targetUrl = matcher.group(0) + .replaceAll(LibSqlConstants.CONNECTION_PROTOCOLS_REGEXP, "https://"); Map props = new LinkedHashMap<>(); for (Enumeration pne = info.propertyNames(); pne.hasMoreElements(); ) { From 76cfa7982614e3cea47d2bdcb8228ae8f2350e42 Mon Sep 17 00:00:00 2001 From: Dmitrii Barnukov Date: Mon, 30 Jun 2025 08:59:41 +0200 Subject: [PATCH 2/3] dbeaver/dbeaver-jdbc-libsql#17 Added https url handling --- .../java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java b/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java index 269ddb3..06bb8cd 100644 --- a/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java +++ b/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java @@ -21,8 +21,9 @@ public class LibSqlConstants { public static final String CONNECTION_URL_EXAMPLES = "jdbc:dbeaver:libsql:, libsql://"; - public static final String CONNECTION_PROTOCOLS_REGEXP = "jdbc:dbeaver:libsql:|libsql://"; - public static final Pattern CONNECTION_URL_PATTERN = Pattern.compile("(" + CONNECTION_PROTOCOLS_REGEXP + ")(.+)"); + public static final String CONNECTION_PROTOCOLS_REGEXP = "jdbc:dbeaver:libsql:(https://)?|libsql://"; + public static final Pattern CONNECTION_URL_PATTERN = + Pattern.compile("(" + CONNECTION_PROTOCOLS_REGEXP + ")[a-z0-9.-]+"); public static final int DRIVER_VERSION_MAJOR = 1; public static final int DRIVER_VERSION_MINOR = 0; From 8e488819457dd1d1bea45150b8474e846fad9adc Mon Sep 17 00:00:00 2001 From: Dmitrii Barnukov Date: Mon, 30 Jun 2025 11:12:47 +0200 Subject: [PATCH 3/3] dbeaver/dbeaver-jdbc-libsql#17 Added libsql url --- .../java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java b/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java index 06bb8cd..a93e3fd 100644 --- a/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java +++ b/com.dbeaver.jdbc.driver.libsql/src/main/java/com/dbeaver/jdbc/driver/libsql/LibSqlConstants.java @@ -21,7 +21,7 @@ public class LibSqlConstants { public static final String CONNECTION_URL_EXAMPLES = "jdbc:dbeaver:libsql:, libsql://"; - public static final String CONNECTION_PROTOCOLS_REGEXP = "jdbc:dbeaver:libsql:(https://)?|libsql://"; + public static final String CONNECTION_PROTOCOLS_REGEXP = "jdbc:dbeaver:libsql:(https://)?(libsql://)?|libsql://"; public static final Pattern CONNECTION_URL_PATTERN = Pattern.compile("(" + CONNECTION_PROTOCOLS_REGEXP + ")[a-z0-9.-]+");