From fb370c63a6511a16eb79ad5fb37a47d7abe34693 Mon Sep 17 00:00:00 2001 From: kimminseok Date: Tue, 7 Oct 2025 14:18:34 +0900 Subject: [PATCH] feat(java): implement getRow() in JDBC4ResultSet --- .../java/tech/turso/jdbc4/JDBC4ResultSet.java | 2 +- .../tech/turso/jdbc4/JDBC4ResultSetTest.java | 29 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/bindings/java/src/main/java/tech/turso/jdbc4/JDBC4ResultSet.java b/bindings/java/src/main/java/tech/turso/jdbc4/JDBC4ResultSet.java index a094abe37..eb515455b 100644 --- a/bindings/java/src/main/java/tech/turso/jdbc4/JDBC4ResultSet.java +++ b/bindings/java/src/main/java/tech/turso/jdbc4/JDBC4ResultSet.java @@ -453,7 +453,7 @@ public final class JDBC4ResultSet implements ResultSet, ResultSetMetaData { @Override public int getRow() throws SQLException { - throw new UnsupportedOperationException("not implemented"); + return resultSet.getRow(); } @Override diff --git a/bindings/java/src/test/java/tech/turso/jdbc4/JDBC4ResultSetTest.java b/bindings/java/src/test/java/tech/turso/jdbc4/JDBC4ResultSetTest.java index 1d634ada7..81efafa34 100644 --- a/bindings/java/src/test/java/tech/turso/jdbc4/JDBC4ResultSetTest.java +++ b/bindings/java/src/test/java/tech/turso/jdbc4/JDBC4ResultSetTest.java @@ -686,4 +686,33 @@ class JDBC4ResultSetTest { assertFalse(resultSet.isBeforeFirst()); assertTrue(resultSet.isAfterLast()); } + + @Test + void test_getRow() throws Exception { + stmt.executeUpdate("CREATE TABLE test_row (id INTEGER);"); + stmt.executeUpdate("INSERT INTO test_row VALUES (1);"); + stmt.executeUpdate("INSERT INTO test_row VALUES (2);"); + stmt.executeUpdate("INSERT INTO test_row VALUES (3);"); + + ResultSet resultSet = stmt.executeQuery("SELECT * FROM test_row"); + + // Before first row + assertEquals(0, resultSet.getRow()); + + // First row + resultSet.next(); + assertEquals(1, resultSet.getRow()); + + // Second row + resultSet.next(); + assertEquals(2, resultSet.getRow()); + + // Third row + resultSet.next(); + assertEquals(3, resultSet.getRow()); + + // After last row + resultSet.next(); + assertEquals(3, resultSet.getRow()); + } }