From 79e2fba42467372aabf8b52501781cbe7a899a6a 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:17:47 +0900 Subject: [PATCH] Implement minor methods/features in JDBC4Connection.java --- .../tursodatabase/jdbc4/JDBC4Connection.java | 68 +++++++++---------- 1 file changed, 34 insertions(+), 34 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 d5b73e627..34287f0f9 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 @@ -10,6 +10,8 @@ import org.github.tursodatabase.core.LimboConnection; public class JDBC4Connection extends LimboConnection { + private Map> typeMap = new HashMap<>(); + public JDBC4Connection(String url, String filePath) throws SQLException { super(url, filePath); } @@ -45,17 +47,8 @@ public class JDBC4Connection extends LimboConnection { } @Override - @SkipNullableCheck - public CallableStatement prepareCall(String sql) throws SQLException { - // TODO - return null; - } - - @Override - @SkipNullableCheck public String nativeSQL(String sql) throws SQLException { - // TODO - return ""; + return sql; } @Override @@ -108,13 +101,10 @@ public class JDBC4Connection extends LimboConnection { } @Override - public void setCatalog(String catalog) throws SQLException { - // TODO - } + public void setCatalog(String catalog) throws SQLException {} @Override public String getCatalog() throws SQLException { - // TODO return ""; } @@ -149,33 +139,30 @@ public class JDBC4Connection extends LimboConnection { return null; } - @Override - @SkipNullableCheck - public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) - throws SQLException { - // TODO - return null; - } - @Override public Map> getTypeMap() throws SQLException { - // TODO - return new HashMap<>(); + return this.typeMap; } @Override public void setTypeMap(Map> map) throws SQLException { - // TODO - } - - @Override - public void setHoldability(int holdability) throws SQLException { - // TODO + synchronized (this) { + this.typeMap = map; + } } @Override public int getHoldability() throws SQLException { - return 0; + checkOpen(); + return ResultSet.CLOSE_CURSORS_AT_COMMIT; + } + + @Override + public void setHoldability(int holdability) throws SQLException { + checkOpen(); + if (holdability != ResultSet.CLOSE_CURSORS_AT_COMMIT) { + throw new SQLException("Limbo only supports CLOSE_CURSORS_AT_COMMIT"); + } } @Override @@ -212,12 +199,25 @@ public class JDBC4Connection extends LimboConnection { } @Override - @SkipNullableCheck + public CallableStatement prepareCall(String sql) throws SQLException { + return prepareCall( + sql, + ResultSet.TYPE_FORWARD_ONLY, + ResultSet.CONCUR_READ_ONLY, + ResultSet.CLOSE_CURSORS_AT_COMMIT); + } + + @Override + public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) + throws SQLException { + return prepareCall(sql, resultSetType, resultSetConcurrency, ResultSet.CLOSE_CURSORS_AT_COMMIT); + } + + @Override public CallableStatement prepareCall( String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException { - // TODO - return null; + throw new SQLException("Limbo does not support stored procedures"); } @Override