Skip to content

Commit eead3d3

Browse files
committed
test: Cover pstmt.execute() with DML and SELECT
1 parent cc7116d commit eead3d3

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

flight/flight-sql-jdbc-core/src/test/java/org/apache/arrow/driver/jdbc/ArrowFlightPreparedStatementTest.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import static org.hamcrest.MatcherAssert.assertThat;
2121
import static org.junit.jupiter.api.Assertions.assertAll;
2222
import static org.junit.jupiter.api.Assertions.assertEquals;
23+
import static org.junit.jupiter.api.Assertions.assertFalse;
24+
import static org.junit.jupiter.api.Assertions.assertTrue;
2325

2426
import java.nio.charset.StandardCharsets;
2527
import java.sql.Connection;
@@ -83,6 +85,19 @@ public void testSimpleQueryNoParameterBinding() throws SQLException {
8385
}
8486
}
8587

88+
@Test
89+
public void testSimpleQueryNoParameterBindingWithExecute() throws SQLException {
90+
final String query = CoreMockedSqlProducers.LEGACY_REGULAR_SQL_CMD;
91+
try (final PreparedStatement preparedStatement = connection.prepareStatement(query)) {
92+
boolean isResultSet = preparedStatement.execute();
93+
assertTrue(isResultSet);
94+
final ResultSet resultSet = preparedStatement.getResultSet();
95+
CoreMockedSqlProducers.assertLegacyRegularSqlResultSet(resultSet);
96+
assertFalse(preparedStatement.getMoreResults());
97+
assertEquals(-1, preparedStatement.getUpdateCount());
98+
}
99+
}
100+
86101
@Test
87102
public void testQueryWithParameterBinding() throws SQLException {
88103
final String query = "Fake query with parameters";
@@ -174,6 +189,20 @@ public void testUpdateQuery() throws SQLException {
174189
}
175190
}
176191

192+
@Test
193+
public void testUpdateQueryWithExecute() throws SQLException {
194+
String query = "Fake update with execute";
195+
PRODUCER.addUpdateQuery(query, /*updatedRows*/ 42);
196+
try (final PreparedStatement stmt = connection.prepareStatement(query)) {
197+
boolean isResultSet = stmt.execute();
198+
assertFalse(isResultSet);
199+
int updated = stmt.getUpdateCount();
200+
assertEquals(42, updated);
201+
assertFalse(stmt.getMoreResults());
202+
assertEquals(-1, stmt.getUpdateCount());
203+
}
204+
}
205+
177206
@Test
178207
public void testUpdateQueryWithParameters() throws SQLException {
179208
String query = "Fake update with parameters";

0 commit comments

Comments
 (0)