Mercurial > hg > monetdb-java
diff tests/JDBC_API_Tester.java @ 967:5cc071c5c170
Corrected the returned integer values of Statement methods executeUpdate(...), executeLargeUpdate(...), getUpdateCount() and getLargeUpdateCount() and PreparedStatement methods executeUpdate() and executeLargeUpdate(). They returned -2 for DDL statements, which was not in compliance with the JDBC API documentation.
author | Martin van Dinther <martin.van.dinther@monetdbsolutions.com> |
---|---|
date | Thu, 13 Feb 2025 21:16:20 +0100 (8 weeks ago) |
parents | 39b74cc688d2 |
children | f90d811e97eb |
line wrap: on
line diff
--- a/tests/JDBC_API_Tester.java +++ b/tests/JDBC_API_Tester.java @@ -810,8 +810,8 @@ public final class JDBC_API_Tester { private void handleExecuteDDL(Statement stmt, String action, String objtype, String objname, String sql) { try { int response = stmt.executeUpdate(sql); - if (response != Statement.SUCCESS_NO_INFO) - sb.append(action).append(" ").append(objtype).append(" ").append(objname).append(" failed to return -2!! It returned: ").append(response).append("\n"); + if (response != 0) + sb.append(action).append(" ").append(objtype).append(" ").append(objname).append(" failed to return 0!! It returned: ").append(response).append("\n"); } catch (SQLException e) { sb.append("Failed to ").append(action).append(" ").append(objtype).append(" ").append(objname).append(": ").append(e.getMessage()).append("\n"); } @@ -2542,8 +2542,8 @@ public final class JDBC_API_Tester { stmt = con.createStatement(); int updates = 0; updates = stmt.executeUpdate("CREATE TABLE table_Test_PSmetadata ( myint int, mydouble double, mybool boolean, myvarchar varchar(15), myclob clob )"); - if (updates != Statement.SUCCESS_NO_INFO) - sb.append("1. Expected -2 got ").append(updates).append(" instead\n"); + if (updates != 0) + sb.append("1. Expected 0 got ").append(updates).append(" instead\n"); // all NULLs updates = stmt.executeUpdate("INSERT INTO table_Test_PSmetadata VALUES (NULL, NULL, NULL, NULL, NULL)"); @@ -3024,8 +3024,8 @@ public final class JDBC_API_Tester { stmt = con.createStatement(); int updates = stmt.executeUpdate("CREATE TABLE table_Test_PSsqldata ( myinet inet, myurl url )"); - if (updates != Statement.SUCCESS_NO_INFO) - sb.append("1. Expected -2 got ").append(updates).append(" instead\n"); + if (updates != 0) + sb.append("1. Expected 0 got ").append(updates).append(" instead\n"); pstmt = con.prepareStatement("INSERT INTO table_Test_PSsqldata VALUES (?, ?)"); ParameterMetaData pmd = pstmt.getParameterMetaData(); @@ -3131,8 +3131,8 @@ public final class JDBC_API_Tester { stmt = con.createStatement(); int updates = stmt.executeUpdate("CREATE TABLE Test_PStimedate (t time, ts timestamp, d date)"); - if (updates != Statement.SUCCESS_NO_INFO) - sb.append("1. Expected -2 got ").append(updates).append(" instead\n"); + if (updates != 0) + sb.append("1. Expected 0 got ").append(updates).append(" instead\n"); pstmt = con.prepareStatement("INSERT INTO Test_PStimedate VALUES (?, ?, ?)"); sb.append("1. empty call..."); @@ -3228,8 +3228,8 @@ public final class JDBC_API_Tester { stmt = con.createStatement(); int updates = stmt.executeUpdate("CREATE TABLE Test_PStimezone (ts timestamp, tsz timestamp with time zone, t time, tz time with time zone)"); - if (updates != Statement.SUCCESS_NO_INFO) - sb.append("1. Expected -2 got ").append(updates).append(" instead\n"); + if (updates != 0) + sb.append("1. Expected 0 got ").append(updates).append(" instead\n"); pstmt = con.prepareStatement("INSERT INTO Test_PStimezone VALUES (?, ?, ?, ?)"); sb.append("1. empty call..."); @@ -3448,13 +3448,13 @@ public final class JDBC_API_Tester { " comment varchar(100)," + " CONSTRAINT htmtest_htmid_pkey PRIMARY KEY (htmid)" + ")" ); - if (updates != Statement.SUCCESS_NO_INFO) - sb.append("1. Expected -2 got ").append(updates).append(" instead\n"); + if (updates != 0) + sb.append("1. Expected 0 got ").append(updates).append(" instead\n"); // index is not used, but the original bug had it too updates = stmt.executeUpdate("CREATE INDEX htmid ON htmtest (htmid)"); - if (updates != Statement.SUCCESS_NO_INFO) - sb.append("1. Expected -2 got ").append(updates).append(" instead\n"); + if (updates != 0) + sb.append("1. Expected 0 got ").append(updates).append(" instead\n"); stmt.close(); @@ -3694,8 +3694,8 @@ public final class JDBC_API_Tester { " id int, tiny_int tinyint, small_int smallint, medium_int mediumint, \"integer\" int, big_int bigint," + " a_real real, a_float float, a_double double, a_decimal decimal(8,2), a_numeric numeric(8)," + " bool boolean, a_char char(4), b_char char(5), a_varchar varchar(20), PRIMARY KEY (id) )"); - if (updates != Statement.SUCCESS_NO_INFO) - sb.append("1a. Expected -2 got ").append(updates).append(" instead\n"); + if (updates != 0) + sb.append("1a. Expected 0 got ").append(updates).append(" instead\n"); // all falses updates = stmt.executeUpdate("INSERT INTO Test_Rbooleans VALUES (1,0,0,0,0,0,0.0,0.0,0.0,0.0,0,false,'fals','false','false')"); @@ -4709,7 +4709,7 @@ public final class JDBC_API_Tester { stmt = con.createStatement(); sb.append("1. create..."); - if (stmt.executeUpdate("CREATE TABLE Test_Sbatching ( id int )") != Statement.SUCCESS_NO_INFO) + if (stmt.executeUpdate("CREATE TABLE Test_Sbatching ( id int )") != 0) sb.append("Wrong return status\n"); else sb.append("passed\n"); @@ -4780,7 +4780,7 @@ public final class JDBC_API_Tester { sb.append(rs.getInt(1)).append(" passed\n"); sb.append("8. drop table..."); - if (stmt.executeUpdate("DROP TABLE Test_Sbatching") != Statement.SUCCESS_NO_INFO) + if (stmt.executeUpdate("DROP TABLE Test_Sbatching") != 0) sb.append("Wrong return status\n"); else sb.append("passed\n"); @@ -5043,7 +5043,7 @@ public final class JDBC_API_Tester { sb.append("1. create table..."); // create a simple table with an auto-generated key (id) upd = stmt.executeUpdate("CREATE TABLE bogus_gen_keys (\n \"id\" serial,\n \"x\" varchar(12)\n);"); - if (upd != Statement.SUCCESS_NO_INFO) + if (upd != 0) sb.append("Wrong return status: ").append(upd).append("\n"); else sb.append("passed\n"); @@ -5094,7 +5094,7 @@ public final class JDBC_API_Tester { try { sb.append("7. drop table..."); upd = stmt.executeUpdate("DROP TABLE bogus_gen_keys"); - if (upd != Statement.SUCCESS_NO_INFO) + if (upd != 0) sb.append("Wrong return status: ").append(upd).append("\n"); else sb.append("passed\n"); @@ -6093,7 +6093,7 @@ public final class JDBC_API_Tester { stmt = con.createStatement(); sb.append("1. Creating table ").append(tableName); - if (stmt.executeUpdate("CREATE TABLE " + tableName + " (myint INT, myvarchar VARCHAR(15), myjson JSON, myuuid UUID, myurl URL, myinet INET)") != Statement.SUCCESS_NO_INFO) + if (stmt.executeUpdate("CREATE TABLE " + tableName + " (myint INT, myvarchar VARCHAR(15), myjson JSON, myuuid UUID, myurl URL, myinet INET)") != 0) sb.append("Wrong return status\n"); sb.append("\n2. Insert row 1, "); @@ -6447,8 +6447,8 @@ public final class JDBC_API_Tester { stmt = con.createStatement(); sb.append("1. create table ").append(dqTblName).append("\n"); int ret = stmt.executeUpdate(ctsb.toString()); - if (ret != -2) - sb.append(" returned: ").append(ret).append(" (expected -2)\n"); + if (ret != 0) + sb.append(" returned: ").append(ret).append(" (expected 0)\n"); String tblName = dqTblName.substring(1, dqTblName.length() -1); // trim the leading and trailing double quote characters sb.append("2. show column names of this new table (").append(tblName).append(") via sys.columns query\n"); @@ -6675,8 +6675,8 @@ public final class JDBC_API_Tester { try { sb.append("Finally drop table ").append(dqTblName).append("\n"); int ret = stmt.executeUpdate("DROP TABLE " + dqTblName); - if (ret != -2) - sb.append(" returned: ").append(ret).append(" (expected -2)\n"); + if (ret != 0) + sb.append(" returned: ").append(ret).append(" (expected 0)\n"); } catch (SQLException e) { sb.append("FAILED: ").append(e.getMessage()).append("\n"); } @@ -6871,7 +6871,7 @@ public final class JDBC_API_Tester { compareExpectedOutput("Bug_PrepStmtManyParams_7337(" + nrParams + ")", "0. fetch size of new statement: 250\n" + "1. create table with " + (NR_COLUMNS+2) + " columns, sql has length: " + ((NR_COLUMNS * 23) -29) + "\n" + - "2. table created. ret = -2\n" + + "2. table created. ret = 0\n" + "3. prepare insert statement (no params), sql has length: " + ((NR_COLUMNS * 25) -53) + "\n" + " fetch size after prepare 1: 250\n" + " pmd. 0 parameters\n" +