Changeset: 52bb7868ba43 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/52bb7868ba43
Modified Files:
src/test/java/JDBC_API_Tester.java
src/test/java/org/monetdb/jdbc/ApiTests.java
Branch: default
Log Message:
Convert BugExecuteUpdate_Bug_3350() -> ApiTests#testBug3350()
diffs (118 lines):
diff --git a/src/test/java/JDBC_API_Tester.java
b/src/test/java/JDBC_API_Tester.java
--- a/src/test/java/JDBC_API_Tester.java
+++ b/src/test/java/JDBC_API_Tester.java
@@ -2192,76 +2192,6 @@ public final class JDBC_API_Tester exten
}
@Test
- public void BugExecuteUpdate_Bug_3350() {
- sb.setLength(0); // clear the output log buffer
-
- Statement stmt = null;
- try {
- con.setAutoCommit(false); // disable auto commit,
so we can roll back the transaction
- stmt = con.createStatement();
- stmt.execute("CREATE TABLE t3350 (keyword VARCHAR(30)
PRIMARY KEY)");
- con.commit();
-
- executeDML(stmt, "INSERT INTO t3350 VALUES
('Bug_3350')"); // should insert 1 row
- executeDML(stmt, "INSERT INTO t3350 VALUES
('Bug_3350')"); // this will result in an SQLException due to PK uniqueness
violation
- con.rollback();
-
- executeDML(stmt, "INSERT INTO t3350 VALUES
('Bug_3350')"); // should insert 1 row
- executeDML(stmt, "INSERT INTO t3350 VALUES ('1'),
('x'), ('3'), ('y')"); // should insert 4 rows
- executeDML(stmt, "DELETE FROM t3350 WHERE \"keyword\" =
'Bug_3350'"); // should delete 1 row
- executeDML(stmt, "DELETE FROM t3350 WHERE \"keyword\" =
'Bug_3350'"); // should delete 0 rows
- executeDML(stmt, "UPDATE t3350 set \"keyword\" =
keyword||'_ext'"); // should update 4 rows
- executeDML(stmt, "DELETE FROM t3350"); // should delete
4 rows
- con.commit();
- } catch (SQLException se) {
- sb.append(se.getMessage()).append("\n");
- }
- closeStmtResSet(stmt, null);
-
- // cleanup
- try {
- stmt.execute("DROP TABLE IF EXISTS t3350");
- con.commit();
- con.setAutoCommit(true); // enable auto commit
- } catch (SQLException e) {
- sb.append("FAILED:
").append(e.getMessage()).append("\n");
- }
-
- compareExpectedOutput("BugExecuteUpdate_Bug_3350",
- "executeUpdate(INSERT ...) returned: 1\n" +
- "getUpdateCount() returned: 1\n" +
- "INSERT INTO: PRIMARY KEY constraint
't3350.t3350_keyword_pkey' violated\n" +
- "getUpdateCount() returned: 1\n" +
- "executeUpdate(INSERT ...) returned: 1\n" +
- "getUpdateCount() returned: 1\n" +
- "executeUpdate(INSERT ...) returned: 4\n" +
- "getUpdateCount() returned: 4\n" +
- "executeUpdate(DELETE ...) returned: 1\n" +
- "getUpdateCount() returned: 1\n" +
- "executeUpdate(DELETE ...) returned: 0\n" +
- "getUpdateCount() returned: 0\n" +
- "executeUpdate(UPDATE ...) returned: 4\n" +
- "getUpdateCount() returned: 4\n" +
- "executeUpdate(DELETE ...) returned: 4\n" +
- "getUpdateCount() returned: 4\n");
- }
-
- private void executeDML(Statement st, String sql) {
- try {
- int upd_count = st.executeUpdate(sql);
- sb.append("executeUpdate(").append(sql.substring(0,
6)).append(" ...) returned: ").append(upd_count).append("\n");
- } catch (SQLException se) {
- sb.append(se.getMessage()).append("\n");
- }
-
- try {
- sb.append("getUpdateCount() returned:
").append(st.getUpdateCount()).append("\n");
- } catch (SQLException se) {
- sb.append(se.getMessage()).append("\n");
- }
- }
-
- @Test
public void Bug_IsValid_Timeout_Bug_6782() {
sb.setLength(0); // clear the output log buffer
diff --git a/src/test/java/org/monetdb/jdbc/ApiTests.java
b/src/test/java/org/monetdb/jdbc/ApiTests.java
--- a/src/test/java/org/monetdb/jdbc/ApiTests.java
+++ b/src/test/java/org/monetdb/jdbc/ApiTests.java
@@ -1948,4 +1948,34 @@ public class ApiTests {
assertFalse(rs.next());
}
+ @Test
+ public void testBug3350() throws SQLException {
+ startScratchTransaction();
+
+ try {
+ stmt.execute("DROP TABLE IF EXISTS t3350");
+ stmt.execute("CREATE TABLE t3350(keyword VARCHAR(30)
PRIMARY KEY)");
+ conn.commit();
+
+ assertEquals(1, stmt.executeUpdate("INSERT INTO t3350
VALUES ('Bug_3350')"));
+ assertSQLException(
+ "PRIMARY KEY",
+ () -> stmt.executeUpdate("INSERT INTO
t3350 VALUES ('Bug_3350')"));
+ conn.rollback();
+
+ assertEquals(1, stmt.executeUpdate("INSERT INTO t3350
VALUES ('Bug_3350')"));
+ assertEquals(4, stmt.executeUpdate("INSERT INTO t3350
VALUES ('1'), ('x'), ('3'), ('y')"));
+ assertEquals(1, stmt.executeUpdate("DELETE FROM t3350
WHERE \"keyword\" = 'Bug_3350'"));
+ assertEquals(0, stmt.executeUpdate("DELETE FROM t3350
WHERE \"keyword\" = 'Bug_3350'"));
+ assertEquals(4, stmt.executeUpdate("UPDATE t3350 set
\"keyword\" = keyword||'_ext'"));
+ assertEquals(4, stmt.executeUpdate("DELETE FROM
t3350"));
+ conn.commit();
+ } finally {
+ ignoreFailures(() -> {
+ conn.rollback();
+ stmt.execute("DROP TABLE IF EXISTS t3350");
+ conn.commit();
+ });
+ }
+ }
}
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]