From 968ae74810623ed82a84f76098fe4ab27c6947d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=84=A0=EC=9A=B0?= Date: Sun, 9 Feb 2025 17:28:32 +0900 Subject: [PATCH] Implement isValid --- .../tursodatabase/jdbc4/JDBC4Connection.java | 18 ++++++++++++------ .../jdbc4/JDBC4ConnectionTest.java | 11 +++++++++++ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/bindings/java/src/main/java/org/github/tursodatabase/jdbc4/JDBC4Connection.java b/bindings/java/src/main/java/org/github/tursodatabase/jdbc4/JDBC4Connection.java index 61df095ff..b6e2dcfe7 100644 --- a/bindings/java/src/main/java/org/github/tursodatabase/jdbc4/JDBC4Connection.java +++ b/bindings/java/src/main/java/org/github/tursodatabase/jdbc4/JDBC4Connection.java @@ -205,14 +205,15 @@ public class JDBC4Connection extends LimboConnection { @Override public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) - throws SQLException { - return prepareStatement(sql, resultSetType, resultSetConcurrency, ResultSet.CLOSE_CURSORS_AT_COMMIT); + throws SQLException { + return prepareStatement( + sql, resultSetType, resultSetConcurrency, ResultSet.CLOSE_CURSORS_AT_COMMIT); } @Override public PreparedStatement prepareStatement( - String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) - throws SQLException { + String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) + throws SQLException { checkOpen(); checkCursor(resultSetType, resultSetConcurrency, resultSetHoldability); return new JDBC4PreparedStatement(this, sql); @@ -258,8 +259,13 @@ public class JDBC4Connection extends LimboConnection { @Override public boolean isValid(int timeout) throws SQLException { - // TODO - return false; + if (isClosed()) { + return false; + } + + try (Statement statement = createStatement()) { + return statement.execute("select 1;"); + } } @Override diff --git a/bindings/java/src/test/java/org/github/tursodatabase/jdbc4/JDBC4ConnectionTest.java b/bindings/java/src/test/java/org/github/tursodatabase/jdbc4/JDBC4ConnectionTest.java index 1bc4fb526..6302bc899 100644 --- a/bindings/java/src/test/java/org/github/tursodatabase/jdbc4/JDBC4ConnectionTest.java +++ b/bindings/java/src/test/java/org/github/tursodatabase/jdbc4/JDBC4ConnectionTest.java @@ -84,4 +84,15 @@ class JDBC4ConnectionTest { connection.createStatement( ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, -1)); } + + @Test + void isValid_should_return_true_on_open_connection() throws SQLException { + assertTrue(connection.isValid(10)); + } + + @Test + void isValid_should_return_false_on_closed_connection() throws SQLException { + connection.close(); + assertFalse(connection.isValid(10)); + } }