annotate tests/Bug_LargeQueries_6571_6693.java @ 350:54137aeb1f92

Update Copyright year.
author Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
date Thu, 02 Jan 2020 14:42:27 +0100 (2020-01-02)
parents 368078840ddf
children 3ee02e94bd1d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
282
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1 /*
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2 * This Source Code Form is subject to the terms of the Mozilla Public
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5 *
350
54137aeb1f92 Update Copyright year.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 282
diff changeset
6 * Copyright 1997 - July 2008 CWI, August 2008 - 2020 MonetDB B.V.
282
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
7 */
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
8
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
9 import java.sql.Connection;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
10 import java.sql.DriverManager;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
11 import java.sql.ResultSet;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
12 import java.sql.Statement;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
13 import java.sql.SQLException;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
14
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
15 public class Bug_LargeQueries_6571_6693 {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
16 final static String tbl_nm = "tbl6693";
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
17 final static String largedata = createLargedata(98765);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
18
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
19 private static String createLargedata(int num) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
20 String repeatValue = "*";
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
21 StringBuilder sb = new StringBuilder(num * repeatValue.length());
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
22 for (int i = 0; i < num; i++)
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
23 sb.append(repeatValue);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
24 String largedata = sb.toString();
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
25 if (largedata.length() <= 8192)
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
26 System.out.println("Length (" + largedata.length() + ") of largedata value is too small! Should be larger than 8192!");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
27 return largedata;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
28 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
29
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
30 // To execute this test program: start a local MonetDB server (mserver5 process) and next execute command:
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
31 // java -cp monetdb-jdbc-2.29.jar:. Bug_LargeQueries_6571_6693 "jdbc:monetdb://localhost:50000/demo?user=monetdb&password=monetdb"
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
32
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
33 public static void main(String[] args) throws SQLException {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
34 int script_iterations = 10;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
35 String conURL = args.length > 0 ? args[0] : "";
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
36
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
37 if (args.length > 1) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
38 try {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
39 script_iterations = Integer.parseInt(args[1]);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
40 } catch (NumberFormatException nfe) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
41 System.err.println("Cannot convert 2nd argumnent to an integer. Ignoring it.");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
42 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
43 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
44
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
45 try (Connection con = DriverManager.getConnection(conURL)) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
46 try (Statement stmt = con.createStatement()) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
47 // create a test table.
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
48 stmt.executeUpdate("CREATE TABLE IF NOT EXISTS " + tbl_nm + " (attribute CLOB, value CLOB);");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
49 System.out.print("Created table: " + tbl_nm);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
50 System.out.print(" Inserting rows. ");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
51 String insertCmd = "INSERT INTO " + tbl_nm + " VALUES ('activeset_default_fiets', '" + largedata + "');";
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
52 int ins = stmt.executeUpdate(insertCmd);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
53 ins += stmt.executeUpdate(insertCmd);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
54 ins += stmt.executeUpdate(insertCmd);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
55 System.out.println(ins + " rows inserted");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
56 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
57
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
58 run_tests(conURL, script_iterations);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
59
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
60 try (Statement stmt = con.createStatement()) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
61 System.out.println("Cleanup TABLE " + tbl_nm);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
62 stmt.executeUpdate("DROP TABLE IF EXISTS " + tbl_nm);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
63 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
64 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
65
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
66 System.out.println("Test completed without hanging");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
67 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
68
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
69 private static void run_tests(String conURL, int iterations) throws SQLException {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
70 String script =
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
71 "delete from " + tbl_nm + " where attribute='activeset_default_fiets';\n"
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
72 + "insert into " + tbl_nm + " values ('activeset_default_fiets', '" + largedata + "');\n"
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
73 + "insert into " + tbl_nm + " values ('activeset_default_fiets', '" + largedata + "');\n"
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
74 + "insert into " + tbl_nm + " values ('activeset_default_fiets', '" + largedata + "');\n"
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
75 + "select value from " + tbl_nm + " where attribute='activeset_default_fiets';\n";
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
76 System.out.println("Script size is " + script.length());
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
77
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
78 // first try to make the execution hang after many iterations of sending large data queries within one connection
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
79 System.out.println("First test repeat " + iterations + " times");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
80 try (Connection con = DriverManager.getConnection(conURL)) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
81 System.out.print("Iteration: ");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
82 for (int i = 1; i <= iterations; i++) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
83 System.out.print(i + " ");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
84 try (Statement stmt = con.createStatement()) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
85 process_script(stmt, script, 1, 3, 6);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
86 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
87 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
88 System.out.println();
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
89 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
90 System.out.println("Completed first test");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
91
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
92 // also try to make the execution hang after many iterations of making connections (each their own socket) and sending large scripts
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
93 System.out.println("Second test repeat " + iterations + " times");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
94 System.out.print("Iteration: ");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
95 for (int i = 1; i <= iterations; i++) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
96 try (Connection con = DriverManager.getConnection(conURL)) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
97 System.out.print(i + " ");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
98 try (Statement stmt = con.createStatement()) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
99 process_script(stmt, script, 1, 3, 6);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
100 process_script(stmt, script, 1, 3, 6);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
101 process_script(stmt, script, 1, 3, 6);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
102 process_script(stmt, script, 1, 3, 6);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
103 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
104 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
105 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
106 System.out.println();
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
107 System.out.println("Completed second test");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
108
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
109 // next try to make the execution hang by sending very many queries combined in 1 large script
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
110 final int queries = 8765;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
111 StringBuilder sb = new StringBuilder(queries * 13);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
112 for (int i = 1; i <= queries; i++)
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
113 sb.append(" SELECT ").append(i).append(';');
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
114 script = sb.toString();
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
115 System.out.println("Script size is " + script.length());
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
116 iterations = 3;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
117 System.out.println("Third test repeat " + iterations + " times");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
118 try (Connection con = DriverManager.getConnection(conURL)) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
119 System.out.print("Iteration: ");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
120 for (int i = 1; i <= iterations; i++) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
121 System.out.print(i + " ");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
122 try (Statement stmt = con.createStatement()) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
123 process_script(stmt, script, queries, queries, 0);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
124 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
125 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
126 System.out.println();
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
127 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
128 System.out.println("Completed third test");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
129 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
130
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
131 private static void process_script(Statement stmt, String script,
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
132 int expectedResults, int expectedTotalRows, int expectedUpdates) throws SQLException {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
133 int results = 0;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
134 int rows = 0;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
135 int updates = 0;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
136 stmt.execute(script);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
137 do {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
138 ResultSet rs = stmt.getResultSet();
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
139 if (rs != null) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
140 results++;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
141 while(rs.next()) {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
142 String val = rs.getString(1);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
143 rows++;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
144 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
145 rs.close();
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
146 } else {
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
147 int uc = stmt.getUpdateCount();
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
148 if (uc > 0)
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
149 updates += uc;
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
150 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
151 } while (stmt.getMoreResults() || stmt.getUpdateCount() != -1);
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
152
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
153 /* verify nr of processed resultsets and retrieved rows are as expected */
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
154 if (results != expectedResults)
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
155 System.out.print(results + "!=" + expectedResults + " ");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
156 if (rows != expectedTotalRows)
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
157 System.out.print(rows + "!=" + expectedTotalRows + " ");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
158 if (updates != expectedUpdates)
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
159 System.out.print(updates + "!=" + expectedUpdates + " ");
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
160 }
368078840ddf Adding jdbc test for bugs 6517 and 6693 (hanging JDBC-driver problem)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
161 }