Changeset: 3e28de1c4f81 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/3e28de1c4f81
Removed Files:
tests/Test_PSlargeamount.java
Modified Files:
tests/JDBC_API_Tester.java
Branch: default
Log Message:
Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
The test is a stress test (50000 queries executed) and is disabled by default
as it takes more than 11 minutes to complete.
diffs (152 lines):
diff --git a/tests/JDBC_API_Tester.java b/tests/JDBC_API_Tester.java
--- a/tests/JDBC_API_Tester.java
+++ b/tests/JDBC_API_Tester.java
@@ -96,6 +96,8 @@ final public class JDBC_API_Tester {
jt.BugResultSetMetaData_Bug_6183();
jt.BugSetQueryTimeout_Bug_3357();
jt.SQLcopyinto();
+ /* run next long running test (11 minutes) only before a new
release */
+ /* jt.Test_PSlargeamount(); */
jt.closeConx(jt.con);
}
@@ -1525,6 +1527,90 @@ final public class JDBC_API_Tester {
"100, true\n");
}
+ /* Create a lot of PreparedStatements, to emulate webloads such as
those from Hibernate. */
+ /* this test is same as Test_PSsomeamount() but for many more
PreparedStatements to stress the server */
+ private void Test_PSlargeamount() {
+ sb.setLength(0); // clear the output log buffer
+
+ PreparedStatement pstmt = null;
+ ResultSet rs = null;
+ try {
+ // >> true: auto commit should be on
+ sb.append("0.
true\t").append(con.getAutoCommit()).append("\n");
+
+ sb.append("1. Preparing and executing a unique
statement\n");
+ for (int i = 0; i < 50001; i++) {
+ pstmt = con.prepareStatement("select " + i + ",
" + i + " = ?");
+ pstmt.setInt(1, i);
+ rs = pstmt.executeQuery();
+ if (rs.next() && i % 1000 == 0) {
+ sb.append(rs.getInt(1)).append(",
").append(rs.getBoolean(2)).append("\n");
+ }
+ /* next call should cause resources on the
server to be freed */
+ pstmt.close();
+ }
+ } catch (SQLException e) {
+ sb.append("FAILED:
").append(e.getMessage()).append("\n");
+ }
+
+ closeStmtResSet(pstmt, rs);
+
+ compareExpectedOutput("Test_PSlargeamount",
+ "0. true true\n" +
+ "1. Preparing and executing a unique statement\n" +
+ "0, true\n" +
+ "1000, true\n" +
+ "2000, true\n" +
+ "3000, true\n" +
+ "4000, true\n" +
+ "5000, true\n" +
+ "6000, true\n" +
+ "7000, true\n" +
+ "8000, true\n" +
+ "9000, true\n" +
+ "10000, true\n" +
+ "11000, true\n" +
+ "12000, true\n" +
+ "13000, true\n" +
+ "14000, true\n" +
+ "15000, true\n" +
+ "16000, true\n" +
+ "17000, true\n" +
+ "18000, true\n" +
+ "19000, true\n" +
+ "20000, true\n" +
+ "21000, true\n" +
+ "22000, true\n" +
+ "23000, true\n" +
+ "24000, true\n" +
+ "25000, true\n" +
+ "26000, true\n" +
+ "27000, true\n" +
+ "28000, true\n" +
+ "29000, true\n" +
+ "30000, true\n" +
+ "31000, true\n" +
+ "32000, true\n" +
+ "33000, true\n" +
+ "34000, true\n" +
+ "35000, true\n" +
+ "36000, true\n" +
+ "37000, true\n" +
+ "38000, true\n" +
+ "39000, true\n" +
+ "40000, true\n" +
+ "41000, true\n" +
+ "42000, true\n" +
+ "43000, true\n" +
+ "44000, true\n" +
+ "45000, true\n" +
+ "46000, true\n" +
+ "47000, true\n" +
+ "48000, true\n" +
+ "49000, true\n" +
+ "50000, true\n");
+ }
+
private void Test_PSsqldata() {
sb.setLength(0); // clear the output log buffer
diff --git a/tests/Test_PSlargeamount.java b/tests/Test_PSlargeamount.java
deleted file mode 100644
--- a/tests/Test_PSlargeamount.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * Copyright 1997 - July 2008 CWI, August 2008 - 2021 MonetDB B.V.
- */
-
-import java.sql.*;
-
-/* Create a lot of PreparedStatements, to emulate webloads such as those
- * from Hibernate. */
-
-public class Test_PSlargeamount {
- public static void main(String[] args) throws Exception {
- Connection con = DriverManager.getConnection(args[0]);
- Statement stmt = con.createStatement();
- PreparedStatement pstmt;
-
- // >> true: auto commit should be on
- System.out.println("0. true\t" + con.getAutoCommit());
-
- try {
- System.out.println("1. Preparing and executing a unique
statement");
- for (int i = 0; i < 50000; i++) {
- pstmt = con.prepareStatement("select " + i + ",
" + i + " = ?");
- pstmt.setInt(1, i);
- ResultSet rs = pstmt.executeQuery();
- if (rs.next() && i % 1000 == 0) {
- System.out.println(rs.getInt(1) + ", "
+ rs.getBoolean(2));
- }
- /* this call should cause resources on the
server to be
- * freed */
- pstmt.close();
- }
- } catch (SQLException e) {
- System.out.println("FAILED :( "+ e.getMessage());
- System.out.println("ABORTING TEST!!!");
- }
-
- stmt.close();
- con.close();
- }
-}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list