annotate tests/JDBC_API_Tester.java @ 643:1f444b5ad7d2

Forgot to cleanup created type xml. Now it will be dropped after use. Also added and improved some comments.
author Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
date Thu, 10 Feb 2022 17:28:35 +0100 (2022-02-10)
parents dd9b4fb14256
children fbed03097738
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1 /*
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
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
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
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
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5 *
610
6aa38e8c0f2d Updated Copyright year.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 593
diff changeset
6 * Copyright 1997 - July 2008 CWI, August 2008 - 2022 MonetDB B.V.
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
7 */
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
8
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
9 import java.sql.*;
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
10
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
11 import java.io.StringReader;
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
12 import java.math.BigDecimal;
447
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
13 import java.math.BigInteger;
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
14 import java.nio.charset.Charset;
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
15 import java.text.SimpleDateFormat;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
16 import java.util.ArrayList;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
17 import java.util.Calendar;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
18 import java.util.Iterator;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
19 import java.util.List;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
20 import java.util.TimeZone;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
21
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
22 import org.monetdb.jdbc.types.INET;
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
23 import org.monetdb.jdbc.types.URL;
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
24
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
25 /**
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
26 * class to test JDBC Driver API methods and behavior of MonetDB server.
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
27 *
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
28 * It combines 40+ tests which were previous individual test programs
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
29 * into one large test program, reusing the connection.
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
30 * This speeds up testing considerably as the overhead of starting a JVM and
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
31 * loading the java test program class and MonetDB JDBC driver is now reduced
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
32 * to only one time instead of 40+ times.
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
33 * Also all output is no longer send to system out/err but collected in a StringBuilder.
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
34 * The contents of it is compared with the expected output at the end of each test.
469
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
35 * Only when it deviates the output is sent to system err, see compareExpectedOutput().
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
36 *
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
37 * @author Martin van Dinther
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
38 * @version 0.2
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
39 */
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
40 final public class JDBC_API_Tester {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
41 StringBuilder sb; // buffer to collect the test output
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
42 final static int sbInitLen = 3712;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
43 Connection con; // main connection shared by all tests
469
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
44 boolean foundDifferences = false;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
45
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
46 public static void main(String[] args) throws Exception {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
47 String con_URL = args[0];
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
48
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
49 JDBC_API_Tester jt = new JDBC_API_Tester();
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
50 jt.sb = new StringBuilder(sbInitLen);
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
51 jt.con = DriverManager.getConnection(con_URL);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
52 // we are now connected
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
53
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
54 // run the tests
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
55 jt.Test_Cautocommit(con_URL);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
56 jt.Test_CisValid();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
57 jt.Test_Clargequery();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
58 jt.Test_Cmanycon(con_URL);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
59 jt.Test_Creplysize();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
60 jt.Test_Csavepoints();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
61 jt.Test_Ctransaction();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
62 jt.Test_Dobjects();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
63 jt.Test_FetchSize();
447
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
64 jt.Test_Int128();
633
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
65 jt.Test_PlanExplainTraceDebugCmds();
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
66 jt.Test_PSgeneratedkeys();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
67 jt.Test_PSgetObject();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
68 jt.Test_PSlargebatchval();
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
69 jt.Test_PSlargeresponse(con_URL);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
70 jt.Test_PSmanycon(con_URL);
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
71 jt.Test_PSmetadata();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
72 jt.Test_PSsomeamount();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
73 jt.Test_PSsqldata();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
74 jt.Test_PStimedate();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
75 jt.Test_PStimezone();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
76 jt.Test_PStypes();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
77 jt.Test_CallableStmt();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
78 jt.Test_Rbooleans();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
79 jt.Test_Rmetadata();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
80 jt.Test_Rpositioning();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
81 jt.Test_Rsqldata();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
82 jt.Test_Rtimedate();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
83 jt.Test_Sbatching();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
84 jt.Test_Smoreresults();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
85 jt.Test_Wrapper();
453
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
86 jt.bogus_auto_generated_keys();
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
87 jt.BugConcurrent_clients_SF_1504657(con_URL);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
88 jt.BugConcurrent_sequences(con_URL);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
89 jt.Bug_Connect_as_voc_getMetaData_Failure_Bug_6388(con_URL);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
90 jt.BugDatabaseMetaData_Bug_3356();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
91 jt.BugDecimalRound_Bug_3561();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
92 jt.BugExecuteUpdate_Bug_3350();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
93 jt.Bug_IsValid_Timeout_Bug_6782(con_URL);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
94 jt.Bug_LargeQueries_6571_6693(con_URL);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
95 jt.Bug_PrepStmtSetObject_CLOB_6349();
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
96 jt.Bug_PrepStmtSetString_6382();
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
97 jt.Bug_PrepStmt_With_Errors_Jira292();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
98 jt.BugResultSetMetaData_Bug_6183();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
99 jt.BugSetQueryTimeout_Bug_3357();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
100 jt.SQLcopyinto();
464
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
101 /* run next long running test (11 minutes) only before a new release */
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
102 /* jt.Test_PSlargeamount(); */
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
103
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
104 jt.closeConx(jt.con);
469
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
105
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
106 if (jt.foundDifferences)
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
107 System.exit(-1);
550
c5cf3f00c4c5 Run the OnClient tests from JDBC_API_Tester
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents: 488
diff changeset
108
591
b2cd3b828967 Simplify OnClientTester program.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 587
diff changeset
109 OnClientTester oct = new OnClientTester(con_URL, 0);
b2cd3b828967 Simplify OnClientTester program.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 587
diff changeset
110 int failures = oct.runTests();
550
c5cf3f00c4c5 Run the OnClient tests from JDBC_API_Tester
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents: 488
diff changeset
111 if (failures > 0)
c5cf3f00c4c5 Run the OnClient tests from JDBC_API_Tester
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents: 488
diff changeset
112 System.exit(-1);
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
113 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
114
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
115 private void Test_Cautocommit(String arg0) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
116 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
117
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
118 Connection con1 = con;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
119 Connection con2 = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
120 Statement stmt1 = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
121 Statement stmt2 = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
122 ResultSet rs = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
123 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
124 con2 = DriverManager.getConnection(arg0);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
125
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
126 // >> true: auto commit should be on by default
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
127 if (con1.getAutoCommit() != true)
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
128 sb.append("expecting con1 to have autocommit on/true");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
129 if (con2.getAutoCommit() != true)
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
130 sb.append("expecting con2 to have autocommit on/true");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
131
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
132 // test commit by checking if a change is visible in another connection
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
133 stmt1 = con1.createStatement();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
134 sb.append("1. create...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
135 stmt1.executeUpdate("CREATE TABLE table_Test_Cautocommit ( id int )");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
136 sb.append("passed :)\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
137
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
138 stmt2 = con2.createStatement();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
139 sb.append("2. select...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
140 rs = stmt2.executeQuery("SELECT * FROM table_Test_Cautocommit");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
141 sb.append("passed :)\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
142 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
143 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
144 closeStmtResSet(stmt2, rs);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
145 closeStmtResSet(stmt1, null);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
146 closeConx(con2);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
147 sb.append("ABORTING TEST!!!");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
148 return;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
149 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
150
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
151 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
152 // turn off auto commit
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
153 con1.setAutoCommit(false);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
154 con2.setAutoCommit(false);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
155
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
156 // >> false: we just disabled it
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
157 if (con1.getAutoCommit() != false)
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
158 sb.append("expecting con1 to have autocommit off/false");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
159 if (con2.getAutoCommit() != false)
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
160 sb.append("expecting con2 to have autocommit off/false");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
161
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
162 // a change would not be visible now
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
163 sb.append("3. drop...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
164 stmt2.executeUpdate("DROP TABLE table_Test_Cautocommit");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
165 sb.append("passed :)\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
166
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
167 sb.append("4. select...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
168 rs = stmt1.executeQuery("SELECT * FROM table_Test_Cautocommit");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
169 sb.append("passed :)\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
170
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
171 sb.append("5. commit...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
172 con2.commit();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
173 sb.append("passed :)\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
174
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
175 sb.append("6. select...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
176 rs = stmt1.executeQuery("SELECT * FROM table_Test_Cautocommit");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
177 sb.append("passed :)\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
178
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
179 sb.append("7. commit...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
180 con1.commit();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
181 sb.append("passed :)\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
182
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
183 // restore original auto commit setting
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
184 con1.setAutoCommit(true);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
185 con2.setAutoCommit(true);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
186 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
187 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
188 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
189
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
190 closeStmtResSet(stmt1, rs);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
191 closeStmtResSet(stmt2, null);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
192
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
193 closeConx(con2);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
194
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
195 compareExpectedOutput("Test_Cautocommit",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
196 "1. create...passed :)\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
197 "2. select...passed :)\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
198 "3. drop...passed :)\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
199 "4. select...passed :)\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
200 "5. commit...passed :)\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
201 "6. select...passed :)\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
202 "7. commit...passed :)\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
203 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
204
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
205 private void Test_CisValid() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
206 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
207
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
208 Statement stmt = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
209 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
210 stmt = con.createStatement();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
211 con.setAutoCommit(false); // start a transaction
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
212 stmt.executeQuery("SELECT COUNT(*) FROM doesnotexist;"); // let's trigger an error
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
213 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
214 // e.printStackTrace();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
215 sb.append("Expected error: ").append(e).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
216 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
217 // test calling conn.isValid()
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
218 sb.append("Validating connection: con.isValid? ").append(con.isValid(30));
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
219 // Can we rollback on this connection without causing an error?
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
220 con.rollback();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
221 } catch (SQLException e2) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
222 sb.append("UnExpected error: ").append(e2);
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
223 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
224 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
225
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
226 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
227 // restore auto commit mode
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
228 con.setAutoCommit(true);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
229 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
230 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
231 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
232
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
233 closeStmtResSet(stmt, null);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
234
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
235 compareExpectedOutput("Test_CisValid",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
236 "Expected error: java.sql.SQLException: SELECT: no such table 'doesnotexist'\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
237 "Validating connection: con.isValid? true");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
238 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
239
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
240 private void Test_Clargequery() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
241 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
242 final String query =
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
243 "-- When a query larger than the send buffer is being " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
244 "sent, a deadlock situation can occur when the server writes " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
245 "data back, blocking because we as client are sending as well " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
246 "and not reading. Hence, to avoid this deadlock, in JDBC a " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
247 "separate thread is started in the background such that results " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
248 "from the server can be read, while data is still being sent to " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
249 "the server. To test this, we need to trigger the SendThread " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
250 "being started, which we do with a quite large query. We " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
251 "construct it by repeating some stupid query plus a comment " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
252 "a lot of times. And as you're guessing by now, you're reading " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
253 "this stupid comment that we use :)\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
254 "select 1;\n";
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
255
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
256 final int size = 1234;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
257 StringBuilder bigq = new StringBuilder(query.length() * size);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
258 for (int i = 0; i < size; i++) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
259 bigq.append(query);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
260 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
261
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
262 Statement stmt = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
263 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
264 // >> true: auto commit should be on by default
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
265 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
266 stmt = con.createStatement();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
267
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
268 // sending big script with many simple queries
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
269 sb.append("1. executing script\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
270 stmt.execute(bigq.toString());
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
271
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
272 int i = 1; // we skip the first "getResultSet()"
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
273 while (stmt.getMoreResults() != false) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
274 i++;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
275 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
276 if (stmt.getUpdateCount() != -1) {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
277 sb.append("Error: found an update count for a SELECT query\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
278 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
279 if (i != size) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
280 sb.append("Error: expecting ").append(size).append(" tuples, only got ").append(i).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
281 }
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
282 sb.append("2. queries processed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
283 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
284 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
285 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
286
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
287 closeStmtResSet(stmt, null);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
288
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
289 compareExpectedOutput("Test_Clargequery",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
290 "0. true true\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
291 "1. executing script\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
292 "2. queries processed\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
293 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
294
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
295 private void Test_Cmanycon(String arg0) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
296 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
297
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
298 final int maxCons = 60; // default max_clients is 64, 2 connections are already open from this program
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
299 List<Connection> cons = new ArrayList<Connection>(maxCons); // Connections go in here
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
300 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
301 // spawn a lot of Connections, just for fun...
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
302 int i = 1;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
303 sb.append("Establishing Connection ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
304 for (; i <= maxCons; i++) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
305 sb.append(i);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
306 Connection conx = DriverManager.getConnection(arg0);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
307 sb.append(",");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
308 cons.add(conx);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
309
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
310 // do something with the connection to test if it works
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
311 conx.setAutoCommit(false);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
312 sb.append(" ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
313 conx.createStatement();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
314 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
315 sb.append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
316
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
317 // now try to nicely close them
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
318 i = 1;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
319 sb.append("Closing Connection ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
320 for (Iterator<Connection> it = cons.iterator(); it.hasNext(); i++) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
321 Connection conx = it.next();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
322 // see if the connection still works
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
323 sb.append(i);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
324 conx.setAutoCommit(true);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
325 sb.append(",");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
326 conx.close(); // this will also implicitly close the created statement object
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
327 sb.append(" ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
328 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
329 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
330 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
331 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
332
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
333 compareExpectedOutput("Test_Cmanycon",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
334 "Establishing Connection 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
335 "11, 12, 13, 14, 15, 16, 17, 18, 19, 20, " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
336 "21, 22, 23, 24, 25, 26, 27, 28, 29, 30, " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
337 "31, 32, 33, 34, 35, 36, 37, 38, 39, 40, " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
338 "41, 42, 43, 44, 45, 46, 47, 48, 49, 50, " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
339 "51, 52, 53, 54, 55, 56, 57, 58, 59, 60, \n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
340 "Closing Connection 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
341 "11, 12, 13, 14, 15, 16, 17, 18, 19, 20, " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
342 "21, 22, 23, 24, 25, 26, 27, 28, 29, 30, " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
343 "31, 32, 33, 34, 35, 36, 37, 38, 39, 40, " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
344 "41, 42, 43, 44, 45, 46, 47, 48, 49, 50, " +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
345 "51, 52, 53, 54, 55, 56, 57, 58, 59, 60, ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
346 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
347
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
348 private void Test_Creplysize() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
349 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
350
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
351 Statement stmt1 = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
352 ResultSet rs = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
353 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
354 con.setAutoCommit(false);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
355 // >> true: auto commit should be off by now
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
356 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
357
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
358 stmt1 = con.createStatement();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
359 // test commit by checking if a change is visible in another connection
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
360 sb.append("1. create... ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
361 stmt1.executeUpdate("CREATE TABLE table_Test_Creplysize ( id int )");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
362 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
363
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
364 sb.append("2. populating with 21 records... ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
365 for (int i = 0; i < 21; i++)
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
366 stmt1.executeUpdate("INSERT INTO table_Test_Creplysize (id) values (" + (i + 1) + ")");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
367 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
368
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
369 sb.append("3. hinting the driver to use fetchsize 10... ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
370 stmt1.setFetchSize(10);
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
371 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
372
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
373 sb.append("4. selecting all values... ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
374 rs = stmt1.executeQuery("SELECT * FROM table_Test_Creplysize");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
375 int i = 0;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
376 while (rs.next())
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
377 i++;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
378 rs.close();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
379 if (i == 21) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
380 sb.append("passed");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
381 } else {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
382 sb.append("got ").append(i).append(" records!!!");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
383 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
384 sb.append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
385
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
386 sb.append("5. resetting driver fetchsize hint... ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
387 stmt1.setFetchSize(0);
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
388 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
389
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
390 sb.append("6. instructing the driver to return at max 10 rows... ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
391 stmt1.setMaxRows(10);
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
392 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
393
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
394 sb.append("7. selecting all values... ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
395 rs = stmt1.executeQuery("SELECT * FROM table_Test_Creplysize");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
396 i = 0;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
397 while (rs.next())
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
398 i++;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
399 rs.close();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
400 if (i == 10) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
401 sb.append("passed");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
402 } else {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
403 sb.append("got ").append(i).append(" records!!!");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
404 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
405 sb.append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
406
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
407 sb.append("8. hinting the driver to use fetchsize 5... ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
408 stmt1.setFetchSize(5);
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
409 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
410
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
411 sb.append("9. selecting all values... ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
412 rs = stmt1.executeQuery("SELECT * FROM table_Test_Creplysize");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
413 i = 0;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
414 while (rs.next())
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
415 i++;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
416 rs.close();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
417 if (i == 10) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
418 sb.append("passed");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
419 } else {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
420 sb.append("got ").append(i).append(" records!!!");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
421 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
422 sb.append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
423
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
424 sb.append("10. drop... ");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
425 stmt1.executeUpdate("DROP TABLE table_Test_Creplysize");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
426 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
427
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
428 con.rollback();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
429
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
430 // restore auto commit mode
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
431 con.setAutoCommit(true);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
432 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
433 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
434 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
435
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
436 closeStmtResSet(stmt1, rs);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
437
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
438 compareExpectedOutput("Test_Creplysize",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
439 "0. true false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
440 "1. create... passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
441 "2. populating with 21 records... passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
442 "3. hinting the driver to use fetchsize 10... passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
443 "4. selecting all values... passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
444 "5. resetting driver fetchsize hint... passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
445 "6. instructing the driver to return at max 10 rows... passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
446 "7. selecting all values... passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
447 "8. hinting the driver to use fetchsize 5... passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
448 "9. selecting all values... passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
449 "10. drop... passed\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
450 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
451
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
452 private void Test_Csavepoints() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
453 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
454
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
455 Statement stmt = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
456 ResultSet rs = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
457 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
458 // >> true: auto commit should be on by default
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
459 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
460
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
461 // savepoints require a non-autocommit connection
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
462 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
463 sb.append("1. savepoint...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
464 con.setSavepoint();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
465 sb.append("passed !!");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
466 } catch (SQLException e) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
467 sb.append("expected msg: ").append(e.getMessage());
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
468 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
469 sb.append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
470
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
471 con.setAutoCommit(false);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
472 // >> true: auto commit should be on by default
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
473 sb.append("0. false\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
474
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
475 sb.append("2. savepoint...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
476 /* make a savepoint, and discard it */
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
477 con.setSavepoint();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
478 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
479
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
480 stmt = con.createStatement();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
481 stmt.executeUpdate("CREATE TABLE table_Test_Csavepoints ( id int, PRIMARY KEY (id) )");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
482
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
483 sb.append("3. savepoint...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
484 Savepoint sp2 = con.setSavepoint("empty table");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
485 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
486
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
487 rs = stmt.executeQuery("SELECT id FROM table_Test_Csavepoints");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
488 int i = 0;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
489 int items = 0;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
490 sb.append("4. table ").append(items).append(" items");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
491 while (rs.next()) {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
492 sb.append(", ").append(rs.getString("id"));
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
493 i++;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
494 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
495 if (i != items) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
496 sb.append(" FAILED (").append(i).append(")");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
497 }
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
498 sb.append(" passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
499
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
500 stmt.executeUpdate("INSERT INTO table_Test_Csavepoints VALUES (1)");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
501 stmt.executeUpdate("INSERT INTO table_Test_Csavepoints VALUES (2)");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
502 stmt.executeUpdate("INSERT INTO table_Test_Csavepoints VALUES (3)");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
503
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
504 sb.append("5. savepoint...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
505 Savepoint sp3 = con.setSavepoint("three values");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
506 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
507
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
508 rs = stmt.executeQuery("SELECT id FROM table_Test_Csavepoints");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
509 i = 0;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
510 items = 3;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
511 sb.append("6. table ").append(items).append(" items");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
512 while (rs.next()) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
513 sb.append(", ").append(rs.getString("id"));
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
514 i++;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
515 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
516 if (i != items) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
517 sb.append(" FAILED (").append(i).append(")");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
518 }
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
519 sb.append(" passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
520
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
521 sb.append("7. release...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
522 con.releaseSavepoint(sp3);
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
523 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
524
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
525 rs = stmt.executeQuery("SELECT id FROM table_Test_Csavepoints");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
526 i = 0;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
527 items = 3;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
528 sb.append("8. table ").append(items).append(" items");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
529 while (rs.next()) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
530 sb.append(", ").append(rs.getString("id"));
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
531 i++;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
532 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
533 if (i != items) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
534 sb.append(" FAILED (").append(i).append(") :(");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
535 }
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
536 sb.append(" passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
537
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
538 sb.append("9. rollback...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
539 con.rollback(sp2);
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
540 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
541
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
542 rs = stmt.executeQuery("SELECT id FROM table_Test_Csavepoints");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
543 i = 0;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
544 items = 0;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
545 sb.append("10. table ").append(items).append(" items");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
546 while (rs.next()) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
547 sb.append(", ").append(rs.getString("id"));
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
548 i++;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
549 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
550 if (i != items) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
551 sb.append(" FAILED (").append(i).append(") :(");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
552 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
553 sb.append(" passed");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
554
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
555 con.rollback();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
556
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
557 // restore auto commit mode
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
558 con.setAutoCommit(true);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
559 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
560 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
561 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
562
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
563 closeStmtResSet(stmt, rs);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
564
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
565 compareExpectedOutput("Test_Csavepoints",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
566 "0. true true\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
567 "1. savepoint...expected msg: SAVEPOINT: not allowed in auto commit mode\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
568 "0. false false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
569 "2. savepoint...passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
570 "3. savepoint...passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
571 "4. table 0 items passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
572 "5. savepoint...passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
573 "6. table 3 items, 1, 2, 3 passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
574 "7. release...passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
575 "8. table 3 items, 1, 2, 3 passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
576 "9. rollback...passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
577 "10. table 0 items passed");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
578 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
579
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
580 private void Test_Ctransaction() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
581 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
582
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
583 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
584 // test commit by checking if a change is visible in another connection
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
585 sb.append("1. commit...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
586 con.commit();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
587 sb.append("passed");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
588 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
589 // this means we get what we expect
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
590 sb.append("failed as expected: ").append(e.getMessage());
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
591 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
592 sb.append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
593
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
594 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
595 // turn off auto commit
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
596 con.setAutoCommit(false);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
597 // >> false: we just disabled it
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
598 sb.append("2. false\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
599
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
600 // a change would not be visible now
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
601 sb.append("3. commit...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
602 con.commit();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
603 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
604
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
605 sb.append("4. commit...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
606 con.commit();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
607 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
608
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
609 sb.append("5. rollback...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
610 con.rollback();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
611 sb.append("passed");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
612 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
613 sb.append("FAILED: ").append(e.getMessage());
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
614 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
615 sb.append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
616
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
617 Statement stmt = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
618 try {
643
1f444b5ad7d2 Forgot to cleanup created type xml. Now it will be dropped after use.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 642
diff changeset
619 // turn on auto commit
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
620 con.setAutoCommit(true);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
621 // >> false: we just disabled it
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
622 sb.append("6. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
623
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
624 stmt = con.createStatement();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
625 sb.append("7. start transaction...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
626 stmt.executeUpdate("START TRANSACTION");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
627 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
628
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
629 sb.append("8. commit...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
630 con.commit();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
631 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
632
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
633 sb.append("9. true\t").append(con.getAutoCommit());
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
634 sb.append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
635
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
636 sb.append("10. start transaction...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
637 stmt.executeUpdate("START TRANSACTION");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
638 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
639
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
640 sb.append("11. rollback...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
641 con.rollback();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
642 sb.append("passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
643
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
644 sb.append("12. true\t").append(con.getAutoCommit());
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
645 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
646 sb.append("FAILED: ").append(e.getMessage());
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
647 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
648 sb.append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
649
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
650 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
651 // a commit now should fail
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
652 sb.append("13. commit...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
653 con.commit();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
654 sb.append("passed");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
655 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
656 // this means we get what we expect
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
657 sb.append("failed as expected: ").append(e.getMessage());
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
658 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
659 sb.append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
660
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
661 closeStmtResSet(stmt, null);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
662
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
663 compareExpectedOutput("Test_Ctransaction",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
664 "1. commit...failed as expected: COMMIT: not allowed in auto commit mode\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
665 "2. false false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
666 "3. commit...passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
667 "4. commit...passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
668 "5. rollback...passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
669 "6. true true\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
670 "7. start transaction...passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
671 "8. commit...passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
672 "9. true true\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
673 "10. start transaction...passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
674 "11. rollback...passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
675 "12. true true\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
676 "13. commit...failed as expected: COMMIT: not allowed in auto commit mode\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
677 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
678
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
679 private void Test_Dobjects() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
680 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
681
635
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
682 Statement stmt = null;
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
683 try {
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
684 stmt = con.createStatement();
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
685 int response = stmt.executeUpdate("CREATE TABLE nopk_twoucs (id INT NOT NULL UNIQUE, name VARCHAR(99) UNIQUE)");
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
686 if (response != Statement.SUCCESS_NO_INFO)
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
687 sb.append("Creating table nopk_twoucs failed to return -2!! It returned: " + response + "\n");
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
688 } catch (SQLException e) {
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
689 sb.append("failed to create test table nopk_twoucs: ").append(e.getMessage());
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
690 }
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
691
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
692 try {
642
dd9b4fb14256 Added recognition of 'xml' type.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 641
diff changeset
693 int response = stmt.executeUpdate("CREATE TYPE xml EXTERNAL NAME xml");
dd9b4fb14256 Added recognition of 'xml' type.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 641
diff changeset
694 if (response != Statement.SUCCESS_NO_INFO)
dd9b4fb14256 Added recognition of 'xml' type.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 641
diff changeset
695 sb.append("Creating type xml failed to return -2!! It returned: " + response + "\n");
dd9b4fb14256 Added recognition of 'xml' type.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 641
diff changeset
696 } catch (SQLException e) {
dd9b4fb14256 Added recognition of 'xml' type.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 641
diff changeset
697 sb.append("failed to create type xml: ").append(e.getMessage());
dd9b4fb14256 Added recognition of 'xml' type.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 641
diff changeset
698 }
dd9b4fb14256 Added recognition of 'xml' type.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 641
diff changeset
699
dd9b4fb14256 Added recognition of 'xml' type.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 641
diff changeset
700 try {
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
701 DatabaseMetaData dbmd = con.getMetaData();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
702
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
703 // inspect the catalog by use of dbmd functions
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
704 compareResultSet(dbmd.getCatalogs(), "getCatalogs()",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
705 "Resultset with 1 columns\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
706 "TABLE_CAT\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
707
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
708 compareResultSet(dbmd.getSchemas(null, "sys"), "getSchemas(null, sys)",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
709 "Resultset with 2 columns\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
710 "TABLE_SCHEM TABLE_CATALOG\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
711 "sys null\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
712
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
713 compareResultSet(dbmd.getTables(null, "tmp", null, null), "getTables(null, tmp, null, null)", // schema tmp has 6 tables
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
714 "Resultset with 10 columns\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
715 "TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
716 "null tmp _columns SYSTEM TABLE null null null null null null\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
717 "null tmp _tables SYSTEM TABLE null null null null null null\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
718 "null tmp idxs SYSTEM TABLE null null null null null null\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
719 "null tmp keys SYSTEM TABLE null null null null null null\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
720 "null tmp objects SYSTEM TABLE null null null null null null\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
721 "null tmp triggers SYSTEM TABLE null null null null null null\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
722
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
723 compareResultSet(dbmd.getTables(null, "sys", "schemas", null), "getTables(null, sys, schemas, null)",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
724 "Resultset with 10 columns\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
725 "TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
726 "null sys schemas SYSTEM TABLE null null null null null null\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
727
427
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
728 compareResultSet(dbmd.getColumns(null, "sys", "table\\_types", null), "getColumns(null, sys, table\\_types, null)",
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
729 "Resultset with 24 columns\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
730 "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS NUM_PREC_RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE SCOPE_CATALOG SCOPE_SCHEMA SCOPE_TABLE SOURCE_DATA_TYPE IS_AUTOINCREMENT IS_GENERATEDCOLUMN\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
731 "null sys table_types table_type_id 5 smallint 16 0 0 2 0 null null 0 0 null 1 NO null null null null NO NO\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
732 "null sys table_types table_type_name 12 varchar 25 0 0 0 0 null null 0 0 25 2 NO null null null null NO NO\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
733
427
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
734 compareResultSet(dbmd.getPrimaryKeys(null, "sys", "table\\_types"), "getPrimaryKeys(null, sys, table\\_types)",
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
735 "Resultset with 6 columns\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
736 "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
737 "null sys table_types table_type_id 1 table_types_table_type_id_pkey\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
738
427
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
739 compareResultSet(dbmd.getExportedKeys(null, "sys", "table\\_types"), "getExportedKeys(null, sys, table\\_types)",
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
740 "Resultset with 14 columns\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
741 "PKTABLE_CAT PKTABLE_SCHEM PKTABLE_NAME PKCOLUMN_NAME FKTABLE_CAT FKTABLE_SCHEM FKTABLE_NAME FKCOLUMN_NAME KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME PK_NAME DEFERRABILITY\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
742
427
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
743 compareResultSet(dbmd.getCrossReference(null, "sys", "tables", null, "sys", "table\\_types"), "getCrossReference(null, sys, tables, null, sys, table\\_types)",
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
744 "Resultset with 14 columns\n" +
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
745 "PKTABLE_CAT PKTABLE_SCHEM PKTABLE_NAME PKCOLUMN_NAME FKTABLE_CAT FKTABLE_SCHEM FKTABLE_NAME FKCOLUMN_NAME KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME PK_NAME DEFERRABILITY\n");
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
746
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
747 compareResultSet(dbmd.getImportedKeys(null, "sys", "table\\_types"), "getImportedKeys(null, sys, table\\_types)",
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
748 "Resultset with 14 columns\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
749 "PKTABLE_CAT PKTABLE_SCHEM PKTABLE_NAME PKCOLUMN_NAME FKTABLE_CAT FKTABLE_SCHEM FKTABLE_NAME FKCOLUMN_NAME KEY_SEQ UPDATE_RULE DELETE_RULE FK_NAME PK_NAME DEFERRABILITY\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
750
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
751 compareResultSet(dbmd.getIndexInfo(null, "sys", "key_types", false, false), "getIndexInfo(null, sys, key_types, false, false)",
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
752 "Resultset with 13 columns\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
753 "TABLE_CAT TABLE_SCHEM TABLE_NAME NON_UNIQUE INDEX_QUALIFIER INDEX_NAME TYPE ORDINAL_POSITION COLUMN_NAME ASC_OR_DESC CARDINALITY PAGES FILTER_CONDITION\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
754 "null sys key_types false null key_types_key_type_id_pkey 2 1 key_type_id null 3 0 null\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
755 "null sys key_types false null key_types_key_type_name_unique 2 1 key_type_name null 3 0 null\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
756
619
ffc2fc8e82ec Fixed an SQL query problem in DatabaseMetaData.getBestRowIdentifier() method when used with MonetDB Jan2022 (or newer) releases.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 610
diff changeset
757 compareResultSet(dbmd.getBestRowIdentifier(null, "sys", "function_languages", DatabaseMetaData.bestRowTransaction, true),
ffc2fc8e82ec Fixed an SQL query problem in DatabaseMetaData.getBestRowIdentifier() method when used with MonetDB Jan2022 (or newer) releases.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 610
diff changeset
758 "getBestRowIdentifier(null, sys, function_languages, DatabaseMetaData.bestRowTransaction, true)",
ffc2fc8e82ec Fixed an SQL query problem in DatabaseMetaData.getBestRowIdentifier() method when used with MonetDB Jan2022 (or newer) releases.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 610
diff changeset
759 "Resultset with 8 columns\n" +
ffc2fc8e82ec Fixed an SQL query problem in DatabaseMetaData.getBestRowIdentifier() method when used with MonetDB Jan2022 (or newer) releases.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 610
diff changeset
760 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
ffc2fc8e82ec Fixed an SQL query problem in DatabaseMetaData.getBestRowIdentifier() method when used with MonetDB Jan2022 (or newer) releases.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 610
diff changeset
761 "2 language_id 5 smallint 16 0 0 1\n");
ffc2fc8e82ec Fixed an SQL query problem in DatabaseMetaData.getBestRowIdentifier() method when used with MonetDB Jan2022 (or newer) releases.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 610
diff changeset
762
635
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
763 compareResultSet(dbmd.getBestRowIdentifier(null, "sys", "nopk_twoucs", DatabaseMetaData.bestRowTransaction, true),
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
764 "getBestRowIdentifier(null, sys, nopk_twoucs, DatabaseMetaData.bestRowTransaction, true)",
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
765 "Resultset with 8 columns\n" +
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
766 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
767 "2 id 4 int 32 0 0 1\n" +
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
768 "2 name 12 varchar 99 0 0 1\n");
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
769
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
770 compareResultSet(dbmd.getBestRowIdentifier(null, "sys", "nopk_twoucs", DatabaseMetaData.bestRowTransaction, false),
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
771 "getBestRowIdentifier(null, sys, nopk_twoucs, DatabaseMetaData.bestRowTransaction, false)",
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
772 "Resultset with 8 columns\n" +
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
773 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
774 "2 id 4 int 32 0 0 1\n");
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
775
427
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
776 compareResultSet(dbmd.getTablePrivileges(null, "sys", "table\\_types"), "getTablePrivileges(null, sys, table\\_types)",
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
777 "Resultset with 7 columns\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
778 "TABLE_CAT TABLE_SCHEM TABLE_NAME GRANTOR GRANTEE PRIVILEGE IS_GRANTABLE\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
779 "null sys table_types monetdb public SELECT NO\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
780
427
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
781 compareResultSet(dbmd.getColumnPrivileges(null, "sys", "table\\_types", null), "getColumnPrivileges(null, sys, table\\_types, null)",
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
782 "Resultset with 8 columns\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
783 "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME GRANTOR GRANTEE PRIVILEGE IS_GRANTABLE\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
784
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
785 compareResultSet(dbmd.getUDTs(null, "sys", null, null), "getUDTs(null, sys, null, null)",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
786 "Resultset with 7 columns\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
787 "TYPE_CAT TYPE_SCHEM TYPE_NAME CLASS_NAME DATA_TYPE REMARKS BASE_TYPE\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
788 "null sys inet org.monetdb.jdbc.types.INET 2000 inet null\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
789 "null sys json java.lang.String 2000 json null\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
790 "null sys url org.monetdb.jdbc.types.URL 2000 url null\n" +
642
dd9b4fb14256 Added recognition of 'xml' type.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 641
diff changeset
791 "null sys uuid java.lang.String 2000 uuid null\n" +
dd9b4fb14256 Added recognition of 'xml' type.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 641
diff changeset
792 "null sys xml java.lang.String 2000 xml null\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
793
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
794 int[] UDTtypes = { Types.STRUCT, Types.DISTINCT };
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
795 compareResultSet(dbmd.getUDTs(null, "sys", null, UDTtypes), "getUDTs(null, sys, null, UDTtypes",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
796 "Resultset with 7 columns\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
797 "TYPE_CAT TYPE_SCHEM TYPE_NAME CLASS_NAME DATA_TYPE REMARKS BASE_TYPE\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
798
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
799 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
800 } catch (SQLException e) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
801 sb.setLength(0); // clear the output log buffer
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
802 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
803 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
804
643
1f444b5ad7d2 Forgot to cleanup created type xml. Now it will be dropped after use.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 642
diff changeset
805 // cleanup created db objects
635
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
806 try {
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
807 int response = stmt.executeUpdate("DROP TABLE nopk_twoucs");
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
808 if (response != Statement.SUCCESS_NO_INFO)
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
809 sb.append("Dropping table nopk_twoucs failed to return -2!! It returned: " + response + "\n");
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
810 } catch (SQLException e) {
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
811 sb.append("failed to drop table: ").append(e.getMessage());
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
812 }
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
813
643
1f444b5ad7d2 Forgot to cleanup created type xml. Now it will be dropped after use.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 642
diff changeset
814 try {
1f444b5ad7d2 Forgot to cleanup created type xml. Now it will be dropped after use.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 642
diff changeset
815 int response = stmt.executeUpdate("DROP TYPE xml");
1f444b5ad7d2 Forgot to cleanup created type xml. Now it will be dropped after use.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 642
diff changeset
816 if (response != Statement.SUCCESS_NO_INFO)
1f444b5ad7d2 Forgot to cleanup created type xml. Now it will be dropped after use.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 642
diff changeset
817 sb.append("Dropping type xml failed to return -2!! It returned: " + response + "\n");
1f444b5ad7d2 Forgot to cleanup created type xml. Now it will be dropped after use.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 642
diff changeset
818 } catch (SQLException e) {
1f444b5ad7d2 Forgot to cleanup created type xml. Now it will be dropped after use.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 642
diff changeset
819 sb.append("failed to drop type: ").append(e.getMessage());
1f444b5ad7d2 Forgot to cleanup created type xml. Now it will be dropped after use.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 642
diff changeset
820 }
1f444b5ad7d2 Forgot to cleanup created type xml. Now it will be dropped after use.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 642
diff changeset
821
635
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
822 closeStmtResSet(stmt, null);
ee90918eab11 Add tests for getBestRowIdentifier() on a table which does not have a primary key but two unique constraints of which one is defined on a column which allows NULL.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 633
diff changeset
823
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
824 compareExpectedOutput("Test_Dobjects", "");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
825 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
826
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
827 private void compareResultSet(ResultSet rs, String methodnm, String expected) throws SQLException {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
828 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
829
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
830 ResultSetMetaData rsmd = rs.getMetaData();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
831 int columnCount = rsmd.getColumnCount();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
832 sb.append("Resultset with ").append(columnCount).append(" columns\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
833 for (int col = 1; col <= columnCount; col++) {
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
834 if (col > 1)
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
835 sb.append("\t");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
836 sb.append(rsmd.getColumnName(col));
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
837 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
838 sb.append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
839 while (rs.next()) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
840 for (int col = 1; col <= columnCount; col++) {
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
841 if (col > 1)
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
842 sb.append("\t");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
843 sb.append(rs.getString(col));
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
844 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
845 sb.append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
846 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
847 rs.close();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
848
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
849 compareExpectedOutput(methodnm, expected);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
850 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
851
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
852 private void Test_FetchSize() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
853 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
854
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
855 Statement stmt = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
856 ResultSet rs = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
857 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
858 stmt = con.createStatement();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
859 rs = stmt.executeQuery("SELECT * FROM _tables");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
860
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
861 sb.append("Statement fetch size before set: ").append(stmt.getFetchSize()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
862 sb.append("ResultSet fetch size before set: ").append(rs.getFetchSize()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
863
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
864 stmt.setFetchSize(40);
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
865 rs.setFetchSize(16384);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
866
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
867 sb.append("Statement fetch size after set: ").append(stmt.getFetchSize()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
868 sb.append("ResultSet fetch size after set: ").append(rs.getFetchSize()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
869
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
870 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
871 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
872 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
873
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
874 closeStmtResSet(stmt, rs);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
875
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
876 compareExpectedOutput("Test_FetchSize",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
877 "Statement fetch size before set: 0\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
878 "ResultSet fetch size before set: 250\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
879 "Statement fetch size after set: 40\n" +
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
880 "ResultSet fetch size after set: 16384\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
881 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
882
447
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
883 private void Test_Int128() {
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
884 sb.setLength(0); // clear the output log buffer
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
885
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
886 Statement stmt = null;
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
887 ResultSet rs = null;
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
888
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
889 // check first if datatype hugeint is supported on this server
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
890 boolean supportsHugeInt = false;
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
891 try {
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
892 stmt = con.createStatement();
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
893 // query sys.types to find out if sql datatype hugeint is supported
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
894 rs = stmt.executeQuery("SELECT sqlname from sys.types where sqlname = 'hugeint';");
478
e239f02fe8b6 Add code to close the resultset after use to free resources on the server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 469
diff changeset
895 if (rs != null) {
e239f02fe8b6 Add code to close the resultset after use to free resources on the server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 469
diff changeset
896 if (rs.next()) {
e239f02fe8b6 Add code to close the resultset after use to free resources on the server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 469
diff changeset
897 if ("hugeint".equals(rs.getString(1)))
e239f02fe8b6 Add code to close the resultset after use to free resources on the server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 469
diff changeset
898 supportsHugeInt = true;
e239f02fe8b6 Add code to close the resultset after use to free resources on the server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 469
diff changeset
899 }
e239f02fe8b6 Add code to close the resultset after use to free resources on the server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 469
diff changeset
900 rs.close();
e239f02fe8b6 Add code to close the resultset after use to free resources on the server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 469
diff changeset
901 rs = null;
447
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
902 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
903 } catch (SQLException e) {
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
904 sb.append("FAILED: ").append(e.getMessage()).append("\n");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
905 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
906
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
907 if (!supportsHugeInt) {
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
908 closeStmtResSet(stmt, rs);
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
909 compareExpectedOutput("Test_Int128", "");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
910 return; // skip the rest of the test
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
911 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
912
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
913 // test whether we can represent a full-size int128 as JDBC results
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
914 PreparedStatement insertStatement = null;
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
915 try {
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
916 stmt.executeUpdate("CREATE TABLE HUGEINTT (I HUGEINT)");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
917 stmt.executeUpdate("CREATE TABLE HUGEDECT (I DECIMAL(38,19))");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
918
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
919 BigInteger bi = new BigInteger("123456789012345678909876543210987654321");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
920 BigDecimal bd = new BigDecimal("1234567890123456789.9876543210987654321");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
921
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
922 insertStatement = con.prepareStatement("INSERT INTO HUGEINTT VALUES (?)");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
923 insertStatement.setBigDecimal(1, new BigDecimal(bi));
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
924 insertStatement.executeUpdate();
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
925 insertStatement.close();
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
926
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
927 stmt.executeUpdate("INSERT INTO HUGEDECT VALUES (" + bd + ");");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
928
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
929 rs = stmt.executeQuery("SELECT I FROM HUGEINTT");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
930 rs.next();
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
931 BigInteger biRes = rs.getBigDecimal(1).toBigInteger();
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
932 rs.close();
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
933 sb.append("Expecting " + bi + ", got " + biRes).append("\n");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
934 if (!bi.equals(biRes)) {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
935 sb.append("value of bi is NOT equal to biRes!\n");
447
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
936 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
937
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
938 rs = stmt.executeQuery("SELECT I FROM HUGEDECT");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
939 rs.next();
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
940 BigDecimal bdRes = rs.getBigDecimal(1);
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
941 rs.close();
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
942 sb.append("Expecting " + bd + ", got " + bdRes).append("\n");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
943 if (!bd.equals(bdRes)) {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
944 sb.append("value of bd is NOT equal to bdRes!\n");
447
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
945 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
946 } catch (SQLException e) {
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
947 sb.append("FAILED: ").append(e.getMessage()).append("\n");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
948 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
949
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
950 // cleanup
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
951 try {
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
952 stmt.executeUpdate("DROP TABLE IF EXISTS HUGEINTT");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
953 stmt.executeUpdate("DROP TABLE IF EXISTS HUGEDECT");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
954 sb.append("SUCCESS\n");
447
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
955 } catch (SQLException e) {
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
956 sb.append("FAILED: ").append(e.getMessage()).append("\n");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
957 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
958 closeStmtResSet(insertStatement, null);
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
959 closeStmtResSet(stmt, rs);
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
960
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
961 compareExpectedOutput("Test_Int128",
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
962 "Expecting 123456789012345678909876543210987654321, got 123456789012345678909876543210987654321\n" +
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
963 "Expecting 1234567890123456789.9876543210987654321, got 1234567890123456789.9876543210987654321\n" +
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
964 "SUCCESS\n");
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
965 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
966
633
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
967 private void Test_PlanExplainTraceDebugCmds() {
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
968 sb.setLength(0); // clear the output log buffer
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
969
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
970 Statement stmt = null;
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
971 ResultSet rs = null;
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
972 try {
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
973 stmt = con.createStatement();
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
974 String qry = "SELECT 1;";
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
975 rs = stmt.executeQuery(qry);
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
976 while (rs.next()) {
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
977 sb.append(rs.getString(1)).append("\n");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
978 }
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
979 rs.close();
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
980 rs = null;
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
981 compareExpectedOutput("Test_PlanExplainTraceDebugCmds: " + qry, "1\n");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
982 sb.setLength(0); // clear the output log buffer
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
983
643
1f444b5ad7d2 Forgot to cleanup created type xml. Now it will be dropped after use.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 642
diff changeset
984 // plan statements are supported via JDBC
633
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
985 qry = "plan SELECT 2;";
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
986 rs = stmt.executeQuery(qry);
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
987 compareResultSet(rs, qry,
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
988 "Resultset with 1 columns\n" +
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
989 "rel\n" +
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
990 "project (\n" +
641
fac0ed642af2 Approved output of new label
Pedro Ferreira <pedro.ferreira@monetdbsolutions.com>
parents: 635
diff changeset
991 "| [ boolean(1) \"true\" as \"%1\".\"%1\" ]\n" +
633
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
992 ") [ tinyint(2) \"2\" ]\n");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
993 rs.close();
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
994 rs = null;
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
995 sb.setLength(0); // clear the output log buffer
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
996
643
1f444b5ad7d2 Forgot to cleanup created type xml. Now it will be dropped after use.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 642
diff changeset
997 // explain statements are supported via JDBC
633
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
998 qry = "explain SELECT 3;";
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
999 rs = stmt.executeQuery(qry);
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1000 while (rs.next()) {
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1001 String val = rs.getString(1);
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1002 if (!val.startsWith("#"))
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1003 sb.append(val).append("\n");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1004 }
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1005 rs.close();
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1006 rs = null;
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1007 compareExpectedOutput("Test_PlanExplainTraceDebugCmds: " + qry,
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1008 "function user.main():void;\n" +
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1009 " X_1:void := querylog.define(\"explain select 3;\":str, \"default_pipe\":str, 6:int);\n" +
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1010 " X_10:int := sql.resultSet(\".%2\":str, \"%2\":str, \"tinyint\":str, 2:int, 0:int, 7:int, 3:bte);\n" +
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1011 "end user.main;\n");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1012 sb.setLength(0); // clear the output log buffer
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1013
643
1f444b5ad7d2 Forgot to cleanup created type xml. Now it will be dropped after use.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 642
diff changeset
1014 // trace statements are supported via JDBC. Note that it returns two resultsets, one with the query result and next one with the trace result.
633
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1015 qry = "trace SELECT 4;";
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1016 rs = stmt.executeQuery(qry);
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1017 while (rs.next()) {
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1018 sb.append(rs.getString(1)).append("\n");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1019 }
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1020 if (stmt.getMoreResults()) {
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1021 sb.append("Another resultset\n");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1022 rs = stmt.getResultSet();
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1023 while (rs.next()) {
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1024 sb.append(rs.getString(2)).append("\n");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1025 }
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1026 }
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1027 rs.close();
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1028 rs = null;
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1029 compareExpectedOutput("Test_PlanExplainTraceDebugCmds: " + qry,
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1030 "4\n" +
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1031 "Another resultset\n" +
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1032 " X_1=0@0:void := querylog.define(\"trace select 4;\":str, \"default_pipe\":str, 6:int);\n" +
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1033 " X_10=0:int := sql.resultSet(\".%2\":str, \"%2\":str, \"tinyint\":str, 3:int, 0:int, 7:int, 4:bte);\n");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1034 sb.setLength(0); // clear the output log buffer
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1035
643
1f444b5ad7d2 Forgot to cleanup created type xml. Now it will be dropped after use.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 642
diff changeset
1036 // debug statements are NOT supported via JDBC driver, so the execution should throw an SQLException
633
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1037 qry = "debug SELECT 5;";
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1038 sb.append(qry).append("\n");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1039 rs = stmt.executeQuery(qry);
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1040 while (rs.next()) {
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1041 sb.append(rs.getString(1)).append("\n");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1042 }
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1043 rs.close();
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1044 rs = null;
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1045 compareExpectedOutput("Test_PlanExplainTraceDebugCmds", qry + "\n" + "5\n");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1046 sb.setLength(0); // clear the output log buffer
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1047 } catch (SQLException e) {
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1048 sb.append("FAILED: ");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1049 while (e != null) {
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1050 sb.append(e.getMessage()).append("\n");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1051 e = e.getNextException();
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1052 }
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1053 }
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1054
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1055 closeStmtResSet(stmt, rs);
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1056
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1057 compareExpectedOutput("Test_PlanExplainTraceDebugCmds",
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1058 "debug SELECT 5;\n" +
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1059 "FAILED: SQL debugging only supported in interactive mode in: \"debug\"\n" +
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1060 "Current transaction is aborted (please ROLLBACK)\n");
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1061 }
0d026d0bf7f1 Added test to execute PLAN, EXPLAIN, TRACE and DEBUG queries via JDBC API.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 619
diff changeset
1062
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1063 private void Test_PSgeneratedkeys() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1064 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1065
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1066 Statement stmt = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1067 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1068 con.setAutoCommit(false);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1069 // >> false: auto commit was just switched off
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1070 sb.append("0. false\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1071
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1072 stmt = con.createStatement();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1073 stmt.executeUpdate(
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1074 "CREATE TABLE psgenkey (" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1075 " id serial," +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1076 " val varchar(20)" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1077 ")");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1078 stmt.close();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1079 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1080 sb.append("FAILED to CREATE TABLE psgenkey: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1081 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1082 closeStmtResSet(stmt, null);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1083
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1084 PreparedStatement pstmt = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1085 ResultSet keys = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1086 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1087 pstmt = con.prepareStatement(
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1088 "INSERT INTO psgenkey (val) VALUES ('this is a test')",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1089 Statement.RETURN_GENERATED_KEYS);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1090
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1091 sb.append("1. inserting 3 records...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1092 pstmt.executeUpdate();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1093 pstmt.executeUpdate();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1094 pstmt.executeUpdate();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1095 sb.append("success\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1096
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1097 // now get the generated keys
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1098 sb.append("2. getting generated keys...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1099 keys = pstmt.getGeneratedKeys();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1100 if (keys == null) {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1101 sb.append("there are no keys!\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1102 } else {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1103 while (keys.next()) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1104 sb.append("generated key index: ").append(keys.getInt(1)).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1105 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1106 if (keys.getStatement() == null) {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1107 sb.append("ResultSet.getStatement() should never return null!\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1108 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1109 keys.close();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1110 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1111 pstmt.close();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1112 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1113 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1114 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1115 closeStmtResSet(pstmt, keys);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1116
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1117 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1118 con.rollback();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1119 // restore default setting
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1120 con.setAutoCommit(true);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1121 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1122 sb.append("FAILED to rollback: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1123 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1124
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1125 compareExpectedOutput("Test_PSgeneratedkeys",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1126 "0. false false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1127 "1. inserting 3 records...success\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1128 "2. getting generated keys...generated key index: 3\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1129 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1130
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1131 private void Test_PSgetObject() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1132 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1133
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1134 Statement stmt = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1135 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1136 con.setAutoCommit(false);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1137 // >> false: auto commit was just switched off
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1138 sb.append("0. false\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1139
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1140 stmt = con.createStatement();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1141 sb.append("1. creating test table...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1142 stmt.executeUpdate("CREATE TABLE table_Test_PSgetObject (ti tinyint, si smallint, i int, bi bigint)");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1143 sb.append("success\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1144 stmt.close();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1145 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1146 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1147 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1148 closeStmtResSet(stmt, null);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1149
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1150 PreparedStatement pstmt = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1151 ResultSet rs = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1152 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1153 sb.append("2a. inserting 3 records as batch...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1154 pstmt = con.prepareStatement("INSERT INTO table_Test_PSgetObject (ti,si,i,bi) VALUES (?,?,?,?)");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1155 pstmt.setShort(1, (short)1);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1156 pstmt.setShort(2, (short)1);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1157 pstmt.setInt (3, 1);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1158 pstmt.setLong(4, (long)1);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1159 pstmt.addBatch();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1160
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1161 pstmt.setShort(1, (short)127);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1162 pstmt.setShort(2, (short)12700);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1163 pstmt.setInt (3, 1270000);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1164 pstmt.setLong(4, (long)127000000);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1165 pstmt.addBatch();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1166
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1167 pstmt.setShort(1, (short)-127);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1168 pstmt.setShort(2, (short)-12700);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1169 pstmt.setInt (3, -1270000);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1170 pstmt.setLong(4, (long)-127000000);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1171 pstmt.addBatch();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1172
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1173 pstmt.executeBatch();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1174 sb.append(" passed\n");
450
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 448
diff changeset
1175 sb.append(pstmt.toString()); // test showing prepared statement
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1176
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1177 sb.append("2b. closing PreparedStatement...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1178 pstmt.close();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1179 sb.append(" passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1180 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1181 sb.append("FAILED to INSERT data: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1182 while ((e = e.getNextException()) != null)
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1183 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1184 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1185
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1186 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1187 sb.append("3a. selecting records...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1188 pstmt = con.prepareStatement("SELECT ti,si,i,bi FROM table_Test_PSgetObject ORDER BY ti,si,i,bi");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1189 rs = pstmt.executeQuery();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1190 sb.append(" passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1191
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1192 while (rs.next()) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1193 // test fix for https://www.monetdb.org/bugzilla/show_bug.cgi?id=4026
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1194 Short ti = (Short) rs.getObject(1);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1195 Short si = (Short) rs.getObject(2);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1196 Integer i = (Integer) rs.getObject(3);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1197 Long bi = (Long) rs.getObject(4);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1198
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1199 sb.append(" Retrieved row data: ti=").append(ti).append(" si=").append(si).append(" i=").append(i).append(" bi=").append(bi).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1200 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1201
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1202 sb.append("3b. closing ResultSet...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1203 rs.close();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1204 sb.append(" passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1205
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1206 sb.append("3c. closing PreparedStatement...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1207 pstmt.close();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1208 sb.append(" passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1209 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1210 sb.append("FAILED to RETRIEVE data: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1211 while ((e = e.getNextException()) != null)
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1212 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1213 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1214 closeStmtResSet(pstmt, rs);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1215
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1216 try {
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1217 sb.append("4. Rollback changes...");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1218 con.rollback();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1219 sb.append(" passed\n");
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1220
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1221 // restore default setting
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1222 con.setAutoCommit(true);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1223 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1224 sb.append("FAILED to rollback: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1225 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1226
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1227 compareExpectedOutput("Test_PSgetObject",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1228 "0. false false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1229 "1. creating test table...success\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1230 "2a. inserting 3 records as batch... passed\n" +
450
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 448
diff changeset
1231 "Prepared SQL: INSERT INTO table_Test_PSgetObject (ti,si,i,bi) VALUES (?,?,?,?)\n" +
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 448
diff changeset
1232 " parameter 1 tinyint, set value: -127\n" +
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 448
diff changeset
1233 " parameter 2 smallint, set value: -12700\n" +
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 448
diff changeset
1234 " parameter 3 int, set value: -1270000\n" +
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 448
diff changeset
1235 " parameter 4 bigint, set value: -127000000\n" +
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1236 "2b. closing PreparedStatement... passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1237 "3a. selecting records... passed\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1238 " Retrieved row data: ti=-127 si=-12700 i=-1270000 bi=-127000000\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1239 " Retrieved row data: ti=1 si=1 i=1 bi=1\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1240 " Retrieved row data: ti=127 si=12700 i=1270000 bi=127000000\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1241 "3b. closing ResultSet... passed\n" +
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1242 "3c. closing PreparedStatement... passed\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1243 "4. Rollback changes... passed\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1244 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1245
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1246 private void Test_PSlargebatchval() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1247 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1248
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1249 byte[] errorBytes = new byte[] { (byte) 0xe2, (byte) 0x80, (byte) 0xa7 };
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1250 String errorStr = new String(errorBytes, Charset.forName("UTF-8"));
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1251 StringBuilder repeatedErrorStr = new StringBuilder();
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1252 for (int i = 0; i < 8170;i++) {
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1253 repeatedErrorStr.append(errorStr);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1254 }
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1255 String largeStr = repeatedErrorStr.toString();
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1256
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1257 Statement stmt = null;
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1258 PreparedStatement pstmt = null;
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1259 ResultSet rs = null;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1260 try {
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1261 // >> true: auto commit should be on
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1262 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1263
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1264 stmt = con.createStatement();
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1265 sb.append("1. creating test table...");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1266 stmt.execute("CREATE TABLE Test_PSlargebatchval (c INT, a CLOB, b DOUBLE)");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1267 sb.append("success\n");
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1268
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1269 sb.append("2. prepare insert...");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1270 pstmt = con.prepareStatement("INSERT INTO Test_PSlargebatchval VALUES (?,?,?)");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1271 sb.append("success\n");
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1272
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1273 pstmt.setLong(1, 1L);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1274 pstmt.setString(2, largeStr);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1275 pstmt.setDouble(3, 1.0);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1276 pstmt.addBatch();
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1277 pstmt.executeBatch();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1278 sb.append("3. inserted 1 large string\n");
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1279
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1280 /* test issue reported at https://www.monetdb.org/bugzilla/show_bug.cgi?id=3470 */
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1281 pstmt.setLong(1, -2L);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1282 pstmt.setClob(2, new StringReader(largeStr));
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1283 pstmt.setDouble(3, -2.0);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1284 pstmt.addBatch();
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1285 pstmt.executeBatch();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1286 sb.append("4. inserted 1 large clob via StringReader() object\n");
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1287
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1288 Clob myClob = con.createClob();
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1289 myClob.setString(1L, largeStr);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1290
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1291 pstmt.setLong(1, 123456789L);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1292 pstmt.setClob(2, myClob);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1293 pstmt.setDouble(3, 12345678901.98765);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1294 pstmt.addBatch();
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1295 pstmt.executeBatch();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1296 sb.append("5. inserted 1 large clob via createClob() object\n");
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1297
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1298 pstmt.close();
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1299
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1300 sb.append("6. select count(*)... ");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1301 rs = stmt.executeQuery("SELECT COUNT(*) FROM Test_PSlargebatchval");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1302 if (rs.next())
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1303 sb.append(rs.getInt(1)).append(" rows inserted.\n");
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1304 rs.close();
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1305
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1306 sb.append("7. drop table...");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1307 stmt.execute("DROP TABLE Test_PSlargebatchval");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1308 sb.append("success\n");
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1309 stmt.close();
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1310 } catch (SQLException e) {
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1311 sb.append("FAILED: ").append(e.getMessage()).append("\n");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1312 while ((e = e.getNextException()) != null)
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1313 sb.append("FAILED: ").append(e.getMessage()).append("\n");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1314 }
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1315 closeStmtResSet(stmt, rs);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1316 closeStmtResSet(pstmt, null);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1317
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1318 compareExpectedOutput("Test_PSlargebatchval",
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1319 "0. true true\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1320 "1. creating test table...success\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1321 "2. prepare insert...success\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1322 "3. inserted 1 large string\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1323 "4. inserted 1 large clob via StringReader() object\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1324 "5. inserted 1 large clob via createClob() object\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1325 "6. select count(*)... 3 rows inserted.\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1326 "7. drop table...success\n");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1327 }
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1328
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1329 private void Test_PSlargeresponse(String conURL) {
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1330 sb.setLength(0); // clear the output log buffer
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1331
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1332 PreparedStatement pstmt = null;
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1333 try {
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1334 sb.append("1. DatabaseMetadata environment retrieval... ");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1335
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1336 // retrieve this to simulate a bug report
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1337 DatabaseMetaData dbmd = con.getMetaData();
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1338 if (conURL.startsWith(dbmd.getURL()))
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1339 sb.append("oke");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1340 else
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1341 sb.append("not oke ").append(dbmd.getURL());
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1342 sb.append("\n");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1343
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1344 pstmt = con.prepareStatement("select * from columns");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1345 sb.append("2. empty call...");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1346 // should succeed (no arguments given)
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1347 pstmt.execute();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1348 sb.append(" passed\n");
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1349 } catch (SQLException e) {
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1350 sb.append("FAILED: ").append(e.getMessage()).append("\n");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1351 }
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1352 closeStmtResSet(pstmt, null);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1353
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1354 compareExpectedOutput("Test_PSlargeresponse",
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1355 "1. DatabaseMetadata environment retrieval... oke\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1356 "2. empty call... passed\n");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1357 }
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1358
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1359 private void Test_PSmanycon(String arg0) {
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1360 sb.setLength(0); // clear the output log buffer
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1361
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1362 final int maxCons = 60; // default max_clients is 64, 2 connections are already open from this program
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1363 List<PreparedStatement> pss = new ArrayList<PreparedStatement>(maxCons); // PreparedStatements go in here
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1364
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1365 try {
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1366 // spawn a lot of Connections with 1 PreparedStatement, just for fun...
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1367 int i = 1;
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1368 sb.append("Establishing Connection ");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1369 for (; i <= maxCons; i++) {
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1370 sb.append(i);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1371 Connection conx = DriverManager.getConnection(arg0);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1372 sb.append(",");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1373
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1374 // do something with the connection to test if it works
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1375 PreparedStatement pstmt = conx.prepareStatement("select " + i);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1376 sb.append(" ");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1377
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1378 pss.add(pstmt);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1379 }
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1380 sb.append("\n");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1381
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1382 // now try to nicely execute them
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1383 i = 1;
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1384 sb.append("Executing PreparedStatement\n");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1385 for (Iterator<PreparedStatement> it = pss.iterator(); it.hasNext(); i++) {
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1386 PreparedStatement pstmt = it.next();
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1387
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1388 // see if the connection still works
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1389 sb.append(i).append("...");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1390 if (!pstmt.execute())
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1391 sb.append("should have seen a ResultSet!");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1392
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1393 ResultSet rs = pstmt.getResultSet();
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1394 if (rs != null) {
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1395 if (!rs.next())
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1396 sb.append("ResultSet is empty");
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1397 sb.append(" result: ").append(rs.getString(1));
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1398 }
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1400 // close the connection and associated resources
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1401 pstmt.getConnection().close();
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1402 sb.append(", closed. ");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1403
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1404 if (i % 5 == 0) {
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1405 // inject a failed transaction
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1406 Connection conZZ = DriverManager.getConnection(arg0);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1407 Statement stmt = con.createStatement();
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1408 try {
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1409 int affrows = stmt.executeUpdate("update foo where bar is wrong");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1410 sb.append("oops, faulty statement just got through");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1411 } catch (SQLException e) {
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1412 sb.append("Forced transaction failure");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1413 }
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1414 sb.append("\n");
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1415 closeStmtResSet(stmt, null);
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1416 conZZ.close();
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1417 }
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1418 }
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1419 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1420 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1421 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1422
399
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1423 compareExpectedOutput("Test_PSmanycon",
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1424 "Establishing Connection 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, " +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1425 "11, 12, 13, 14, 15, 16, 17, 18, 19, 20, " +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1426 "21, 22, 23, 24, 25, 26, 27, 28, 29, 30, " +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1427 "31, 32, 33, 34, 35, 36, 37, 38, 39, 40, " +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1428 "41, 42, 43, 44, 45, 46, 47, 48, 49, 50, " +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1429 "51, 52, 53, 54, 55, 56, 57, 58, 59, 60, \n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1430 "Executing PreparedStatement\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1431 "1... result: 1, closed. 2... result: 2, closed. 3... result: 3, closed. 4... result: 4, closed. 5... result: 5, closed. Forced transaction failure\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1432 "6... result: 6, closed. 7... result: 7, closed. 8... result: 8, closed. 9... result: 9, closed. 10... result: 10, closed. Forced transaction failure\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1433 "11... result: 11, closed. 12... result: 12, closed. 13... result: 13, closed. 14... result: 14, closed. 15... result: 15, closed. Forced transaction failure\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1434 "16... result: 16, closed. 17... result: 17, closed. 18... result: 18, closed. 19... result: 19, closed. 20... result: 20, closed. Forced transaction failure\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1435 "21... result: 21, closed. 22... result: 22, closed. 23... result: 23, closed. 24... result: 24, closed. 25... result: 25, closed. Forced transaction failure\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1436 "26... result: 26, closed. 27... result: 27, closed. 28... result: 28, closed. 29... result: 29, closed. 30... result: 30, closed. Forced transaction failure\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1437 "31... result: 31, closed. 32... result: 32, closed. 33... result: 33, closed. 34... result: 34, closed. 35... result: 35, closed. Forced transaction failure\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1438 "36... result: 36, closed. 37... result: 37, closed. 38... result: 38, closed. 39... result: 39, closed. 40... result: 40, closed. Forced transaction failure\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1439 "41... result: 41, closed. 42... result: 42, closed. 43... result: 43, closed. 44... result: 44, closed. 45... result: 45, closed. Forced transaction failure\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1440 "46... result: 46, closed. 47... result: 47, closed. 48... result: 48, closed. 49... result: 49, closed. 50... result: 50, closed. Forced transaction failure\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1441 "51... result: 51, closed. 52... result: 52, closed. 53... result: 53, closed. 54... result: 54, closed. 55... result: 55, closed. Forced transaction failure\n" +
addb345e4fa8 Changed test 'getIndexInfo(null, sys, table_types, false, false)' to resolve difference (9 instead of 10) reported on testweb for default branch.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 395
diff changeset
1442 "56... result: 56, closed. 57... result: 57, closed. 58... result: 58, closed. 59... result: 59, closed. 60... result: 60, closed. Forced transaction failure\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1443 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1444
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1445 private void Test_PSmetadata() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1446 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1447
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1448 Statement stmt = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1449 try {
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1450 con.setAutoCommit(false);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1451 // >> false: auto commit was just switched off
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1452 sb.append("0. false\t").append(con.getAutoCommit()).append("\n");
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1453
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1454 stmt = con.createStatement();
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1455 int updates = 0;
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1456 updates = stmt.executeUpdate("CREATE TABLE table_Test_PSmetadata ( myint int, mydouble double, mybool boolean, myvarchar varchar(15), myclob clob )");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1457 if (updates != Statement.SUCCESS_NO_INFO)
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1458 sb.append("1. Expected -2 got ").append(updates).append(" instead\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1459
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1460 // all NULLs
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1461 updates = stmt.executeUpdate("INSERT INTO table_Test_PSmetadata VALUES (NULL, NULL, NULL, NULL, NULL)");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1462 if (updates != 1)
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1463 sb.append("2a. Expected 1 got ").append(updates).append(" instead\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1464
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1465 // all filled in
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1466 updates = stmt.executeUpdate("INSERT INTO table_Test_PSmetadata VALUES (2 , 3.0, true, 'A string', 'bla bla bla')");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1467 if (updates != 1)
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1468 sb.append("2b. Expected 1 got ").append(updates).append(" instead\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1469 } catch (SQLException e) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1470 sb.append("FAILED: ").append(e.getMessage()).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1471 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1472 closeStmtResSet(stmt, null);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1473
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1474 PreparedStatement pstmt = null;
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1475 try {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1476 pstmt = con.prepareStatement("SELECT CASE WHEN myint IS NULL THEN 0 ELSE 1 END AS intnull, * FROM table_Test_PSmetadata WHERE myint = ?");
450
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 448
diff changeset
1477 sb.append(pstmt.toString()); // test showing prepared statement
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1478
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1479 // testing and showing result set meta data
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1480 ResultSetMetaData rsmd = pstmt.getMetaData();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1481 sb.append("rsmd. ").append(rsmd.getColumnCount()).append(" columns:\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1482 for (int col = 1; col <= rsmd.getColumnCount(); col++) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1483 sb.append("RCol ").append(col).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1484 sb.append(" classname ").append(rsmd.getColumnClassName(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1485 sb.append(" displaysize ").append(rsmd.getColumnDisplaySize(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1486 sb.append(" label ").append(rsmd.getColumnLabel(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1487 sb.append(" name ").append(rsmd.getColumnName(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1488 sb.append(" type ").append(rsmd.getColumnType(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1489 sb.append(" typename ").append(rsmd.getColumnTypeName(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1490 sb.append(" precision ").append(rsmd.getPrecision(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1491 sb.append(" scale ").append(rsmd.getScale(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1492 sb.append(" catalogname ").append(rsmd.getCatalogName(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1493 sb.append(" schemaname ").append(rsmd.getSchemaName(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1494 sb.append(" tablename ").append(rsmd.getTableName(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1495 sb.append(" autoincrement ").append(rsmd.isAutoIncrement(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1496 sb.append(" casesensitive ").append(rsmd.isCaseSensitive(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1497 sb.append(" currency ").append(rsmd.isCurrency(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1498 sb.append(" defwritable ").append(rsmd.isDefinitelyWritable(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1499 sb.append(" nullable ").append(rsmd.isNullable(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1500 sb.append(" readonly ").append(rsmd.isReadOnly(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1501 sb.append(" searchable ").append(rsmd.isSearchable(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1502 sb.append(" signed ").append(rsmd.isSigned(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1503 sb.append(" writable ").append(rsmd.isWritable(col)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1504 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1505
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1506 showParams(pstmt);
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1507
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1508 con.rollback();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1509 con.setAutoCommit(true);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1510 // >> true: auto commit was just switched on
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1511 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1512 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1513 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1514 }
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1515 closeStmtResSet(pstmt, null);
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1516
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1517 compareExpectedOutput("Test_PSmetadata",
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1518 "0. false\tfalse\n" +
450
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 448
diff changeset
1519 "Prepared SQL: SELECT CASE WHEN myint IS NULL THEN 0 ELSE 1 END AS intnull, * FROM table_Test_PSmetadata WHERE myint = ?\n" +
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 448
diff changeset
1520 " parameter 1 int, set value: <null>\n" +
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1521 "rsmd. 6 columns:\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1522 "RCol 1\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1523 " classname java.lang.Short\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1524 " displaysize 8\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1525 " label intnull\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1526 " name intnull\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1527 " type -6\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1528 " typename tinyint\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1529 " precision 8\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1530 " scale 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1531 " catalogname null\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1532 " schemaname \n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1533 " tablename \n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1534 " autoincrement false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1535 " casesensitive false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1536 " currency false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1537 " defwritable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1538 " nullable 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1539 " readonly true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1540 " searchable true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1541 " signed true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1542 " writable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1543 "RCol 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1544 " classname java.lang.Integer\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1545 " displaysize 32\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1546 " label myint\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1547 " name myint\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1548 " type 4\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1549 " typename int\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1550 " precision 32\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1551 " scale 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1552 " catalogname null\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1553 " schemaname \n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1554 " tablename table_test_psmetadata\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1555 " autoincrement false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1556 " casesensitive false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1557 " currency false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1558 " defwritable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1559 " nullable 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1560 " readonly true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1561 " searchable true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1562 " signed true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1563 " writable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1564 "RCol 3\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1565 " classname java.lang.Double\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1566 " displaysize 53\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1567 " label mydouble\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1568 " name mydouble\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1569 " type 8\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1570 " typename double\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1571 " precision 53\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1572 " scale 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1573 " catalogname null\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1574 " schemaname \n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1575 " tablename table_test_psmetadata\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1576 " autoincrement false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1577 " casesensitive false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1578 " currency false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1579 " defwritable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1580 " nullable 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1581 " readonly true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1582 " searchable true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1583 " signed true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1584 " writable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1585 "RCol 4\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1586 " classname java.lang.Boolean\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1587 " displaysize 1\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1588 " label mybool\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1589 " name mybool\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1590 " type 16\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1591 " typename boolean\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1592 " precision 1\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1593 " scale 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1594 " catalogname null\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1595 " schemaname \n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1596 " tablename table_test_psmetadata\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1597 " autoincrement false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1598 " casesensitive false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1599 " currency false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1600 " defwritable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1601 " nullable 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1602 " readonly true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1603 " searchable true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1604 " signed false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1605 " writable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1606 "RCol 5\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1607 " classname java.lang.String\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1608 " displaysize 15\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1609 " label myvarchar\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1610 " name myvarchar\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1611 " type 12\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1612 " typename varchar\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1613 " precision 15\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1614 " scale 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1615 " catalogname null\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1616 " schemaname \n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1617 " tablename table_test_psmetadata\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1618 " autoincrement false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1619 " casesensitive true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1620 " currency false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1621 " defwritable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1622 " nullable 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1623 " readonly true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1624 " searchable true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1625 " signed false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1626 " writable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1627 "RCol 6\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1628 " classname java.lang.String\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1629 " displaysize 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1630 " label myclob\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1631 " name myclob\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1632 " type 12\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1633 " typename clob\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1634 " precision 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1635 " scale 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1636 " catalogname null\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1637 " schemaname \n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1638 " tablename table_test_psmetadata\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1639 " autoincrement false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1640 " casesensitive true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1641 " currency false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1642 " defwritable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1643 " nullable 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1644 " readonly true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1645 " searchable true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1646 " signed false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1647 " writable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1648 "pmd. 1 parameters:\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1649 "Param 1\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1650 " nullable 2 (UNKNOWN)\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1651 " signed true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1652 " precision 32\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1653 " scale 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1654 " type 4\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1655 " typename int\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1656 " classname java.lang.Integer\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1657 " mode 1 (IN)\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1658 "0. true\ttrue\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1659 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1660
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1661 private void Test_PSsomeamount() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1662 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1663
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1664 PreparedStatement pstmt = null;
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1665 ResultSet rs = null;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1666 try {
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1667 // >> true: auto commit should be on
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1668 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1669
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1670 sb.append("1. Preparing and executing a unique statement\n");
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1671 for (int i = 0; i < 120; i++) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1672 pstmt = con.prepareStatement("select " + i + ", " + i + " = ?");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1673 pstmt.setInt(1, i);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1674 rs = pstmt.executeQuery();
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1675 if (rs != null && rs.next() && i % 20 == 0) {
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1676 sb.append(rs.getInt(1)).append(", ").append(rs.getBoolean(2)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1677 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1678 /* next call should cause resources on the server to be freed */
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1679 pstmt.close();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1680 }
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1681 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1682 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1683 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1684
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1685 closeStmtResSet(pstmt, rs);
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1686
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1687 compareExpectedOutput("Test_PSsomeamount",
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1688 "0. true true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1689 "1. Preparing and executing a unique statement\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1690 "0, true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1691 "20, true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1692 "40, true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1693 "60, true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1694 "80, true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1695 "100, true\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1696 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1697
464
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1698 /* Create a lot of PreparedStatements, to emulate webloads such as those from Hibernate. */
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1699 /* this test is same as Test_PSsomeamount() but for many more PreparedStatements to stress the server */
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1700 private void Test_PSlargeamount() {
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1701 sb.setLength(0); // clear the output log buffer
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1702
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1703 PreparedStatement pstmt = null;
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1704 ResultSet rs = null;
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1705 try {
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1706 // >> true: auto commit should be on
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1707 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1708
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1709 sb.append("1. Preparing and executing a unique statement\n");
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1710 for (int i = 0; i < 50001; i++) {
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1711 pstmt = con.prepareStatement("select " + i + ", " + i + " = ?");
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1712 pstmt.setInt(1, i);
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1713 rs = pstmt.executeQuery();
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1714 if (rs != null && rs.next() && i % 1000 == 0) {
464
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1715 sb.append(rs.getInt(1)).append(", ").append(rs.getBoolean(2)).append("\n");
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1716 }
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1717 /* next call should cause resources on the server to be freed */
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1718 pstmt.close();
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1719 }
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1720 } catch (SQLException e) {
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1721 sb.append("FAILED: ").append(e.getMessage()).append("\n");
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1722 }
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1723
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1724 closeStmtResSet(pstmt, rs);
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1725
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1726 compareExpectedOutput("Test_PSlargeamount",
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1727 "0. true true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1728 "1. Preparing and executing a unique statement\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1729 "0, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1730 "1000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1731 "2000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1732 "3000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1733 "4000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1734 "5000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1735 "6000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1736 "7000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1737 "8000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1738 "9000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1739 "10000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1740 "11000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1741 "12000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1742 "13000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1743 "14000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1744 "15000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1745 "16000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1746 "17000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1747 "18000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1748 "19000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1749 "20000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1750 "21000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1751 "22000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1752 "23000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1753 "24000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1754 "25000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1755 "26000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1756 "27000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1757 "28000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1758 "29000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1759 "30000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1760 "31000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1761 "32000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1762 "33000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1763 "34000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1764 "35000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1765 "36000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1766 "37000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1767 "38000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1768 "39000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1769 "40000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1770 "41000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1771 "42000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1772 "43000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1773 "44000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1774 "45000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1775 "46000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1776 "47000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1777 "48000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1778 "49000, true\n" +
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1779 "50000, true\n");
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1780 }
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
1781
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1782 private void Test_PSsqldata() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1783 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1784
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1785 Statement stmt = null;
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1786 PreparedStatement pstmt = null;
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1787 ResultSet rs = null;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1788 try {
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1789 con.setAutoCommit(false);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1790 // >> false: auto commit should be off now
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1791 sb.append("0. false\t").append(con.getAutoCommit()).append("\n");
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1792
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1793 stmt = con.createStatement();
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1794 int updates = stmt.executeUpdate("CREATE TABLE table_Test_PSsqldata ( myinet inet, myurl url )");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1795 if (updates != Statement.SUCCESS_NO_INFO)
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1796 sb.append("1. Expected -2 got ").append(updates).append(" instead\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1797
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1798 pstmt = con.prepareStatement("INSERT INTO table_Test_PSsqldata VALUES (?, ?)");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1799 ParameterMetaData pmd = pstmt.getParameterMetaData();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1800 sb.append(pmd.getParameterCount()).append(" parameters:\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1801 for (int parm = 1; parm <= pmd.getParameterCount(); parm++) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1802 sb.append("Parm ").append(parm).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1803 sb.append(" type ").append(pmd.getParameterType(parm)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1804 sb.append(" typename ").append(pmd.getParameterTypeName(parm)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1805 sb.append(" classname ").append(pmd.getParameterClassName(parm)).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1806 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1807
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1808 INET tinet = new INET();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1809 tinet.fromString("172.5.5.5/24");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1810
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1811 URL turl = new URL();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1812 try {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1813 turl.fromString("http://www.monetdb.org/");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1814 } catch (Exception e) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1815 sb.append("conversion failed: ").append(e.getMessage()).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1816 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1817 pstmt.setObject(1, tinet);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1818 pstmt.setObject(2, turl);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1819 // insert first record
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1820 pstmt.execute();
450
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 448
diff changeset
1821 sb.append(pstmt.toString()); // test showing prepared statement
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1822
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1823 try {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1824 tinet.setNetmaskBits(16);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1825 } catch (Exception e) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1826 sb.append("setNetmaskBits failed: ").append(e.getMessage()).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1827 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1828 // insert second record
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1829 pstmt.execute();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1830
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1831 rs = stmt.executeQuery("SELECT * FROM table_Test_PSsqldata");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1832 ResultSetMetaData rsmd = rs.getMetaData();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1833 for (int i = 1; rs.next(); i++) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1834 for (int col = 1; col <= rsmd.getColumnCount(); col++) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1835 Object x = rs.getObject(col);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1836 if (x == null || rs.wasNull()) {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
1837 sb.append(i).append(".\t<null>\n");
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1838 } else {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1839 sb.append(i).append(".\t").append(x.toString()).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1840 if (x instanceof INET) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1841 INET inet = (INET)x;
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1842 sb.append(" ").append(inet.getAddress()).append("/").append(inet.getNetmaskBits()).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1843 sb.append(" ").append(inet.getInetAddress().toString()).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1844 } else if (x instanceof URL) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1845 URL url = (URL)x;
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1846 sb.append(" ").append(url.getURL().toString()).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1847 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1848 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1849 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1850 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1851 con.rollback();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1852 con.setAutoCommit(true);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1853 // >> true: auto commit was just switched on
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1854 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1855 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1856 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1857 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1858
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1859 closeStmtResSet(stmt, rs);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1860 closeStmtResSet(pstmt, null);
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1861
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1862 compareExpectedOutput("Test_PSsqldata",
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1863 "0. false false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1864 "2 parameters:\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1865 "Parm 1\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1866 " type 12\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1867 " typename inet\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1868 " classname org.monetdb.jdbc.types.INET\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1869 "Parm 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1870 " type 12\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1871 " typename url\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1872 " classname org.monetdb.jdbc.types.URL\n" +
450
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 448
diff changeset
1873 "Prepared SQL: INSERT INTO table_Test_PSsqldata VALUES (?, ?)\n" +
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 448
diff changeset
1874 " parameter 1 inet, set value: inet '172.5.5.5/24'\n" +
b9f82064fe0c Implemented PreparedStatement.toString() as requested by https://github.com/MonetDB/monetdb-java/issues/8
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 448
diff changeset
1875 " parameter 2 url, set value: url 'http://www.monetdb.org/'\n" +
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1876 "1. 172.5.5.5/24\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1877 " 172.5.5.5/24\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1878 " /172.5.5.5\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1879 "1. http://www.monetdb.org/\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1880 " http://www.monetdb.org/\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1881 "2. 172.5.5.5/24\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1882 " 172.5.5.5/24\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1883 " /172.5.5.5\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1884 "2. http://www.monetdb.org/\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1885 " http://www.monetdb.org/\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1886 "0. true true\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1887 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1888
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1889 private void Test_PStimedate() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1890 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1891
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1892 Statement stmt = null;
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1893 PreparedStatement pstmt = null;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1894 ResultSet rs = null;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1895 try {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1896 con.setAutoCommit(false);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1897 // >> false: auto commit should be off now
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1898 sb.append("0. false\t").append(con.getAutoCommit()).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1899
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1900 stmt = con.createStatement();
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1901 int updates = stmt.executeUpdate("CREATE TABLE Test_PStimedate (t time, ts timestamp, d date)");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1902 if (updates != Statement.SUCCESS_NO_INFO)
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1903 sb.append("1. Expected -2 got ").append(updates).append(" instead\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1904
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1905 pstmt = con.prepareStatement("INSERT INTO Test_PStimedate VALUES (?, ?, ?)");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1906 sb.append("1. empty call...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1907 try {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1908 // should fail (as no parameters set)
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1909 pstmt.execute();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1910 sb.append(" UNexpected PASS!\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1911 } catch (SQLException e) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1912 sb.append(" expected exception\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1913 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1914
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1915 sb.append("2. inserting a record...");
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1916 final java.util.Date d = new java.util.Date();
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1917 final long tm = d.getTime();
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1918 pstmt.setTime(1, new java.sql.Time(tm));
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1919 pstmt.setTimestamp(2, new java.sql.Timestamp(tm));
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1920 pstmt.setDate(3, new java.sql.Date(tm));
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1921
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1922 pstmt.executeUpdate();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1923 sb.append(" passed\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1924
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1925 sb.append("3. closing PreparedStatement...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1926 pstmt.close();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1927 sb.append(" passed\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1928
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1929 sb.append("4. selecting record...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1930 pstmt = con.prepareStatement("SELECT * FROM Test_PStimedate");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1931 rs = pstmt.executeQuery();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1932 sb.append(" passed\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1933
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1934 while (rs != null && rs.next()) {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1935 for (int j = 1; j <= 3; j++) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1936 sb.append((j+4)).append(". retrieving...");
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1937 Object x = rs.getObject(j);
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1938 boolean matches = false;
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1939 if (x instanceof java.sql.Time) {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1940 sb.append(" (Time)");
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1941 matches = (new java.sql.Time(tm)).toString().equals(x.toString());
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1942 } else if (x instanceof java.sql.Date) {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1943 sb.append(" (Date)");
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1944 matches = (new java.sql.Date(tm)).toString().equals(x.toString());
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1945 } else if (x instanceof java.sql.Timestamp) {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1946 sb.append(" (Timestamp)");
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
1947 matches = (new java.sql.Timestamp(tm)).toString().equals(x.toString());
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1948 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1949 if (matches) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1950 sb.append(" passed\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1951 } else {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1952 sb.append(" FAILED (").append(x).append(" is not ").append(d).append(")\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1953 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1954 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1955 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1956
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1957 con.rollback();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1958 con.setAutoCommit(true);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1959 // >> true: auto commit was just switched on
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1960 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1961 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1962 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1963 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1964
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1965 closeStmtResSet(stmt, null);
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1966 closeStmtResSet(pstmt, rs);
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1967
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1968 compareExpectedOutput("Test_PStimedate",
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1969 "0. false false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1970 "1. empty call... expected exception\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1971 "2. inserting a record... passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1972 "3. closing PreparedStatement... passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1973 "4. selecting record... passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1974 "5. retrieving... (Time) passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1975 "6. retrieving... (Timestamp) passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1976 "7. retrieving... (Date) passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1977 "0. true true\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1978 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1979
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1980 private void Test_PStimezone() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1981 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1982
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1983 // make sure this test is reproducable regardless timezone
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1984 // setting, by overriding the VM's default
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1985 // we have to make sure that one doesn't have daylight
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1986 // savings corrections
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1987 TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1988
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1989 Statement stmt = null;
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1990 PreparedStatement pstmt = null;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1991 ResultSet rs = null;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1992 try {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1993 con.setAutoCommit(false);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1994 // >> false: auto commit should be off now
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1995 sb.append("0. false\t").append(con.getAutoCommit()).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1996
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1997 stmt = con.createStatement();
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
1998 int updates = stmt.executeUpdate("CREATE TABLE Test_PStimezone (ts timestamp, tsz timestamp with time zone, t time, tz time with time zone)");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1999 if (updates != Statement.SUCCESS_NO_INFO)
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2000 sb.append("1. Expected -2 got ").append(updates).append(" instead\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2001
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2002 pstmt = con.prepareStatement("INSERT INTO Test_PStimezone VALUES (?, ?, ?, ?)");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2003 sb.append("1. empty call...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2004 try {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2005 // should fail (as no parameters set)
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2006 pstmt.execute();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2007 sb.append(" UNexpected PASS!\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2008 } catch (SQLException e) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2009 sb.append(" expected exception\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2010 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2011
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2012 sb.append("2. inserting records...\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2013 java.sql.Timestamp ts = new java.sql.Timestamp(0L);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2014 java.sql.Time t = new java.sql.Time(0L);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2015 Calendar c = Calendar.getInstance();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2016 SimpleDateFormat tsz = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSZ");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2017 SimpleDateFormat tz = new SimpleDateFormat("HH:mm:ss.SSSZ");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2018
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2019 tsz.setTimeZone(c.getTimeZone());
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2020 tz.setTimeZone(tsz.getTimeZone());
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2021 sb.append("inserting (").append(c.getTimeZone().getID()).append(") ").append(tsz.format(ts)).append(", ").append(tz.format(t)).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2022
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2023 pstmt.setTimestamp(1, ts);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2024 pstmt.setTimestamp(2, ts);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2025 pstmt.setTime(3, t);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2026 pstmt.setTime(4, t);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2027 pstmt.executeUpdate();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2028
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2029 c.setTimeZone(TimeZone.getTimeZone("UTC"));
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2030 sb.append("inserting with calendar timezone ").append(c.getTimeZone().getID()).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2031 pstmt.setTimestamp(1, ts, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2032 pstmt.setTimestamp(2, ts, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2033 pstmt.setTime(3, t, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2034 pstmt.setTime(4, t, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2035 pstmt.executeUpdate();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2036
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2037 c.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2038 sb.append("inserting with calendar timezone ").append(c.getTimeZone().getID()).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2039 pstmt.setTimestamp(1, ts, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2040 pstmt.setTimestamp(2, ts);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2041 pstmt.setTime(3, t, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2042 pstmt.setTime(4, t);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2043 pstmt.executeUpdate();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2044
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2045 c.setTimeZone(TimeZone.getTimeZone("GMT+04:15"));
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2046 sb.append("inserting with calendar timezone ").append(c.getTimeZone().getID()).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2047 pstmt.setTimestamp(1, ts);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2048 pstmt.setTimestamp(2, ts, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2049 pstmt.setTime(3, t);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2050 pstmt.setTime(4, t, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2051 pstmt.executeUpdate();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2052 sb.append(" done\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2053
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2054 sb.append("3. closing PreparedStatement...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2055 pstmt.close();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2056 sb.append(" passed\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2057
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2058 sb.append("4. selecting records...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2059 pstmt = con.prepareStatement("SELECT * FROM Test_PStimezone");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2060 rs = pstmt.executeQuery();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2061 sb.append(" passed\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2062
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2063 // The tz fields should basically always be the same
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2064 // (exactly 1st Jan 1970) since whatever timezone is used,
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2065 // the server retains it, and Java restores it.
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2066 // The zoneless fields will show differences since the time
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2067 // is inserted translated to the given timezones, and
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2068 // retrieved as in they were given in those timezones.
463
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2069 // When the insert zone matches the retrieve zone, Java should
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2070 // eventually see 1st Jan 1970.
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2071 while (rs.next()) {
463
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2072 sb.append("retrieved row (String):\n")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2073 .append(rs.getString("ts")).append(" | ")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2074 // .append(rs.getString("tsz")).append(" | ") -- this values changes when summer or wintertime changes so no stable output
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2075 .append(rs.getString("t")).append(" | ")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2076 // .append(rs.getString("tz")) -- this values changes when summer or wintertime changes so no stable output
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2077 .append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2078
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2079 tsz.setTimeZone(TimeZone.getDefault());
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2080 tz.setTimeZone(tsz.getTimeZone());
463
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2081 sb.append("default (").append(tsz.getTimeZone().getID()).append("):\n")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2082 .append(tsz.format(rs.getTimestamp("ts"))).append(" | ")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2083 .append(tsz.format(rs.getTimestamp("tsz"))).append(" | ")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2084 .append(tz.format(rs.getTime("t"))).append(" | ")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2085 .append(tz.format(rs.getTime("tz"))).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2086
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2087 c.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
463
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2088 sb.append(c.getTimeZone().getID()).append(":\n")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2089 .append(rs.getTimestamp("ts", c)).append(" | ")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2090 .append(rs.getTimestamp("tsz", c)).append(" | ")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2091 .append(rs.getTime("t", c)).append(" | ")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2092 .append(rs.getTime("tz", c)).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2093
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2094 c.setTimeZone(TimeZone.getTimeZone("Africa/Windhoek"));
463
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2095 sb.append(c.getTimeZone().getID()).append(":\n")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2096 .append(rs.getTimestamp("ts", c)).append(" | ")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2097 .append(rs.getTimestamp("tsz", c)).append(" | ")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2098 .append(rs.getTime("t", c)).append(" | ")
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2099 .append(rs.getTime("tz", c)).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2100
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2101 SQLWarning w = rs.getWarnings();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2102 while (w != null) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2103 sb.append(w.getMessage()).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2104 w = w.getNextWarning();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2105 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2106 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2107
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2108 con.rollback();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2109 con.setAutoCommit(true);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2110 // >> true: auto commit was just switched on
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2111 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2112 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2113 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2114 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2115
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2116 closeStmtResSet(stmt, null);
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2117 closeStmtResSet(pstmt, rs);
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2118
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2119 compareExpectedOutput("Test_PStimezone",
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2120 "0. false false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2121 "1. empty call... expected exception\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2122 "2. inserting records...\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2123 "inserting (UTC) 1970-01-01 00:00:00.000+0000, 00:00:00.000+0000\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2124 "inserting with calendar timezone UTC\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2125 "inserting with calendar timezone America/Los_Angeles\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2126 "inserting with calendar timezone GMT+04:15\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2127 " done\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2128 "3. closing PreparedStatement... passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2129 "4. selecting records... passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2130 "retrieved row (String):\n" +
463
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2131 // old output "1970-01-01 00:00:00.000000 | 1970-01-01 01:00:00.000000+01:00 | 00:00:00 | 01:00:00+01:00\n" +
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2132 "1970-01-01 00:00:00.000000 | 00:00:00 | \n" +
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2133 "default (UTC):\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2134 "1970-01-01 00:00:00.000+0000 | 1970-01-01 00:00:00.000+0000 | 00:00:00.000+0000 | 00:00:00.000+0000\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2135 "America/Los_Angeles:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2136 "1970-01-01 08:00:00.0 | 1970-01-01 00:00:00.0 | 08:00:00 | 00:00:00\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2137 "Africa/Windhoek:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2138 "1969-12-31 22:00:00.0 | 1970-01-01 00:00:00.0 | 22:00:00 | 00:00:00\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2139 "retrieved row (String):\n" +
463
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2140 // old output "1970-01-01 00:00:00.000000 | 1970-01-01 01:00:00.000000+01:00 | 00:00:00 | 01:00:00+01:00\n" +
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2141 "1970-01-01 00:00:00.000000 | 00:00:00 | \n" +
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2142 "default (UTC):\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2143 "1970-01-01 00:00:00.000+0000 | 1970-01-01 00:00:00.000+0000 | 00:00:00.000+0000 | 00:00:00.000+0000\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2144 "America/Los_Angeles:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2145 "1970-01-01 08:00:00.0 | 1970-01-01 00:00:00.0 | 08:00:00 | 00:00:00\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2146 "Africa/Windhoek:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2147 "1969-12-31 22:00:00.0 | 1970-01-01 00:00:00.0 | 22:00:00 | 00:00:00\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2148 "retrieved row (String):\n" +
463
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2149 // old output "1969-12-31 16:00:00.000000 | 1970-01-01 01:00:00.000000+01:00 | 16:00:00 | 01:00:00+01:00\n" +
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2150 "1969-12-31 16:00:00.000000 | 16:00:00 | \n" +
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2151 "default (UTC):\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2152 "1969-12-31 16:00:00.000+0000 | 1970-01-01 00:00:00.000+0000 | 16:00:00.000+0000 | 00:00:00.000+0000\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2153 "America/Los_Angeles:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2154 "1970-01-01 00:00:00.0 | 1970-01-01 00:00:00.0 | 00:00:00 | 00:00:00\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2155 "Africa/Windhoek:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2156 "1969-12-31 14:00:00.0 | 1970-01-01 00:00:00.0 | 14:00:00 | 00:00:00\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2157 "retrieved row (String):\n" +
463
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2158 // old output "1970-01-01 00:00:00.000000 | 1970-01-01 01:00:00.000000+01:00 | 00:00:00 | 01:00:00+01:00\n" +
cde144382233 Remove output of Test_PStimezone which changes when summertime or wintertime is changing the default timezone.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 458
diff changeset
2159 "1970-01-01 00:00:00.000000 | 00:00:00 | \n" +
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2160 "default (UTC):\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2161 "1970-01-01 00:00:00.000+0000 | 1970-01-01 00:00:00.000+0000 | 00:00:00.000+0000 | 00:00:00.000+0000\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2162 "America/Los_Angeles:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2163 "1970-01-01 08:00:00.0 | 1970-01-01 00:00:00.0 | 08:00:00 | 00:00:00\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2164 "Africa/Windhoek:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2165 "1969-12-31 22:00:00.0 | 1970-01-01 00:00:00.0 | 22:00:00 | 00:00:00\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2166 "0. true true\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2167 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2168
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2169 private void Test_PStypes() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2170 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2171
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2172 Statement stmt = null;
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2173 PreparedStatement pstmt = null;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2174 try {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2175 con.setAutoCommit(false);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2176 // >> false: auto commit should be off now
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2177 sb.append("0. false\t").append(con.getAutoCommit()).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2178
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2179 stmt = con.createStatement();
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2180 int updates = stmt.executeUpdate(
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2181 "CREATE TABLE htmtest (" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2182 " htmid bigint NOT NULL," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2183 " ra double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2184 " decl double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2185 " dra double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2186 " ddecl double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2187 " flux double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2188 " dflux double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2189 " freq double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2190 " bw double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2191 " type decimal(1,0)," +
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
2192 " imageurl url(100)," +
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2193 " comment varchar(100)," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2194 " CONSTRAINT htmtest_htmid_pkey PRIMARY KEY (htmid)" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2195 ")" );
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2196 if (updates != Statement.SUCCESS_NO_INFO)
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2197 sb.append("1. Expected -2 got ").append(updates).append(" instead\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2198
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2199 // index is not used, but the original bug had it too
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2200 updates = stmt.executeUpdate("CREATE INDEX htmid ON htmtest (htmid)");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2201 if (updates != Statement.SUCCESS_NO_INFO)
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2202 sb.append("1. Expected -2 got ").append(updates).append(" instead\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2203
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2204 stmt.close();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2205
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2206 pstmt = con.prepareStatement("INSERT INTO HTMTEST (HTMID,RA,DECL,FLUX,COMMENT) VALUES (?,?,?,?,?)");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2207 sb.append("1. inserting a record...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2208 pstmt.setLong(1, 1L);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2209 pstmt.setFloat(2, (float)1.2);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2210 pstmt.setDouble(3, 2.4);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2211 pstmt.setDouble(4, 3.2);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2212 pstmt.setString(5, "vlavbla");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2213 pstmt.executeUpdate();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2214 sb.append("success\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2215
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2216 // try an update like bug #1757923
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2217 pstmt = con.prepareStatement("UPDATE HTMTEST set COMMENT=?, TYPE=? WHERE HTMID=?");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2218 sb.append("2. updating record...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2219 pstmt.setString(1, "some update");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2220 pstmt.setObject(2, (float)3.2);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2221 pstmt.setLong(3, 1L);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2222 pstmt.executeUpdate();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2223 sb.append("success\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2224
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2225 pstmt.close();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2226
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2227 con.rollback();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2228 con.setAutoCommit(true);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2229 // >> true: auto commit was just switched on
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2230 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2231 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2232 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2233 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2234
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2235 closeStmtResSet(stmt, null);
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2236 closeStmtResSet(pstmt, null);
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2237
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2238 compareExpectedOutput("Test_PStypes",
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2239 "0. false false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2240 "1. inserting a record...success\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2241 "2. updating record...success\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2242 "0. true true\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2243 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2244
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2245 private void Test_CallableStmt() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2246 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2247
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2248 Statement stmt = null;
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2249 CallableStatement cstmt = null;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2250 try {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2251 String tbl_nm = "tbl6402";
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2252 String proc_nm = "proc6402";
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2253
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2254 stmt = con.createStatement();
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2255
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2256 // create a test table.
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2257 stmt.executeUpdate("CREATE TABLE IF NOT EXISTS " + tbl_nm + " (tint int, tdouble double, tbool boolean, tvarchar varchar(15), tclob clob, turl url, tclen int);");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2258 sb.append("Created table: ").append(tbl_nm).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2259
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2260 // create a procedure with multiple different IN parameters which inserts a row into a table of which one column is computed.
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2261 stmt.executeUpdate("CREATE PROCEDURE " + proc_nm + " (myint int, mydouble double, mybool boolean, myvarchar varchar(15), myclob clob, myurl url) BEGIN" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2262 " INSERT INTO " + tbl_nm + " (tint, tdouble, tbool, tvarchar, tclob, turl, tclen) VALUES (myint, mydouble, mybool, myvarchar, myclob, myurl, LENGTH(myvarchar) + LENGTH(myclob)); " +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2263 "END;");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2264 sb.append("Created procedure: ").append(proc_nm).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2265
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2266 // make sure we can call the procedure the old way (as string)
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2267 stmt.executeUpdate("call " + proc_nm + "(1, 1.1, true,'one','ONE', 'www.monetdb.org');");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2268 sb.append("Called procedure (1): ").append(proc_nm).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2269 showTblContents(tbl_nm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2270
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2271 // now use a CallableStament object
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2272 cstmt = con.prepareCall(" { call " + proc_nm + " (?,?, ?, ? , ?,?) } ;");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2273 sb.append("Prepared Callable procedure: ").append(proc_nm).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2274
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2275 // specify first set of params
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2276 cstmt.setInt(1, 2);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2277 cstmt.setDouble(2, 2.02);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2278 cstmt.setBoolean(3, true);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2279 cstmt.setString(4, "Two");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2280 Clob myclob = con.createClob();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2281 myclob.setString(1, "TWOs");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2282 cstmt.setClob(5, myclob);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2283 cstmt.setString(6, "http://www.monetdb.org/");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2284 cstmt.execute();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2285 sb.append("Called Prepared procedure (1): ").append(proc_nm).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2286 showParams(cstmt);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2287 showTblContents(tbl_nm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2288
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2289 myclob.setString(1, "TREEs");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2290 // specify second set of params (some (1 and 3 and 5) are left the same)
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2291 cstmt.setDouble(2, 3.02);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2292 cstmt.setString(4, "Tree");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2293 try {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2294 cstmt.setURL(6, new java.net.URL("https://www.monetdb.org/"));
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2295 } catch (java.net.MalformedURLException mfue) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2296 sb.append("Invalid URL: ").append(mfue.getMessage()).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2297 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2298 cstmt.execute();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2299 sb.append("Called Prepared procedure (2): ").append(proc_nm).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2300 // showParams(cstmt);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2301 showTblContents(tbl_nm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2302
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2303 // specify third set of params (some (1 and 2) are left the same)
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2304 cstmt.setInt(1, 4);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2305 cstmt.setBoolean(3, false);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2306 cstmt.setString(4, "Four");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2307 cstmt.executeUpdate();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2308 sb.append("Called Prepared procedure (3): ").append(proc_nm).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2309 showTblContents(tbl_nm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2310
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2311 // test setNull() also
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2312 cstmt.setNull(3, Types.BOOLEAN);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2313 cstmt.setNull(5, Types.CLOB);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2314 cstmt.setNull(2, Types.DOUBLE);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2315 cstmt.setNull(4, Types.VARCHAR);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2316 cstmt.setNull(1, Types.INTEGER);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2317 cstmt.executeUpdate();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2318 sb.append("Called Prepared procedure (with NULLs): ").append(proc_nm).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2319 showTblContents(tbl_nm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2320
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
2321 cstmt.clearParameters();
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
2322
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
2323 sb.append("Test completed. Cleanup procedure and table.\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2324 stmt.execute("DROP PROCEDURE IF EXISTS " + proc_nm + ";");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2325 stmt.execute("DROP TABLE IF EXISTS " + tbl_nm + ";");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2326
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2327 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2328 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2329 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2330
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2331 closeStmtResSet(stmt, null);
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2332 closeStmtResSet(cstmt, null);
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2333
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2334 compareExpectedOutput("Test_CallableStmt",
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2335 "Created table: tbl6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2336 "Created procedure: proc6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2337 "Called procedure (1): proc6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2338 "Table tbl6402 has 7 columns:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2339 " tint tdouble tbool tvarchar tclob turl tclen\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2340 " 1 1.1 true one ONE www.monetdb.org 6\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2341 "Prepared Callable procedure: proc6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2342 "Called Prepared procedure (1): proc6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2343 "pmd. 6 parameters:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2344 "Param 1\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2345 " nullable 2 (UNKNOWN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2346 " signed true\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2347 " precision 32\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2348 " scale 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2349 " type 4\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2350 " typename int\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2351 " classname java.lang.Integer\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2352 " mode 1 (IN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2353 "Param 2\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2354 " nullable 2 (UNKNOWN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2355 " signed true\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2356 " precision 53\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2357 " scale 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2358 " type 8\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2359 " typename double\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2360 " classname java.lang.Double\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2361 " mode 1 (IN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2362 "Param 3\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2363 " nullable 2 (UNKNOWN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2364 " signed false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2365 " precision 1\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2366 " scale 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2367 " type 16\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2368 " typename boolean\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2369 " classname java.lang.Boolean\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2370 " mode 1 (IN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2371 "Param 4\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2372 " nullable 2 (UNKNOWN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2373 " signed false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2374 " precision 15\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2375 " scale 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2376 " type 12\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2377 " typename varchar\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2378 " classname java.lang.String\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2379 " mode 1 (IN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2380 "Param 5\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2381 " nullable 2 (UNKNOWN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2382 " signed false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2383 " precision 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2384 " scale 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2385 " type 12\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2386 " typename clob\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2387 " classname java.lang.String\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2388 " mode 1 (IN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2389 "Param 6\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2390 " nullable 2 (UNKNOWN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2391 " signed false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2392 " precision 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2393 " scale 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2394 " type 12\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2395 " typename url\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2396 " classname org.monetdb.jdbc.types.URL\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2397 " mode 1 (IN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2398 "Table tbl6402 has 7 columns:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2399 " tint tdouble tbool tvarchar tclob turl tclen\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2400 " 1 1.1 true one ONE www.monetdb.org 6\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2401 " 2 2.02 true Two TWOs http://www.monetdb.org/ 7\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2402 "Called Prepared procedure (2): proc6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2403 "Table tbl6402 has 7 columns:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2404 " tint tdouble tbool tvarchar tclob turl tclen\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2405 " 1 1.1 true one ONE www.monetdb.org 6\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2406 " 2 2.02 true Two TWOs http://www.monetdb.org/ 7\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2407 " 2 3.02 true Tree TWOs https://www.monetdb.org/ 8\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2408 "Called Prepared procedure (3): proc6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2409 "Table tbl6402 has 7 columns:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2410 " tint tdouble tbool tvarchar tclob turl tclen\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2411 " 1 1.1 true one ONE www.monetdb.org 6\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2412 " 2 2.02 true Two TWOs http://www.monetdb.org/ 7\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2413 " 2 3.02 true Tree TWOs https://www.monetdb.org/ 8\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2414 " 4 3.02 false Four TWOs https://www.monetdb.org/ 8\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2415 "Called Prepared procedure (with NULLs): proc6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2416 "Table tbl6402 has 7 columns:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2417 " tint tdouble tbool tvarchar tclob turl tclen\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2418 " 1 1.1 true one ONE www.monetdb.org 6\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2419 " 2 2.02 true Two TWOs http://www.monetdb.org/ 7\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2420 " 2 3.02 true Tree TWOs https://www.monetdb.org/ 8\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2421 " 4 3.02 false Four TWOs https://www.monetdb.org/ 8\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2422 " null null null null null https://www.monetdb.org/ null\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2423 "Test completed. Cleanup procedure and table.\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2424 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2425
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2426 private void Test_Rbooleans() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2427 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2428
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2429 Statement stmt = null;
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2430 ResultSet rs = null;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2431 try {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2432 con.setAutoCommit(false);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2433 // >> false: auto commit should be off now
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2434 sb.append("0. false\t").append(con.getAutoCommit()).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2435
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2436 stmt = con.createStatement();
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2437 int updates = stmt.executeUpdate(
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2438 "CREATE TABLE Test_Rbooleans (" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2439 " id int, tiny_int tinyint, small_int smallint, medium_int mediumint, \"integer\" int, big_int bigint," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2440 " a_real real, a_float float, a_double double, a_decimal decimal(8,2), a_numeric numeric(8)," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2441 " bool boolean, a_char char(4), b_char char(5), a_varchar varchar(20), PRIMARY KEY (id) )");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2442 if (updates != Statement.SUCCESS_NO_INFO)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2443 sb.append("1a. Expected -2 got ").append(updates).append(" instead\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2444
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2445 // all falses
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2446 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')");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2447 // all trues
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2448 updates += stmt.executeUpdate("INSERT INTO Test_Rbooleans VALUES (2,1,1,1,1,1,1.0,1.0,1.0,1.0,1,true,'true','true ','true')");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2449 // sneakier
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2450 updates += stmt.executeUpdate("INSERT INTO Test_Rbooleans VALUES (3,2,3,4,5,6,7.1,8.2,9.3,10.4,11,true,'TrUe','fAlSe','true/false')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2451 updates += stmt.executeUpdate("INSERT INTO Test_Rbooleans VALUES (4,2,3,4,5,6,7.1,8.2,9.3,10.4,11,true,'t ','f ','TRUE ')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2452 if (updates != 4)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2453 sb.append("1b. Expected 4 got ").append(updates).append(" instead\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2454
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2455 rs = stmt.executeQuery("SELECT * FROM Test_Rbooleans ORDER BY id ASC");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2456
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2457 // all should give false
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2458 rs.next();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2459 sb.append("1. ").append(rs.getInt("id")).append(", ").append(rs.getBoolean("tiny_int"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2460 .append(", ").append(rs.getBoolean("small_int")).append(", ").append(rs.getBoolean("medium_int"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2461 .append(", ").append(rs.getBoolean("integer")).append(", ").append(rs.getBoolean("big_int"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2462 .append(", ").append(rs.getBoolean("a_real")).append(", ").append(rs.getBoolean("a_double"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2463 .append(", ").append(rs.getBoolean("a_decimal")).append(", ").append(rs.getBoolean("a_numeric"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2464 .append(", ").append(rs.getBoolean("bool")).append(", ").append(rs.getBoolean("a_char"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2465 .append(", ").append(rs.getBoolean("b_char")).append(", ").append(rs.getBoolean("a_varchar")).append("\n");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2466
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2467 // all should give true except the one before last
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2468 rs.next();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2469 sb.append("2. ").append(rs.getInt("id")).append(", ").append(rs.getBoolean("tiny_int"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2470 .append(", ").append(rs.getBoolean("small_int")).append(", ").append(rs.getBoolean("medium_int"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2471 .append(", ").append(rs.getBoolean("integer")).append(", ").append(rs.getBoolean("big_int"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2472 .append(", ").append(rs.getBoolean("a_real")).append(", ").append(rs.getBoolean("a_double"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2473 .append(", ").append(rs.getBoolean("a_decimal")).append(", ").append(rs.getBoolean("a_numeric"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2474 .append(", ").append(rs.getBoolean("bool")).append(", ").append(rs.getBoolean("a_char"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2475 .append(", ").append(rs.getBoolean("b_char")).append(", ").append(rs.getBoolean("a_varchar")).append("\n");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2476
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2477 // should give true for all but the last two
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2478 rs.next();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2479 sb.append("3. ").append(rs.getInt("id")).append(", ").append(rs.getBoolean("tiny_int"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2480 .append(", ").append(rs.getBoolean("small_int")).append(", ").append(rs.getBoolean("medium_int"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2481 .append(", ").append(rs.getBoolean("integer")).append(", ").append(rs.getBoolean("big_int"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2482 .append(", ").append(rs.getBoolean("a_real")).append(", ").append(rs.getBoolean("a_double"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2483 .append(", ").append(rs.getBoolean("a_decimal")).append(", ").append(rs.getBoolean("a_numeric"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2484 .append(", ").append(rs.getBoolean("bool")).append(", ").append(rs.getBoolean("a_char"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2485 .append(", ").append(rs.getBoolean("b_char")).append(", ").append(rs.getBoolean("a_varchar")).append("\n");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2486
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2487 // should give true for all but the last three
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2488 rs.next();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2489 sb.append("4. ").append(rs.getInt("id")).append(", ").append(rs.getBoolean("tiny_int"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2490 .append(", ").append(rs.getBoolean("small_int")).append(", ").append(rs.getBoolean("medium_int"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2491 .append(", ").append(rs.getBoolean("integer")).append(", ").append(rs.getBoolean("big_int"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2492 .append(", ").append(rs.getBoolean("a_real")).append(", ").append(rs.getBoolean("a_double"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2493 .append(", ").append(rs.getBoolean("a_decimal")).append(", ").append(rs.getBoolean("a_numeric"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2494 .append(", ").append(rs.getBoolean("bool")).append(", ").append(rs.getBoolean("a_char"))
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2495 .append(", ").append(rs.getBoolean("b_char")).append(", ").append(rs.getBoolean("a_varchar")).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2496 rs.next();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2497
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2498 con.rollback();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2499 con.setAutoCommit(true);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2500 // >> true: auto commit was just switched on
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2501 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2502 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2503 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2504 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2505
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2506 closeStmtResSet(stmt, rs);
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2507
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2508 compareExpectedOutput("Test_Rbooleans",
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2509 "0. false false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2510 "1. 1, false, false, false, false, false, false, false, false, false, false, false, false, false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2511 "2. 2, true, true, true, true, true, true, true, true, true, true, true, false, true\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2512 "3. 3, true, true, true, true, true, true, true, true, true, true, true, false, false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2513 "4. 4, true, true, true, true, true, true, true, true, true, true, false, false, false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2514 "0. true true\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2515 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2516
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2517 private void Test_Rmetadata() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2518 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2519
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2520 Statement stmt = null;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2521 ResultSet rs = null;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2522 try {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2523 con.setAutoCommit(false);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2524 // >> false: auto commit should be off now
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2525 sb.append("0. false\t").append(con.getAutoCommit()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2526
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2527 stmt = con.createStatement();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2528 stmt.executeUpdate("CREATE TABLE Test_Rmetadata ( myint int, mydouble double, mybool boolean, myvarchar varchar(15), myclob clob )");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2529
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2530 // all NULLs
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2531 stmt.executeUpdate("INSERT INTO Test_Rmetadata VALUES (NULL, NULL, NULL, NULL, NULL)");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2532 // all filled in
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2533 stmt.executeUpdate("INSERT INTO Test_Rmetadata VALUES (2 , 3.0, true, 'A string', 'bla bla bla')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2534
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2535 rs = stmt.executeQuery("SELECT * FROM Test_Rmetadata");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2536
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2537 ResultSetMetaData rsmd = rs.getMetaData();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2538 sb.append("0. ").append(rsmd.getColumnCount()).append(" columns:\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2539 for (int col = 1; col <= rsmd.getColumnCount(); col++) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2540 sb.append("Colnr ").append(col).append(".\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2541 sb.append("\tclassname ").append(rsmd.getColumnClassName(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2542 sb.append("\tdisplaysize ").append(rsmd.getColumnDisplaySize(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2543 sb.append("\tlabel ").append(rsmd.getColumnLabel(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2544 sb.append("\tname ").append(rsmd.getColumnName(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2545 sb.append("\ttype ").append(rsmd.getColumnType(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2546 sb.append("\ttypename ").append(rsmd.getColumnTypeName(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2547 sb.append("\tprecision ").append(rsmd.getPrecision(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2548 sb.append("\tscale ").append(rsmd.getScale(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2549 sb.append("\tcatalogname ").append(rsmd.getCatalogName(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2550 sb.append("\tschemaname ").append(rsmd.getSchemaName(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2551 sb.append("\ttablename ").append(rsmd.getTableName(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2552 sb.append("\tautoincrement ").append(rsmd.isAutoIncrement(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2553 sb.append("\tcasesensitive ").append(rsmd.isCaseSensitive(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2554 sb.append("\tcurrency ").append(rsmd.isCurrency(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2555 sb.append("\tdefwritable ").append(rsmd.isDefinitelyWritable(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2556 sb.append("\tnullable ").append(rsmd.isNullable(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2557 sb.append("\treadonly ").append(rsmd.isReadOnly(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2558 sb.append("\tsearchable ").append(rsmd.isSearchable(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2559 sb.append("\tsigned ").append(rsmd.isSigned(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2560 sb.append("\twritable ").append(rsmd.isWritable(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2561 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2562
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2563 for (int i = 6; rs.next(); i++) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2564 for (int col = 1; col <= rsmd.getColumnCount(); col++) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2565 Object obj = rs.getObject(col);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2566 String type = rsmd.getColumnClassName(col);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2567 String isInstance = "(null)";
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2568 if (obj != null && type != null) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2569 try {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2570 Class<?> c = Class.forName(type);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2571 if (c.isInstance(obj)) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2572 isInstance = (obj.getClass().getName() + " is an instance of " + type);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2573 } else {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2574 isInstance = (obj.getClass().getName() + " is NOT an instance of " + type);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2575 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2576 } catch (ClassNotFoundException e) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2577 isInstance = "No such class: " + type;
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2578 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2579 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2580 sb.append(i).append(".\t").append(isInstance).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2581 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2582 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2583 rs.close();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2584
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2585 con.rollback();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2586 con.setAutoCommit(true);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2587 // >> true: auto commit was just switched on
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2588 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2589 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2590 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2591 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2592
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2593 closeStmtResSet(stmt, rs);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2594
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2595 compareExpectedOutput("Test_Rmetadata",
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2596 "0. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2597 "0. 5 columns:\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2598 "Colnr 1.\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2599 " classname java.lang.Integer\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2600 " displaysize 1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2601 " label myint\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2602 " name myint\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2603 " type 4\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2604 " typename int\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2605 " precision 10\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2606 " scale 0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2607 " catalogname null\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2608 " schemaname sys\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2609 " tablename test_rmetadata\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2610 " autoincrement false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2611 " casesensitive false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2612 " currency false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2613 " defwritable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2614 " nullable 1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2615 " readonly true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2616 " searchable true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2617 " signed true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2618 " writable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2619 "Colnr 2.\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2620 " classname java.lang.Double\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2621 " displaysize 24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2622 " label mydouble\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2623 " name mydouble\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2624 " type 8\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2625 " typename double\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2626 " precision 15\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2627 " scale 0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2628 " catalogname null\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2629 " schemaname sys\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2630 " tablename test_rmetadata\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2631 " autoincrement false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2632 " casesensitive false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2633 " currency false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2634 " defwritable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2635 " nullable 1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2636 " readonly true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2637 " searchable true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2638 " signed true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2639 " writable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2640 "Colnr 3.\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2641 " classname java.lang.Boolean\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2642 " displaysize 5\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2643 " label mybool\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2644 " name mybool\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2645 " type 16\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2646 " typename boolean\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2647 " precision 1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2648 " scale 0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2649 " catalogname null\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2650 " schemaname sys\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2651 " tablename test_rmetadata\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2652 " autoincrement false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2653 " casesensitive false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2654 " currency false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2655 " defwritable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2656 " nullable 1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2657 " readonly true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2658 " searchable true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2659 " signed false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2660 " writable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2661 "Colnr 4.\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2662 " classname java.lang.String\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2663 " displaysize 8\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2664 " label myvarchar\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2665 " name myvarchar\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2666 " type 12\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2667 " typename varchar\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2668 " precision 15\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2669 " scale 0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2670 " catalogname null\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2671 " schemaname sys\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2672 " tablename test_rmetadata\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2673 " autoincrement false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2674 " casesensitive true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2675 " currency false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2676 " defwritable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2677 " nullable 1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2678 " readonly true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2679 " searchable true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2680 " signed false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2681 " writable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2682 "Colnr 5.\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2683 " classname java.lang.String\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2684 " displaysize 11\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2685 " label myclob\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2686 " name myclob\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2687 " type 12\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2688 " typename clob\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2689 " precision 11\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2690 " scale 0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2691 " catalogname null\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2692 " schemaname sys\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2693 " tablename test_rmetadata\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2694 " autoincrement false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2695 " casesensitive true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2696 " currency false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2697 " defwritable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2698 " nullable 1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2699 " readonly true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2700 " searchable true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2701 " signed false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2702 " writable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2703 "6. (null)\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2704 "6. (null)\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2705 "6. (null)\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2706 "6. (null)\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2707 "6. (null)\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2708 "7. java.lang.Integer is an instance of java.lang.Integer\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2709 "7. java.lang.Double is an instance of java.lang.Double\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2710 "7. java.lang.Boolean is an instance of java.lang.Boolean\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2711 "7. java.lang.String is an instance of java.lang.String\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2712 "7. java.lang.String is an instance of java.lang.String\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2713 "0. true true\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2714 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2715
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2716 private void Test_Rpositioning() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2717 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2718
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2719 Statement stmt = null;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2720 ResultSet rs = null;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2721 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2722 stmt = con.createStatement();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2723 // get a one rowed resultset
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2724 rs = stmt.executeQuery("SELECT 1");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2725
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2726 // >> true: we should be before the first result now
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2727 sb.append("1. true\t").append(rs.isBeforeFirst()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2728 // >> false: we're not at the first result
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2729 sb.append("2. false\t").append(rs.isFirst()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2730 // >> true: there is one result, so we can call next once
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2731 sb.append("3. true\t").append(rs.next()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2732 // >> false: we're not before the first row anymore
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2733 sb.append("4. false\t").append(rs.isBeforeFirst()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2734 // >> true: we're at the first result
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2735 sb.append("5. true\t").append(rs.isFirst()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2736 // >> false: we're on the last row
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2737 sb.append("6. false\t").append(rs.isAfterLast()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2738 // >> true: see above
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2739 sb.append("7. true\t").append(rs.isLast()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2740 // >> false: there is one result, so this is it
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2741 sb.append("8. false\t").append(rs.next()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2742 // >> true: yes, we're at the end
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2743 sb.append("9. true\t").append(rs.isAfterLast()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2744 // >> false: no we're one over it
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2745 sb.append("10. false\t").append(rs.isLast()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2746 // >> false: another try to move on should still fail
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2747 sb.append("11. false\t").append(rs.next()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2748 // >> true: and we should stay positioned after the last
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2749 sb.append("12.true\t").append(rs.isAfterLast()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2750
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2751 rs.close();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2752
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2753 // try the same with a scrollable result set
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2754 DatabaseMetaData dbmd = con.getMetaData();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2755 rs = dbmd.getTableTypes();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2756
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2757 // >> true: we should be before the first result now
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2758 sb.append("1. true\t").append(rs.isBeforeFirst()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2759 // >> false: we're not at the first result
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2760 sb.append("2. false\t").append(rs.isFirst()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2761 // >> true: there is one result, so we can call next once
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2762 sb.append("3. true\t").append(rs.next()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2763 // >> false: we're not before the first row anymore
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2764 sb.append("4. false\t").append(rs.isBeforeFirst()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2765 // >> true: we're at the first result
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2766 sb.append("5. true\t").append(rs.isFirst()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2767 // move to last row
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2768 rs.last();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2769 // >> false: we're on the last row
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2770 sb.append("6. false\t").append(rs.isAfterLast()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2771 // >> true: see above
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2772 sb.append("7. true\t").append(rs.isLast()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2773 // >> false: there is one result, so this is it
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2774 sb.append("8. false\t").append(rs.next()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2775 // >> true: yes, we're at the end
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2776 sb.append("9. true\t").append(rs.isAfterLast()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2777 // >> false: no we're one over it
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2778 sb.append("10. false\t").append(rs.isLast()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2779 // >> false: another try to move on should still fail
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2780 sb.append("11. false\t").append(rs.next()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2781 // >> true: and we should stay positioned after the last
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2782 sb.append("12. true\t").append(rs.isAfterLast()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2783
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2784 rs.close();
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2785 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2786 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2787 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2788
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2789 closeStmtResSet(stmt, rs);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2790
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2791 compareExpectedOutput("Test_Rpositioning",
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2792 "1. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2793 "2. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2794 "3. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2795 "4. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2796 "5. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2797 "6. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2798 "7. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2799 "8. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2800 "9. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2801 "10. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2802 "11. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2803 "12.true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2804 "1. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2805 "2. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2806 "3. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2807 "4. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2808 "5. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2809 "6. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2810 "7. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2811 "8. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2812 "9. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2813 "10. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2814 "11. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2815 "12. true true\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2816 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2817
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2818 private void Test_Rsqldata() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2819 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2820
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2821 Statement stmt = null;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2822 ResultSet rs = null;
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2823 ResultSetMetaData rsmd = null;
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2824
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2825 try {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2826 con.setAutoCommit(false);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2827 // >> false: auto commit should be off now
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2828 sb.append("0. false\t").append(con.getAutoCommit()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2829
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2830 stmt = con.createStatement();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2831 stmt.executeUpdate("CREATE TABLE Test_Rsqldata ( myinet inet, myurl url )");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2832
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2833 String InsertInto = "INSERT INTO Test_Rsqldata VALUES ";
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2834 // all NULLs
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2835 stmt.executeUpdate(InsertInto + "(NULL, NULL)");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2836 // all filled in
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2837 stmt.executeUpdate(InsertInto + "('172.5.5.5' , 'http://www.monetdb.org/')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2838 stmt.executeUpdate(InsertInto + "('172.5.5.5/32' , 'http://www.monetdb.org/Home')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2839 stmt.executeUpdate(InsertInto + "('172.5.5.5/16' , 'http://www.monetdb.org/Home#someanchor')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2840 stmt.executeUpdate(InsertInto + "('172.5.5.5/26' , 'http://www.monetdb.org/?query=bla')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2841
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2842 rs = stmt.executeQuery("SELECT * FROM Test_Rsqldata");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2843 rsmd = rs.getMetaData();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2844
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2845 sb.append("0. ").append(rsmd.getColumnCount()).append(" columns:\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2846 for (int col = 1; col <= rsmd.getColumnCount(); col++) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2847 sb.append(col).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2848 sb.append("\tclassname ").append(rsmd.getColumnClassName(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2849 sb.append("\tcatalogname ").append(rsmd.getCatalogName(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2850 sb.append("\tschemaname ").append(rsmd.getSchemaName(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2851 sb.append("\ttablename ").append(rsmd.getTableName(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2852 sb.append("\tcolumnname ").append(rsmd.getColumnName(col)).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2853 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2854
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2855 for (int i = 1; rs.next(); i++) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2856 for (int col = 1; col <= rsmd.getColumnCount(); col++) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2857 sb.append(i).append(".\t");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2858 Object x = rs.getObject(col);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2859 if (x == null) {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
2860 sb.append("<null>\n");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2861 } else {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2862 sb.append(x.toString()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2863 if (x instanceof INET) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2864 INET inet = (INET)x;
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2865 sb.append("\t").append(inet.getAddress()).append("/").append(inet.getNetmaskBits()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2866 sb.append("\t").append(inet.getInetAddress().toString()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2867 } else if (x instanceof URL) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2868 URL url = (URL)x;
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2869 sb.append("\t").append(url.getURL().toString()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2870 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2871 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2872 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2873 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2874
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2875 rs.close();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2876
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2877 con.rollback();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2878 con.setAutoCommit(true);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2879 // >> true: auto commit was just switched on
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2880 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2881 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2882 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2883 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2884
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2885 closeStmtResSet(stmt, rs);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2886
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2887 compareExpectedOutput("Test_Rsqldata",
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2888 "0. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2889 "0. 2 columns:\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2890 "1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2891 " classname org.monetdb.jdbc.types.INET\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2892 " catalogname null\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2893 " schemaname sys\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2894 " tablename test_rsqldata\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2895 " columnname myinet\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2896 "2\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2897 " classname org.monetdb.jdbc.types.URL\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2898 " catalogname null\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2899 " schemaname sys\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2900 " tablename test_rsqldata\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2901 " columnname myurl\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2902 "1. <null>\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2903 "1. <null>\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2904 "2. 172.5.5.5\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2905 " 172.5.5.5/32\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2906 " /172.5.5.5\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2907 "2. http://www.monetdb.org/\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2908 " http://www.monetdb.org/\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2909 "3. 172.5.5.5\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2910 " 172.5.5.5/32\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2911 " /172.5.5.5\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2912 "3. http://www.monetdb.org/Home\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2913 " http://www.monetdb.org/Home\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2914 "4. 172.5.5.5/16\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2915 " 172.5.5.5/16\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2916 " /172.5.5.5\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2917 "4. http://www.monetdb.org/Home#someanchor\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2918 " http://www.monetdb.org/Home#someanchor\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2919 "5. 172.5.5.5/26\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2920 " 172.5.5.5/26\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2921 " /172.5.5.5\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2922 "5. http://www.monetdb.org/?query=bla\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2923 " http://www.monetdb.org/?query=bla\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2924 "0. true true\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2925 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2926
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2927 private void Test_Rtimedate() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2928 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2929
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2930 Statement stmt = null;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2931 ResultSet rs = null;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2932 try {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2933 con.setAutoCommit(false);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2934 // >> false: auto commit should be off now
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2935 sb.append("0. false\t").append(con.getAutoCommit()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2936
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2937 stmt = con.createStatement();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2938 stmt.executeUpdate("CREATE TABLE table_Test_Rtimedate ( id int PRIMARY KEY, ts timestamp, t time, d date, vc varchar(30) )");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2939
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2940 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, ts) VALUES (1, timestamp '2004-04-24 11:43:53.123')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2941 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, t) VALUES (2, time '11:43:53.123')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2942 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, d) VALUES (3, date '2004-04-24')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2943 // same values but now as strings to test string to timestamp / time / date object conversions
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2944 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, vc) VALUES (4, '2004-04-24 11:43:53.654321')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2945 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, vc) VALUES (5, '11:43:53')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2946 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, vc) VALUES (6, '2004-04-24')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2947
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2948 // test also with small years (< 1000) (see bug 6468)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2949 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, ts) VALUES (11, timestamp '904-04-24 11:43:53.567')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2950 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, ts) VALUES (12, timestamp '74-04-24 11:43:53.567')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2951 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, ts) VALUES (13, timestamp '4-04-24 11:43:53.567')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2952 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, d) VALUES (14, date '904-04-24')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2953 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, d) VALUES (15, date '74-04-24')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2954 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, d) VALUES (16, date '4-04-24')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2955 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, vc) VALUES (17, '904-04-24 11:43:53.567')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2956 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, vc) VALUES (18, '74-04-24 11:43:53.567')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2957 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, vc) VALUES (19, '4-04-24 11:43:53.567')");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2958
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2959 // test also with negative years (see bug 6468)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2960 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, ts) VALUES (21, timestamp '-4-04-24 11:43:53.567')"); // negative year
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2961 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, ts) VALUES (22, timestamp '-2004-04-24 11:43:53.567')"); // negative year
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2962 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, d) VALUES (23, date '-4-04-24')"); // negative year
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2963 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, d) VALUES (24, date '-3004-04-24')"); // negative year
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2964 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, vc) VALUES (25, '-2004-04-24 11:43:53.654321')"); // negative year
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2965 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, vc) VALUES (26, '-3004-04-24')"); // negative year
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2966
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2967 rs = stmt.executeQuery("SELECT * FROM table_Test_Rtimedate");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2968
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2969 readNextRow(rs, 1, "ts");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2970 readNextRow(rs, 2, "t");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2971 readNextRow(rs, 3, "d");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2972
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2973 readNextRow(rs, 4, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2974 readNextRow(rs, 5, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2975 readNextRow(rs, 6, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2976
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2977 readNextRow(rs, 11, "ts");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2978 readNextRow(rs, 12, "ts");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2979 readNextRow(rs, 13, "ts");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2980 readNextRow(rs, 14, "d");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2981 readNextRow(rs, 15, "d");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2982 readNextRow(rs, 16, "d");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2983 readNextRow(rs, 17, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2984 readNextRow(rs, 18, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2985 readNextRow(rs, 19, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2986
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2987 readNextRow(rs, 21, "ts");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2988 readNextRow(rs, 22, "ts");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2989 readNextRow(rs, 23, "d");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2990 readNextRow(rs, 24, "d");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2991 readNextRow(rs, 25, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2992 readNextRow(rs, 26, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2993
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2994 readWarnings(stmt.getWarnings());
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2995 readWarnings(con.getWarnings());
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2996
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2997 con.rollback();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2998 con.setAutoCommit(true);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2999 // >> true: auto commit should be on by default
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3000 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3001 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3002 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3003 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3004
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3005 closeStmtResSet(stmt, rs);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3006
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3007 compareExpectedOutput("Test_Rtimedate",
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3008 "0. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3009 "1. ts 2004-04-24 11:43:53.123000 to ts: 2004-04-24 11:43:53.123\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3010 "1. ts 2004-04-24 11:43:53.123000 to tm: 11:43:53\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3011 "1. ts 2004-04-24 11:43:53.123000 to dt: 2004-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3012 "2. t 11:43:53 to ts: 1970-01-01 11:43:53.0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3013 "2. t 11:43:53 to tm: 11:43:53\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3014 "2. t 11:43:53 to dt: 1970-01-01\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3015 "3. d 2004-04-24 to ts: 2004-04-24 00:00:00.0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3016 "3. d 2004-04-24 to tm: 00:00:00\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3017 "3. d 2004-04-24 to dt: 2004-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3018 "4. vc 2004-04-24 11:43:53.654321 to ts: 2004-04-24 11:43:53.654321\n" +
481
076abe23e8a3 Approve changed output.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 478
diff changeset
3019 "4. vc 2004-04-24 11:43:53.654321 to tm: rs.getTime(colnm) failed with error: parsing failed at pos 5 found: '-' in '2004-04-24 11:43:53.654321'\n" +
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3020 "4. vc 2004-04-24 11:43:53.654321 to dt: 2004-04-24\n" +
481
076abe23e8a3 Approve changed output.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 478
diff changeset
3021 "5. vc 11:43:53 to ts: rs.getTimestamp(colnm) failed with error: parsing failed at pos 3 found: ':' in '11:43:53'\n" +
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3022 "5. vc 11:43:53 to tm: 11:43:53\n" +
481
076abe23e8a3 Approve changed output.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 478
diff changeset
3023 "5. vc 11:43:53 to dt: rs.getDate(colnm) failed with error: parsing failed at pos 3 found: ':' in '11:43:53'\n" +
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3024 "6. vc 2004-04-24 to ts: 2004-04-24 00:00:00.0\n" +
481
076abe23e8a3 Approve changed output.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 478
diff changeset
3025 "6. vc 2004-04-24 to tm: rs.getTime(colnm) failed with error: parsing failed at pos 5 found: '-' in '2004-04-24'\n" +
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3026 "6. vc 2004-04-24 to dt: 2004-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3027 "11. ts 904-04-24 11:43:53.567000 to ts: 0904-04-24 11:43:53.567\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3028 "11. ts 904-04-24 11:43:53.567000 to tm: 11:43:53\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3029 "11. ts 904-04-24 11:43:53.567000 to dt: 0904-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3030 "12. ts 74-04-24 11:43:53.567000 to ts: 0074-04-24 11:43:53.567\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3031 "12. ts 74-04-24 11:43:53.567000 to tm: 11:43:53\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3032 "12. ts 74-04-24 11:43:53.567000 to dt: 0074-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3033 "13. ts 4-04-24 11:43:53.567000 to ts: 0004-04-24 11:43:53.567\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3034 "13. ts 4-04-24 11:43:53.567000 to tm: 11:43:53\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3035 "13. ts 4-04-24 11:43:53.567000 to dt: 0004-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3036 "14. d 904-04-24 to ts: 0904-04-24 00:00:00.0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3037 "14. d 904-04-24 to tm: 00:00:00\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3038 "14. d 904-04-24 to dt: 0904-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3039 "15. d 74-04-24 to ts: 0074-04-24 00:00:00.0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3040 "15. d 74-04-24 to tm: 00:00:00\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3041 "15. d 74-04-24 to dt: 0074-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3042 "16. d 4-04-24 to ts: 0004-04-24 00:00:00.0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3043 "16. d 4-04-24 to tm: 00:00:00\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3044 "16. d 4-04-24 to dt: 0004-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3045 "17. vc 904-04-24 11:43:53.567 to ts: 0904-04-24 11:43:53.567\n" +
481
076abe23e8a3 Approve changed output.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 478
diff changeset
3046 "17. vc 904-04-24 11:43:53.567 to tm: rs.getTime(colnm) failed with error: parsing failed at pos 4 found: '-' in '904-04-24 11:43:53.567'\n" +
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3047 "17. vc 904-04-24 11:43:53.567 to dt: 0904-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3048 "18. vc 74-04-24 11:43:53.567 to ts: 0074-04-24 11:43:53.567\n" +
481
076abe23e8a3 Approve changed output.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 478
diff changeset
3049 "18. vc 74-04-24 11:43:53.567 to tm: rs.getTime(colnm) failed with error: parsing failed at pos 3 found: '-' in '74-04-24 11:43:53.567'\n" +
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3050 "18. vc 74-04-24 11:43:53.567 to dt: 0074-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3051 "19. vc 4-04-24 11:43:53.567 to ts: 0004-04-24 11:43:53.567\n" +
481
076abe23e8a3 Approve changed output.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 478
diff changeset
3052 "19. vc 4-04-24 11:43:53.567 to tm: rs.getTime(colnm) failed with error: parsing failed at pos 2 found: '-' in '4-04-24 11:43:53.567'\n" +
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3053 "19. vc 4-04-24 11:43:53.567 to dt: 0004-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3054 "21. ts -4-04-24 11:43:53.567000 to ts: 0004-04-24 11:43:53.567\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3055 "21. ts -4-04-24 11:43:53.567000 to tm: 11:43:53\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3056 "21. ts -4-04-24 11:43:53.567000 to dt: 0004-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3057 "22. ts -2004-04-24 11:43:53.567000 to ts: 2004-04-24 11:43:53.567\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3058 "22. ts -2004-04-24 11:43:53.567000 to tm: 11:43:53\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3059 "22. ts -2004-04-24 11:43:53.567000 to dt: 2004-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3060 "23. d -4-04-24 to ts: 0004-04-24 00:00:00.0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3061 "23. d -4-04-24 to tm: 00:00:00\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3062 "23. d -4-04-24 to dt: 0004-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3063 "24. d -3004-04-24 to ts: 3004-04-24 00:00:00.0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3064 "24. d -3004-04-24 to tm: 00:00:00\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3065 "24. d -3004-04-24 to dt: 3004-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3066 "25. vc -2004-04-24 11:43:53.654321 to ts: 2004-04-24 11:43:53.654321\n" +
481
076abe23e8a3 Approve changed output.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 478
diff changeset
3067 "25. vc -2004-04-24 11:43:53.654321 to tm: rs.getTime(colnm) failed with error: parsing failed at pos 6 found: '-' in '-2004-04-24 11:43:53.654321'\n" +
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3068 "25. vc -2004-04-24 11:43:53.654321 to dt: 2004-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3069 "26. vc -3004-04-24 to ts: 3004-04-24 00:00:00.0\n" +
481
076abe23e8a3 Approve changed output.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 478
diff changeset
3070 "26. vc -3004-04-24 to tm: rs.getTime(colnm) failed with error: parsing failed at pos 6 found: '-' in '-3004-04-24'\n" +
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3071 "26. vc -3004-04-24 to dt: 3004-04-24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3072 "0. true true\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3073 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3074
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3075 private void readNextRow(ResultSet rs, int rowseq, String colnm) throws SQLException {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3076 rs.next();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3077 readWarnings(rs.getWarnings());
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3078 rs.clearWarnings();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3079
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3080 // fetch the column value using multiple methods: getString(), getTimestamp(), getTime() and getDate()
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3081 // to test proper conversion and error reporting
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3082 String data = rs.getString("id") + ". " + colnm + " " + rs.getString(colnm) + " to ";
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3083
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3084 // getTimestamp() may raise a conversion warning when the value is of type Time or a String which doesn't match format yyyy-mm-dd hh:mm:ss
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3085 try {
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3086 sb.append(data).append("ts: ").append(rs.getTimestamp(colnm)).append("\n");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3087 } catch (SQLException e) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3088 sb.append("rs.getTimestamp(colnm) failed with error: ").append(e.getMessage()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3089 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3090 readWarnings(rs.getWarnings());
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3091 rs.clearWarnings();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3092
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3093 // getTime() may raise a conversion warning when the value is of type Date or a String which doesn't match format hh:mm:ss
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3094 try {
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3095 sb.append(data).append("tm: ").append(rs.getTime(colnm)).append("\n");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3096 } catch (SQLException e) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3097 sb.append("rs.getTime(colnm) failed with error: ").append(e.getMessage()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3098 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3099 readWarnings(rs.getWarnings());
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3100 rs.clearWarnings();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3101
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3102 // getDate() may raise a conversion warning when the value is of type Time or a String which doesn't match format yyyy-mm-dd
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3103 try {
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3104 sb.append(data).append("dt: ").append(rs.getDate(colnm)).append("\n");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3105 } catch (SQLException e) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3106 sb.append("rs.getDate(colnm) failed with error: ").append(e.getMessage()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3107 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3108 readWarnings(rs.getWarnings());
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3109 rs.clearWarnings();
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3110 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3111
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3112 private void Test_Sbatching() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3113 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3114
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3115 Statement stmt = null;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3116 PreparedStatement pstmt = null;
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3117 ResultSet rs = null;
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3118 try {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3119 con.setAutoCommit(false);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3120 // >> false: auto commit should be off now
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3121 sb.append("0. false\t").append(con.getAutoCommit()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3122
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3123 stmt = con.createStatement();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3124
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3125 sb.append("1. create...");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3126 if (stmt.executeUpdate("CREATE TABLE Test_Sbatching ( id int )") != Statement.SUCCESS_NO_INFO)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3127 sb.append("Wrong return status\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3128 else
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3129 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3130
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
3131 // for large batches of DML always set sys.optimizer = 'minimal_pipe'. It makes a big difference in performance.
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
3132 stmt.execute("SET sys.optimizer = 'minimal_pipe'");
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
3133
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3134 // start batching a large amount of inserts
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3135 for (int i = 1; i <= 3432; i++) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3136 stmt.addBatch("INSERT INTO Test_Sbatching VALUES (" + i + ")");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3137 if (i % 1500 == 0) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3138 sb.append("2. executing batch (1500 inserts)...");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3139 int[] cnts = stmt.executeBatch();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3140 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3141 sb.append("3. checking number of update counts...");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3142 if (cnts.length != 1500)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3143 sb.append("Invalid size: ").append(cnts.length);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3144 sb.append(cnts.length).append(" passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3145 sb.append("4. checking update counts (should all be 1)...");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3146 for (int j = 0; j < cnts.length; j++) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3147 if (cnts[j] != 1)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3148 sb.append("Unexpected value: ").append(cnts[j]);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3149 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3150 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3151 con.commit();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3152 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3153 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3154 sb.append("5. executing final batch...");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3155 stmt.executeBatch();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3156 con.commit();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3157 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3158
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3159 pstmt = con.prepareStatement("INSERT INTO Test_Sbatching VALUES (?)");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3160 // start batching a large amount of prepared inserts using JDBC 4.2 executeLargeBatch()
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3161 for (int i = 1; i <= 3568; i++) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3162 pstmt.setInt(1, i);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3163 pstmt.addBatch();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3164 if (i % 3000 == 0) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3165 sb.append("2. executing batch (3000 inserts)...");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3166 long[] cnts = pstmt.executeLargeBatch();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3167 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3168 sb.append("3. checking number of update counts...");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3169 if (cnts.length != 3000)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3170 sb.append("Invalid size: ").append(cnts.length);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3171 sb.append(cnts.length).append(" passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3172 sb.append("4. checking update counts (should all be 1)...");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3173 for (int j = 0; j < cnts.length; j++) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3174 if (cnts[j] != 1)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3175 sb.append("Unexpected value: ").append(cnts[j]);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3176 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3177 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3178 con.commit();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3179 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3180 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3181 sb.append("5. executing final Largebatch...");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3182 pstmt.executeLargeBatch();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3183 con.commit();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3184 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3185
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3186 sb.append("6. clearing the batch...");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3187 stmt.clearBatch();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3188 pstmt.clearBatch();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3189 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3190
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3191 sb.append("7. checking table count...");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3192 rs = stmt.executeQuery("SELECT COUNT(*) FROM Test_Sbatching");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3193 rs.next();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3194 sb.append(rs.getInt(1)).append(" passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3195
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3196 sb.append("8. drop table...");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3197 if (stmt.executeUpdate("DROP TABLE Test_Sbatching") != Statement.SUCCESS_NO_INFO)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3198 sb.append("Wrong return status\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3199 else
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3200 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3201
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3202 // rs.close();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3203 stmt.close();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3204 pstmt.close();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3205
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3206 con.commit();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3207 con.setAutoCommit(true);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3208 // >> true: auto commit should be on by default
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3209 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3210 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3211 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3212 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3213
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3214 closeStmtResSet(stmt, rs);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3215 closeStmtResSet(pstmt, null);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3216
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3217 compareExpectedOutput("Test_Sbatching",
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3218 "0. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3219 "1. create...passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3220 "2. executing batch (1500 inserts)...passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3221 "3. checking number of update counts...1500 passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3222 "4. checking update counts (should all be 1)...passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3223 "2. executing batch (1500 inserts)...passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3224 "3. checking number of update counts...1500 passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3225 "4. checking update counts (should all be 1)...passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3226 "5. executing final batch...passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3227 "2. executing batch (3000 inserts)...passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3228 "3. checking number of update counts...3000 passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3229 "4. checking update counts (should all be 1)...passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3230 "5. executing final Largebatch...passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3231 "6. clearing the batch...passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3232 "7. checking table count...7000 passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3233 "8. drop table...passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3234 "0. true true\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3235 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3236
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3237 private void Test_Smoreresults() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3238 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3239
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3240 Statement stmt = null;
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3241 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3242 // >> true: auto commit should be on by default
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3243 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3244
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3245 stmt = con.createStatement();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3246 sb.append("1. more results?...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3247 if (stmt.getMoreResults() != false || stmt.getUpdateCount() != -1)
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3248 sb.append("more results on an unitialised Statement, how can that be?\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3249 sb.append(" nope :)\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3250
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3251 sb.append("2. SELECT 1...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3252 if (stmt.execute("SELECT 1;") == false)
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3253 sb.append("SELECT 1 returns update or no results\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3254 sb.append(" ResultSet :)\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3255
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3256 sb.append("3. more results?...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3257 if (stmt.getMoreResults() != false || stmt.getUpdateCount() != -1)
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3258 sb.append("more results after SELECT 1 query, how can that be?\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3259 sb.append(" nope :)\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3260
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3261 sb.append("4. even more results?...");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3262 if (stmt.getMoreResults() != false)
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3263 sb.append("still more results after SELECT 1 query, how can that be?\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3264 sb.append(" nope :)\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3265
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3266 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3267 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3268 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3269
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3270 closeStmtResSet(stmt, null);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3271
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3272 compareExpectedOutput("Test_Smoreresults",
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3273 "0. true true\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3274 "1. more results?... nope :)\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3275 "2. SELECT 1... ResultSet :)\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3276 "3. more results?... nope :)\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3277 "4. even more results?... nope :)\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3278 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3279
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3280 private void Test_Wrapper() {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3281 sb.setLength(0); // clear the output log buffer
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3282
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3283 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3284 final String jdbc_pkg = "java.sql.";
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3285 final String monetdb_jdbc_pkg = "org.monetdb.jdbc.";
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3286
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3287 sb.append("Auto commit is: ").append(con.getAutoCommit()).append("\n");
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3288
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3289 checkIsWrapperFor("Connection", con, jdbc_pkg, "Connection");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3290 checkIsWrapperFor("Connection", con, monetdb_jdbc_pkg, "MonetConnection");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3291 checkIsWrapperFor("Connection", con, jdbc_pkg, "Statement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3292 checkIsWrapperFor("Connection", con, monetdb_jdbc_pkg, "MonetStatement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3293
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3294 DatabaseMetaData dbmd = con.getMetaData();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3295 checkIsWrapperFor("DatabaseMetaData", dbmd, jdbc_pkg, "DatabaseMetaData");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3296 checkIsWrapperFor("DatabaseMetaData", dbmd, monetdb_jdbc_pkg, "MonetDatabaseMetaData");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3297 checkIsWrapperFor("DatabaseMetaData", dbmd, jdbc_pkg, "Statement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3298 checkIsWrapperFor("DatabaseMetaData", dbmd, monetdb_jdbc_pkg, "MonetStatement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3299
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3300 ResultSet rs = dbmd.getSchemas();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3301 checkIsWrapperFor("ResultSet", rs, jdbc_pkg, "ResultSet");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3302 checkIsWrapperFor("ResultSet", rs, monetdb_jdbc_pkg, "MonetResultSet");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3303 checkIsWrapperFor("ResultSet", rs, jdbc_pkg, "Statement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3304 checkIsWrapperFor("ResultSet", rs, monetdb_jdbc_pkg, "MonetStatement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3305
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3306 ResultSetMetaData rsmd = rs.getMetaData();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3307 checkIsWrapperFor("ResultSetMetaData", rsmd, jdbc_pkg, "ResultSetMetaData");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3308 checkIsWrapperFor("ResultSetMetaData", rsmd, monetdb_jdbc_pkg, "MonetResultSet");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3309 checkIsWrapperFor("ResultSetMetaData", rsmd, monetdb_jdbc_pkg, "MonetResultSet$rsmdw"); // it is a private class of MonetResultSet
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3310 checkIsWrapperFor("ResultSetMetaData", rsmd, jdbc_pkg, "Statement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3311 checkIsWrapperFor("ResultSetMetaData", rsmd, monetdb_jdbc_pkg, "MonetStatement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3312
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3313 rs.close();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3314
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3315 Statement stmt = con.createStatement();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3316 checkIsWrapperFor("Statement", stmt, jdbc_pkg, "Statement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3317 checkIsWrapperFor("Statement", stmt, monetdb_jdbc_pkg, "MonetStatement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3318 checkIsWrapperFor("Statement", stmt, jdbc_pkg, "Connection");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3319 checkIsWrapperFor("Statement", stmt, monetdb_jdbc_pkg, "MonetConnection");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3320
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3321 stmt.close();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3322
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3323 PreparedStatement pstmt = con.prepareStatement("SELECT name FROM sys.tables WHERE system AND name like ?");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3324 checkIsWrapperFor("PreparedStatement", pstmt, jdbc_pkg, "PreparedStatement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3325 checkIsWrapperFor("PreparedStatement", pstmt, monetdb_jdbc_pkg, "MonetPreparedStatement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3326 checkIsWrapperFor("PreparedStatement", pstmt, jdbc_pkg, "Statement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3327 checkIsWrapperFor("PreparedStatement", pstmt, monetdb_jdbc_pkg, "MonetStatement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3328 checkIsWrapperFor("PreparedStatement", pstmt, jdbc_pkg, "Connection");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3329 checkIsWrapperFor("PreparedStatement", pstmt, monetdb_jdbc_pkg, "MonetConnection");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3330
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3331 ParameterMetaData pmd = pstmt.getParameterMetaData();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3332 checkIsWrapperFor("ParameterMetaData", pmd, jdbc_pkg, "ParameterMetaData");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3333 checkIsWrapperFor("ParameterMetaData", pmd, monetdb_jdbc_pkg, "MonetPreparedStatement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3334 checkIsWrapperFor("ParameterMetaData", pmd, monetdb_jdbc_pkg, "MonetPreparedStatement$pmdw"); // it is a private class of MonetPreparedStatement
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3335 checkIsWrapperFor("ParameterMetaData", pmd, jdbc_pkg, "Connection");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3336 checkIsWrapperFor("ParameterMetaData", pmd, monetdb_jdbc_pkg, "MonetConnection");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3337
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3338 ResultSetMetaData psrsmd = pstmt.getMetaData();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3339 checkIsWrapperFor("PrepStmt ResultSetMetaData", psrsmd, jdbc_pkg, "ResultSetMetaData");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3340 checkIsWrapperFor("PrepStmt ResultSetMetaData", psrsmd, monetdb_jdbc_pkg, "MonetPreparedStatement");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3341 checkIsWrapperFor("PrepStmt ResultSetMetaData", psrsmd, monetdb_jdbc_pkg, "MonetPreparedStatement$rsmdw"); // it is a private class of MonetPreparedStatement
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3342 checkIsWrapperFor("PrepStmt ResultSetMetaData", psrsmd, jdbc_pkg, "Connection");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3343 checkIsWrapperFor("PrepStmt ResultSetMetaData", psrsmd, monetdb_jdbc_pkg, "MonetConnection");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3344
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3345 pstmt.close();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3346
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3347 } catch (SQLException e) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3348 while ((e = e.getNextException()) != null)
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3349 sb.append("FAILED: ").append(e.getMessage()).append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3350 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3351
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3352 compareExpectedOutput("Test_Wrapper", "Auto commit is: true\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3353 "Connection. isWrapperFor(Connection) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3354 "Connection. isWrapperFor(MonetConnection) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3355 "Connection. isWrapperFor(Statement) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3356 "Connection. isWrapperFor(MonetStatement) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3357 "DatabaseMetaData. isWrapperFor(DatabaseMetaData) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3358 "DatabaseMetaData. isWrapperFor(MonetDatabaseMetaData) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3359 "DatabaseMetaData. isWrapperFor(Statement) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3360 "DatabaseMetaData. isWrapperFor(MonetStatement) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3361 "ResultSet. isWrapperFor(ResultSet) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3362 "ResultSet. isWrapperFor(MonetResultSet) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3363 "ResultSet. isWrapperFor(Statement) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3364 "ResultSet. isWrapperFor(MonetStatement) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3365 "ResultSetMetaData. isWrapperFor(ResultSetMetaData) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3366 "ResultSetMetaData. isWrapperFor(MonetResultSet) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3367 "ResultSetMetaData. isWrapperFor(MonetResultSet$rsmdw) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3368 "ResultSetMetaData. isWrapperFor(Statement) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3369 "ResultSetMetaData. isWrapperFor(MonetStatement) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3370 "Statement. isWrapperFor(Statement) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3371 "Statement. isWrapperFor(MonetStatement) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3372 "Statement. isWrapperFor(Connection) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3373 "Statement. isWrapperFor(MonetConnection) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3374 "PreparedStatement. isWrapperFor(PreparedStatement) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3375 "PreparedStatement. isWrapperFor(MonetPreparedStatement) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3376 "PreparedStatement. isWrapperFor(Statement) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3377 "PreparedStatement. isWrapperFor(MonetStatement) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3378 "PreparedStatement. isWrapperFor(Connection) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3379 "PreparedStatement. isWrapperFor(MonetConnection) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3380 "ParameterMetaData. isWrapperFor(ParameterMetaData) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3381 "ParameterMetaData. isWrapperFor(MonetPreparedStatement) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3382 "ParameterMetaData. isWrapperFor(MonetPreparedStatement$pmdw) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3383 "ParameterMetaData. isWrapperFor(Connection) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3384 "ParameterMetaData. isWrapperFor(MonetConnection) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3385 "PrepStmt ResultSetMetaData. isWrapperFor(ResultSetMetaData) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3386 "PrepStmt ResultSetMetaData. isWrapperFor(MonetPreparedStatement) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3387 "PrepStmt ResultSetMetaData. isWrapperFor(MonetPreparedStatement$rsmdw) returns: true Called unwrap(). Returned object is not null, so oke\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3388 "PrepStmt ResultSetMetaData. isWrapperFor(Connection) returns: false\n" +
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3389 "PrepStmt ResultSetMetaData. isWrapperFor(MonetConnection) returns: false\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3390 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3391
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3392 private void checkIsWrapperFor(String objnm, Wrapper obj, String pkgnm, String classnm) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3393 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3394 Class<?> clazz = Class.forName(pkgnm + classnm);
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3395 boolean isWrapper = obj.isWrapperFor(clazz);
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3396 sb.append(objnm).append(". isWrapperFor(").append(classnm).append(") returns: ").append(isWrapper);
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3397 if (isWrapper) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3398 Object wobj = obj.unwrap(clazz);
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3399 sb.append("\tCalled unwrap(). Returned object is ").append((wobj != null ? "not null, so oke" : "null !!"));
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3400 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3401 sb.append("\n");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3402 } catch (ClassNotFoundException cnfe) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3403 sb.append(cnfe.toString());
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3404 } catch (SQLException se) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3405 sb.append(se.getMessage());
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3406 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3407 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3408
453
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3409 private void bogus_auto_generated_keys() {
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3410 sb.setLength(0); // clear the output log buffer
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3411
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3412 Statement stmt = null;
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3413 ResultSet rs = null;
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3414 int upd = 0;
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3415 try {
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3416 stmt = con.createStatement();
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3417 sb.append("1. create table...");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3418 // create a simple table with an auto-generated key (id)
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3419 upd = stmt.executeUpdate("CREATE TABLE bogus_gen_keys (\n \"id\" serial,\n \"x\" varchar(12)\n);");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3420 if (upd != Statement.SUCCESS_NO_INFO)
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3421 sb.append("Wrong return status: ").append(upd).append("\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3422 else
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3423 sb.append("passed\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3424
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3425 // perform an update, useless, but illustrates the bug, this time no
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3426 // generated key is reported, which is correct
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3427 sb.append("2. update empty table...");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3428 upd = stmt.executeUpdate("UPDATE bogus_gen_keys SET \"x\" = 'bla' WHERE \"id\" = 12;");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3429 if (upd != 0)
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3430 sb.append("Wrong return status: ").append(upd).append("\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3431 else
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3432 sb.append("passed\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3433
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3434 // insert some value, should get a generated key
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3435 sb.append("3. insert 1 row ...");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3436 upd = stmt.executeUpdate("INSERT INTO bogus_gen_keys (\"x\") VALUES ('boe');");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3437 if (upd != 1)
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3438 sb.append("Wrong return status: ").append(upd).append("\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3439 else
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3440 sb.append("passed\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3441
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3442 sb.append("4. show values of inserted row ...");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3443 rs = stmt.executeQuery("SELECT \"id\", \"x\" from bogus_gen_keys;");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3444 if (rs != null && rs.next()) {
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3445 sb.append(" id: ").append(rs.getString(1)).append(" x: ").append(rs.getString(2));
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3446 }
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3447 sb.append("\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3448
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3449 // update again, we expect NO generated key, but we DO get one
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3450 sb.append("5. update row 1...");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3451 upd = stmt.executeUpdate("UPDATE bogus_gen_keys SET \"x\" = 'bla' WHERE \"id\" = 1;");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3452 if (upd != 1)
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3453 sb.append("Wrong return status: ").append(upd).append("\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3454 else
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3455 sb.append("passed\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3456
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3457 sb.append("6. update row 12...");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3458 upd = stmt.executeUpdate("UPDATE bogus_gen_keys SET \"x\" = 'bla' WHERE \"id\" = 12;");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3459 if (upd != 0)
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3460 sb.append("Wrong return status: ").append(upd).append("\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3461 else
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3462 sb.append("passed\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3463 } catch (SQLException e) {
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3464 sb.append("FAILED: ").append(e.getMessage()).append("\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3465 }
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3466
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3467 // cleanup
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3468 try {
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3469 sb.append("7. drop table...");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3470 upd = stmt.executeUpdate("DROP TABLE bogus_gen_keys");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3471 if (upd != Statement.SUCCESS_NO_INFO)
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3472 sb.append("Wrong return status: ").append(upd).append("\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3473 else
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3474 sb.append("passed\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3475 } catch (SQLException e) {
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3476 sb.append("FAILED: ").append(e.getMessage()).append("\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3477 }
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3478
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3479 closeStmtResSet(stmt, rs);
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3480
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3481 compareExpectedOutput("bogus_auto_generated_keys",
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3482 "1. create table...passed\n" +
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3483 "2. update empty table...passed\n" +
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3484 "3. insert 1 row ...passed\n" +
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3485 "4. show values of inserted row ... id: 1 x: boe\n" +
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3486 "5. update row 1...passed\n" +
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3487 "6. update row 12...passed\n" +
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3488 "7. drop table...passed\n");
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3489 }
33756aa67a40 Converted and added test bogus-auto-generated-keys (which is currently run via JdbcClient)
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 452
diff changeset
3490
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3491 private void BugConcurrent_clients_SF_1504657(String arg0) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3492 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3493
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3494 Connection con1 = null, con2 = null, con3 = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3495 Statement stmt1 = null, stmt2 = null, stmt3 = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3496 ResultSet rs1 = null, rs2= null, rs3 = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3497 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3498 con1 = DriverManager.getConnection(arg0);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3499 con2 = DriverManager.getConnection(arg0);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3500 con3 = DriverManager.getConnection(arg0);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3501 stmt1 = con1.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3502 stmt2 = con2.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3503 stmt3 = con3.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3504
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3505 // >> true: auto commit should be on by default
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3506 sb.append("0. true\t").append(con1.getAutoCommit()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3507 sb.append("0. true\t").append(con2.getAutoCommit()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3508 sb.append("0. true\t").append(con3.getAutoCommit()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3509
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3510 // test the creation of a table with concurrent clients
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3511 sb.append("1.1. create table t1504657 using client 1...\n");
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3512 stmt1.executeUpdate("CREATE TABLE t1504657 ( id int, name varchar(1024) )");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3513 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3514
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3515 sb.append("1.2. check table existence in client 2...\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3516 rs2 = stmt2.executeQuery("SELECT name FROM tables where name LIKE 't1504657'");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3517 while (rs2.next())
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3518 sb.append(rs2.getString("name")).append("\n");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3519 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3520
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3521 sb.append("1.3. check table existence in client 3...\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3522 rs3 = stmt3.executeQuery("SELECT name FROM tables where name LIKE 't1504657'");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3523 while (rs3.next())
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3524 sb.append(rs3.getString("name")).append("\n");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3525 sb.append("passed :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3526
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3527 // test the insertion of values with concurrent clients
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3528 sb.append("2 insert into t1504657 using client 1...\n");
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3529 stmt1.executeUpdate("INSERT INTO t1504657 values( 1, 'monetdb' )");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3530 sb.append("passed :)\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3531 stmt1.executeUpdate("INSERT INTO t1504657 values( 2, 'monet' )");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3532 sb.append("passed :)\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3533 stmt1.executeUpdate("INSERT INTO t1504657 values( 3, 'mon' )");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3534 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3535
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3536 sb.append("2.1. check table status with client 1...\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3537 rs1 = stmt1.executeQuery("SELECT * FROM t1504657");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3538 while (rs1.next())
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3539 sb.append(rs1.getInt("id")).append(", ").append(rs1.getString("name")).append("\n");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3540 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3541
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3542 sb.append("2.2. check table status with client 2...\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3543 rs2 = stmt2.executeQuery("SELECT * FROM t1504657");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3544 while (rs2.next())
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3545 sb.append(rs2.getInt("id")).append(", ").append(rs2.getString("name")).append("\n");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3546 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3547
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3548 sb.append("2.3. check table status with client 3...\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3549 rs3 = stmt3.executeQuery("SELECT * FROM t1504657");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3550 while (rs3.next())
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3551 sb.append(rs3.getInt("id")).append(", ").append(rs3.getString("name")).append("\n");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3552 sb.append("passed :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3553
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3554 // test the insertion of values with concurrent clients
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3555 sb.append("3 insert into t1504657 using client 2...\n");
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3556 stmt2.executeUpdate("INSERT INTO t1504657 values( 4, 'monetdb' )");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3557 sb.append("passed :)\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3558 stmt2.executeUpdate("INSERT INTO t1504657 values( 5, 'monet' )");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3559 sb.append("passed :)\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3560 stmt2.executeUpdate("INSERT INTO t1504657 values( 6, 'mon' )");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3561 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3562
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3563 sb.append("3.1. check table status with client 1...\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3564 rs1 = stmt1.executeQuery("SELECT * FROM t1504657");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3565 while (rs1.next())
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3566 sb.append(rs1.getInt("id")).append(", ").append(rs1.getString("name")).append("\n");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3567 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3568
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3569 sb.append("3.2. check table status with client 2...\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3570 rs2 = stmt2.executeQuery("SELECT * FROM t1504657");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3571 while (rs2.next())
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3572 sb.append(rs2.getInt("id")).append(", ").append(rs2.getString("name")).append("\n");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3573 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3574
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3575 sb.append("3.3. check table status with client 3...\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3576 rs3 = stmt3.executeQuery("SELECT * FROM t1504657");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3577 while (rs3.next())
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3578 sb.append(rs3.getInt("id")).append(", ").append(rs3.getString("name")).append("\n");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3579 sb.append("passed :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3580
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3581 // test the insertion of values with concurrent clients
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3582 sb.append("4 insert into t1504657 using client 3...\n");
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3583 stmt3.executeUpdate("INSERT INTO t1504657 values( 7, 'monetdb' )");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3584 sb.append("passed :)\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3585 stmt3.executeUpdate("INSERT INTO t1504657 values( 8, 'monet' )");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3586 sb.append("passed :)\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3587 stmt3.executeUpdate("INSERT INTO t1504657 values( 9, 'mon' )");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3588 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3589
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3590 sb.append("4.1. check table status with client 1...\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3591 rs1 = stmt1.executeQuery("SELECT * FROM t1504657");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3592 while (rs1.next())
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3593 sb.append(rs1.getInt("id")).append(", ").append(rs1.getString("name")).append("\n");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3594 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3595
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3596 sb.append("4.2. check table status with client 2...\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3597 rs2 = stmt2.executeQuery("SELECT * FROM t1504657");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3598 while (rs2.next())
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3599 sb.append(rs2.getInt("id")).append(", ").append(rs2.getString("name")).append("\n");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3600 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3601
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3602 sb.append("4.3. check table status with client 3...\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3603 rs3 = stmt3.executeQuery("SELECT * FROM t1504657");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3604 while (rs3.next())
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3605 sb.append(rs3.getInt("id")).append(", ").append(rs3.getString("name")).append("\n");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3606 sb.append("passed :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3607 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3608 sb.append("FAILED: ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3609 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3610
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3611 // cleanup
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3612 try {
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3613 sb.append("Cleanup TABLE t1504657\n");
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3614 stmt3.executeUpdate("DROP TABLE t1504657");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3615 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3616 sb.append("FAILED: ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3617 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3618
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3619 closeStmtResSet(stmt3, rs3);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3620 closeStmtResSet(stmt1, rs1);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3621 closeStmtResSet(stmt2, rs2);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3622
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3623 closeConx(con2);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3624 closeConx(con1);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3625 closeConx(con3);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3626
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3627 compareExpectedOutput("BugConcurrent_clients_SF_1504657",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3628 "0. true true\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3629 "0. true true\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3630 "0. true true\n" +
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3631 "1.1. create table t1504657 using client 1...\n" +
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3632 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3633 "1.2. check table existence in client 2...\n" +
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3634 "t1504657\n" +
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3635 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3636 "1.3. check table existence in client 3...\n" +
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3637 "t1504657\n" +
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3638 "passed :)\n" +
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3639 "2 insert into t1504657 using client 1...\n" +
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3640 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3641 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3642 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3643 "2.1. check table status with client 1...\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3644 "1, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3645 "2, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3646 "3, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3647 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3648 "2.2. check table status with client 2...\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3649 "1, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3650 "2, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3651 "3, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3652 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3653 "2.3. check table status with client 3...\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3654 "1, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3655 "2, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3656 "3, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3657 "passed :)\n" +
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3658 "3 insert into t1504657 using client 2...\n" +
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3659 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3660 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3661 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3662 "3.1. check table status with client 1...\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3663 "1, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3664 "2, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3665 "3, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3666 "4, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3667 "5, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3668 "6, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3669 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3670 "3.2. check table status with client 2...\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3671 "1, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3672 "2, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3673 "3, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3674 "4, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3675 "5, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3676 "6, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3677 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3678 "3.3. check table status with client 3...\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3679 "1, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3680 "2, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3681 "3, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3682 "4, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3683 "5, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3684 "6, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3685 "passed :)\n" +
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3686 "4 insert into t1504657 using client 3...\n" +
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3687 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3688 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3689 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3690 "4.1. check table status with client 1...\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3691 "1, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3692 "2, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3693 "3, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3694 "4, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3695 "5, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3696 "6, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3697 "7, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3698 "8, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3699 "9, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3700 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3701 "4.2. check table status with client 2...\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3702 "1, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3703 "2, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3704 "3, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3705 "4, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3706 "5, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3707 "6, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3708 "7, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3709 "8, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3710 "9, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3711 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3712 "4.3. check table status with client 3...\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3713 "1, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3714 "2, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3715 "3, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3716 "4, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3717 "5, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3718 "6, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3719 "7, monetdb\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3720 "8, monet\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3721 "9, mon\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3722 "passed :)\n" +
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3723 "Cleanup TABLE t1504657\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3724 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3725
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3726 private void BugConcurrent_sequences(String arg0) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3727 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3728
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3729 Connection con1 = null, con2 = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3730 Statement stmt1 = null, stmt2 = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3731 ResultSet rs1 = null, rs2 = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3732 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3733 con1 = DriverManager.getConnection(arg0);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3734 con2 = DriverManager.getConnection(arg0);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3735 stmt1 = con1.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3736 stmt2 = con2.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3737
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3738 // >> true: auto commit should be on by default
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3739 sb.append("0. true\t").append(con1.getAutoCommit()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3740 sb.append("0. true\t").append(con2.getAutoCommit()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3741
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3742 // create a table
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3743 sb.append("1. create table tconc_seq using client 1... ");
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3744 stmt1.executeUpdate("CREATE TABLE tconc_seq ( id serial, who varchar(12) )");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3745 sb.append("passed :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3746
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3747 // test the insertion of values with concurrent clients
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3748 sb.append("2. insert into tconc_seq using client 1 and 2... ");
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3749 stmt1.executeUpdate("INSERT INTO tconc_seq(who) VALUES('client1')");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3750 sb.append("client 1 passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3751
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3752 con2.setAutoCommit(false);
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3753 stmt2.executeUpdate("INSERT INTO tconc_seq(who) VALUES('client2')");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3754 sb.append("transaction on client 2 :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3755
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3756 stmt1.executeUpdate("INSERT INTO tconc_seq(who) VALUES('client1')");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3757 sb.append("client 1 passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3758
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3759 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3760 con2.commit();
458
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3761 sb.append("transaction client 2 passed :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3762 } catch (SQLException e) {
458
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3763 sb.append("transaction client 2 failed!\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3764 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3765 con2.setAutoCommit(true);
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3766 stmt2.executeUpdate("INSERT INTO tconc_seq(who) VALUES('client2')");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3767 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3768
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3769 sb.append("2.1. check table status with client 1...\n");
593
f4181beae53d Restored test to outputs before Jul2021, after fixing bug #7200
Pedro Ferreira <pedro.ferreira@monetdbsolutions.com>
parents: 591
diff changeset
3770 rs1 = stmt1.executeQuery("SELECT * FROM tconc_seq ORDER BY id");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3771 while (rs1.next())
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3772 sb.append(rs1.getInt("id")).append(", ").append(rs1.getString("who")).append("\n");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3773 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3774
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3775 sb.append("2.2. check table status with client 2...\n");
593
f4181beae53d Restored test to outputs before Jul2021, after fixing bug #7200
Pedro Ferreira <pedro.ferreira@monetdbsolutions.com>
parents: 591
diff changeset
3776 rs2 = stmt2.executeQuery("SELECT * FROM tconc_seq ORDER BY id");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3777 while (rs2.next())
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3778 sb.append(rs2.getInt("id")).append(", ").append(rs2.getString("who")).append("\n");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3779 sb.append("passed :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3780
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3781 // drop the table (not dropping the sequence) from client 1
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3782 sb.append("3.1. drop table tconc_seq using client 1... ");
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3783 stmt1.executeUpdate("DROP TABLE tconc_seq");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3784 sb.append("passed :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3785
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3786 sb.append("3.1. recreate tconc_seq using client 1... ");
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3787 stmt1.executeUpdate("CREATE TABLE tconc_seq ( id serial, who varchar(12) )");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3788 sb.append("passed :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3789 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3790 sb.append("FAILED: ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3791 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3792
458
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3793 compareExpectedOutput("BugConcurrent_sequences",
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3794 "0. true true\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3795 "0. true true\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3796 "1. create table tconc_seq using client 1... passed :)\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3797 "2. insert into tconc_seq using client 1 and 2... client 1 passed :)\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3798 "transaction on client 2 :)\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3799 "client 1 passed :)\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3800 "transaction client 2 failed!\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3801 "passed :)\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3802 "2.1. check table status with client 1...\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3803 "1, client1\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3804 "3, client1\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3805 "4, client2\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3806 "passed :)\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3807 "2.2. check table status with client 2...\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3808 "1, client1\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3809 "3, client1\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3810 "4, client2\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3811 "passed :)\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3812 "3.1. drop table tconc_seq using client 1... passed :)\n" +
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3813 "3.1. recreate tconc_seq using client 1... passed :)\n");
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3814 sb.setLength(0); // clear the output log buffer
333c3752e118 Adjust test BugConcurrent_sequences to check for the version of MonetDB server and accept the post Oct2020 server response as correct.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 453
diff changeset
3815
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3816 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3817 // re-establish connection
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3818 sb.append("x. Reconnecting client 1 and 2... ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3819 con1.close();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3820 con2.close();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3821 con1 = DriverManager.getConnection(arg0);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3822 con2 = DriverManager.getConnection(arg0);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3823 stmt1 = con1.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3824 stmt2 = con2.createStatement();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3825 sb.append("passed :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3826
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3827 // insert and print, should get 1,2
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3828 sb.append("4. insert into tconc_seq using client 1 and 2...\n");
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3829 stmt1.executeUpdate("INSERT INTO tconc_seq(who) VALUES('client1')");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3830 sb.append("passed :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3831 con2.setAutoCommit(false);
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3832 stmt2.executeUpdate("INSERT INTO tconc_seq(who) VALUES('client2')");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3833 con2.commit();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3834 con2.setAutoCommit(true);
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3835 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3836
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3837 sb.append("4.1. check table status with client 1...\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3838 rs1 = stmt1.executeQuery("SELECT * FROM tconc_seq ORDER BY who");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3839 for (int cntr = 1; rs1.next(); cntr++) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3840 int id = rs1.getInt("id");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3841 sb.append(id).append(", ").append(rs1.getString("who")).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3842 if (id != cntr)
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3843 sb.append("!! expected ").append(cntr).append(", got ").append(id);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3844 }
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3845 sb.append("passed :)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3846
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3847 sb.append("4.2. check table status with client 2...\n");
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3848 rs2 = stmt2.executeQuery("SELECT * FROM tconc_seq ORDER BY who");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3849 for (int cntr = 1; rs2.next(); cntr++) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3850 int id = rs2.getInt("id");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3851 sb.append(id).append(", ").append(rs2.getString("who")).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3852 if (id != cntr)
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3853 sb.append("!! expected ").append(cntr).append(", got ").append(id);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3854 }
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3855 sb.append("passed :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3856 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3857 sb.append("FAILED: ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3858 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3859
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3860 // cleanup
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3861 try {
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3862 sb.append("Cleanup TABLE tconc_seq\n");
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3863 stmt2.executeUpdate("DROP TABLE tconc_seq");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3864 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3865 sb.append("FAILED: ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3866 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3867
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3868 closeStmtResSet(stmt1, rs1);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3869 closeStmtResSet(stmt2, rs2);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3870
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3871 closeConx(con2);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3872 closeConx(con1);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3873
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3874 compareExpectedOutput("BugConcurrent_sequences",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3875 "x. Reconnecting client 1 and 2... passed :)\n" +
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3876 "4. insert into tconc_seq using client 1 and 2...\n" +
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3877 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3878 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3879 "4.1. check table status with client 1...\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3880 "1, client1\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3881 "2, client2\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3882 "passed :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3883 "4.2. check table status with client 2...\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3884 "1, client1\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3885 "2, client2\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3886 "passed :)\n" +
452
64789c018991 Avoid using table names called t1 in tests, make them more unique.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 450
diff changeset
3887 "Cleanup TABLE tconc_seq\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3888 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3889
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3890 private void Bug_Connect_as_voc_getMetaData_Failure_Bug_6388(String arg0) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3891 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3892
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3893 Statement stmt1 = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3894 // create user, schema and alter schema default schema
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3895 try {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3896 sb.append("1. CREATE USER voc\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3897 stmt1 = con.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3898 stmt1.executeUpdate("CREATE USER \"voc\" WITH PASSWORD 'voc' NAME 'VOC Explorer' SCHEMA \"sys\"");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3899 sb.append("2. CREATE SCHEMA voc\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3900 stmt1.executeUpdate("CREATE SCHEMA \"voc\" AUTHORIZATION \"voc\"");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3901 sb.append("3. ALTER USER voc\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3902 stmt1.executeUpdate("ALTER USER \"voc\" SET SCHEMA \"voc\"");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3903 sb.append("creation succeeded :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3904 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3905 sb.append("FAILED creating user and schema voc. ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3906 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3907
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3908 Connection con2 = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3909 ResultSet rs2 = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3910 try {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3911 sb.append("4.1. connect as user: voc\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3912 con2 = DriverManager.getConnection(arg0.replace("=monetdb", "=voc"));
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3913 sb.append("connected :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3914
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3915 DatabaseMetaData dbmd = con2.getMetaData();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3916
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3917 sb.append("4.2. getUserName()\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3918 sb.append("UserName = ").append(dbmd.getUserName()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3919
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3920 sb.append("4.3. getMaxConnections()\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3921 sb.append("MaxConnections = ").append(dbmd.getMaxConnections()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3922
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3923 sb.append("4.4. getDatabaseProductVersion()\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3924 String dbmsVersion = dbmd.getDatabaseProductVersion(); // should be 11.35.1 or higher
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3925 boolean postNov2019 = ("11.35.1".compareTo(dbmsVersion) <= 0);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3926 sb.append("DatabaseProductVersion = ").append((postNov2019 ? "11.35.+" : dbmsVersion)).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3927
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3928 sb.append("4.5. getDatabaseMajorVersion()\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3929 sb.append("DatabaseMajorVersion = ").append(dbmd.getDatabaseMajorVersion()).append("\n"); // should be 11
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3930
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3931 sb.append("4.6. getDatabaseMinorVersion()\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3932 int dbmsMinorVersion = dbmd.getDatabaseMinorVersion(); // should be 35 or higher
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3933 sb.append("DatabaseMinorVersion = ").append((dbmsMinorVersion >= 35 ? "35+" : dbmsMinorVersion)).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3934
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3935 sb.append("4.7. getTables(null, 'tmp', null, null)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3936 rs2 = dbmd.getTables(null, "tmp", null, null);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3937 if (rs2 != null) {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3938 sb.append("List Tables in schema tmp:\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3939 while (rs2.next()) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3940 sb.append(rs2.getString(3)).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3941 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3942 rs2.close();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3943 }
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3944 sb.append("completed listing Tables in schema tmp\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3945
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3946 sb.append("4.8. getTableTypes()\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3947 rs2 = dbmd.getTableTypes();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3948 if (rs2 != null) {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3949 sb.append("List TableTypes:\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3950 while (rs2.next()) {
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
3951 String tt = rs2.getString(1);
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3952 // post Oct2020 releases the STREAM TABLE type is removed, so filter it out for a stable output
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
3953 if (!"STREAM TABLE".equals(tt))
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
3954 sb.append(tt).append("\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3955 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3956 rs2.close();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3957 }
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3958 sb.append("completed listing TableTypes\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3959
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3960 sb.append("voc meta data Test completed successfully\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3961 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3962 sb.append("FAILED fetching MonetDatabaseMetaData. ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3963 } finally {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3964 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3965 con2.close();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3966 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3967 sb.append("FAILED to close voc connection. ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3968 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3969 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3970
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3971 // cleanup: drop user, schema and alter schema default schema in reverse order
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3972 try {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3973 sb.append("Cleanup created objects\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3974 sb.append("5. ALTER USER voc\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3975 stmt1.executeUpdate("ALTER USER \"voc\" SET SCHEMA \"sys\"");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3976 sb.append("6. DROP SCHEMA voc\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3977 stmt1.executeUpdate("DROP SCHEMA \"voc\"");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3978 sb.append("7. DROP USER voc\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3979 stmt1.executeUpdate("DROP USER \"voc\"");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
3980 sb.append("cleanup succeeded :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3981 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3982 sb.append("FAILED dropping user and schema voc. ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3983 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3984
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3985 closeConx(con2);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3986 closeStmtResSet(stmt1, null);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3987
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3988 compareExpectedOutput("Bug_Connect_as_voc_getMetaData_Failure_Bug_6388",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3989 "1. CREATE USER voc\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3990 "2. CREATE SCHEMA voc\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3991 "3. ALTER USER voc\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3992 "creation succeeded :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3993 "4.1. connect as user: voc\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3994 "connected :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3995 "4.2. getUserName()\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3996 "UserName = voc\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3997 "4.3. getMaxConnections()\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3998 "MaxConnections = 64\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
3999 "4.4. getDatabaseProductVersion()\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4000 "DatabaseProductVersion = 11.35.+\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4001 "4.5. getDatabaseMajorVersion()\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4002 "DatabaseMajorVersion = 11\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4003 "4.6. getDatabaseMinorVersion()\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4004 "DatabaseMinorVersion = 35+\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4005 "4.7. getTables(null, 'tmp', null, null)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4006 "List Tables in schema tmp:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4007 "_columns\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4008 "_tables\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4009 "idxs\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4010 "keys\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4011 "objects\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4012 "triggers\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4013 "completed listing Tables in schema tmp\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4014 "4.8. getTableTypes()\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4015 "List TableTypes:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4016 "GLOBAL TEMPORARY TABLE\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4017 "LOCAL TEMPORARY TABLE\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4018 "MERGE TABLE\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4019 "REMOTE TABLE\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4020 "REPLICA TABLE\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4021 "SYSTEM TABLE\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4022 "SYSTEM VIEW\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4023 "TABLE\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4024 "VIEW\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4025 "completed listing TableTypes\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4026 "voc meta data Test completed successfully\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4027 "Cleanup created objects\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4028 "5. ALTER USER voc\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4029 "6. DROP SCHEMA voc\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4030 "7. DROP USER voc\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4031 "cleanup succeeded :)\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4032 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4033
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4034 private void BugDatabaseMetaData_Bug_3356() {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4035 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4036
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4037 ResultSet rs = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4038 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4039 DatabaseMetaData dbmd = con.getMetaData();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4040 rs = dbmd.getColumns("", "sys", "_tables", "id");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4041 rs.next();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4042 String tableName1 = rs.getString("TABLE_NAME");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4043 String tableName2 = rs.getString(3);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4044 String isNullable1 = rs.getString("IS_NULLABLE");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4045 String isNullable2 = rs.getString(18);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4046 sb.append(tableName1).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4047 sb.append(tableName2).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4048 sb.append(isNullable1).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4049 sb.append(isNullable2).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4050 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4051 sb.append("FAILED: ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4052 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4053
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4054 closeStmtResSet(null, rs);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4055
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4056 compareExpectedOutput("BugDatabaseMetaData_Bug_3356",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4057 "_tables\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4058 "_tables\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4059 "YES\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4060 "YES\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4061 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4062
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4063 private void BugDecimalRound_Bug_3561() {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4064 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4065
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4066 Statement stmt1 = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4067 PreparedStatement pst = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4068 Statement stmt2 = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4069 ResultSet rs = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4070 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4071 stmt1 = con.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4072 stmt1.executeUpdate("CREATE TABLE bug3561 (d decimal(14,4))");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4073
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4074 pst = con.prepareStatement("INSERT INTO bug3561 VALUES (?)");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4075 pst.setBigDecimal(1, new BigDecimal("112.125"));
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4076 pst.executeUpdate();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4077 pst.setBigDecimal(1, new BigDecimal("212.12345"));
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4078 pst.executeUpdate();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4079 pst.setBigDecimal(1, new BigDecimal("0.012345"));
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4080 pst.executeUpdate();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4081 pst.close();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4082
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4083 stmt2 = con.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4084 rs = stmt2.executeQuery("SELECT d FROM bug3561");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4085 while (rs.next())
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4086 sb.append(rs.getString(1)).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4087 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4088 sb.append("FAILED: ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4089 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4090 closeStmtResSet(stmt2, rs);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4091 closeStmtResSet(pst, null);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4092
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4093 // cleanup
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4094 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4095 stmt1.executeUpdate("DROP TABLE bug3561");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4096 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4097 sb.append("FAILED: ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4098 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4099 closeStmtResSet(stmt1, null);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4100
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4101 compareExpectedOutput("BugDecimalRound_Bug_3561",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4102 "112.1250\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4103 "212.1235\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4104 "0.0123\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4105 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4106
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4107 private void BugExecuteUpdate_Bug_3350() {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4108 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4109
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4110 Statement stmt = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4111 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4112 con.setAutoCommit(false); // disable auto commit, so we can roll back the transaction
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4113 stmt = con.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4114 stmt.execute("CREATE TABLE t3350 (keyword VARCHAR(30) PRIMARY KEY)");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4115 con.commit();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4116
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4117 executeDML(stmt, "INSERT INTO t3350 VALUES ('Bug_3350')"); // should insert 1 row
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4118 executeDML(stmt, "INSERT INTO t3350 VALUES ('Bug_3350')"); // this will result in an SQLException due to PK uniqueness violation
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4119 con.rollback();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4120
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4121 executeDML(stmt, "INSERT INTO t3350 VALUES ('Bug_3350')"); // should insert 1 row
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4122 executeDML(stmt, "INSERT INTO t3350 VALUES ('1'), ('x'), ('3'), ('y')"); // should insert 4 rows
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4123 executeDML(stmt, "DELETE FROM t3350 WHERE \"keyword\" = 'Bug_3350'"); // should delete 1 row
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4124 executeDML(stmt, "DELETE FROM t3350 WHERE \"keyword\" = 'Bug_3350'"); // should delete 0 rows
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4125 executeDML(stmt, "UPDATE t3350 set \"keyword\" = keyword||'_ext'"); // should update 4 rows
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4126 executeDML(stmt, "DELETE FROM t3350"); // should delete 4 rows
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4127 con.commit();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4128 } catch (SQLException se) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4129 sb.append(se.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4130 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4131 closeStmtResSet(stmt, null);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4132
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4133 // cleanup
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4134 try {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4135 stmt.execute("DROP TABLE IF EXISTS t3350");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4136 con.commit();
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4137 con.setAutoCommit(true); // enable auto commit
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4138 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4139 sb.append("FAILED: ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4140 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4141
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4142 compareExpectedOutput("BugExecuteUpdate_Bug_3350",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4143 "executeUpdate(INSERT ...) returned: 1\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4144 "getUpdateCount() returned: 1\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4145 "INSERT INTO: PRIMARY KEY constraint 't3350.t3350_keyword_pkey' violated\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4146 "getUpdateCount() returned: 1\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4147 "executeUpdate(INSERT ...) returned: 1\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4148 "getUpdateCount() returned: 1\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4149 "executeUpdate(INSERT ...) returned: 4\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4150 "getUpdateCount() returned: 4\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4151 "executeUpdate(DELETE ...) returned: 1\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4152 "getUpdateCount() returned: 1\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4153 "executeUpdate(DELETE ...) returned: 0\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4154 "getUpdateCount() returned: 0\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4155 "executeUpdate(UPDATE ...) returned: 4\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4156 "getUpdateCount() returned: 4\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4157 "executeUpdate(DELETE ...) returned: 4\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4158 "getUpdateCount() returned: 4\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4159 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4160
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4161 private void executeDML(Statement st, String sql) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4162 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4163 int upd_count = st.executeUpdate(sql);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4164 sb.append("executeUpdate(").append(sql.substring(0, 6)).append(" ...) returned: ").append(upd_count).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4165 } catch (SQLException se) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4166 sb.append(se.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4167 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4168
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4169 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4170 sb.append("getUpdateCount() returned: ").append(st.getUpdateCount()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4171 } catch (SQLException se) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4172 sb.append(se.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4173 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4174 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4175
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4176 private void Bug_IsValid_Timeout_Bug_6782(String arg0) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4177 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4178
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4179 Connection con2 = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4180 Statement st = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4181 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4182 con2 = DriverManager.getConnection(arg0);
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4183 sb.append("connected :)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4184
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4185 st = con2.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4186 st.setQueryTimeout(5);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4187 sb.append("getQueryTimeout must give 5: ").append(st.getQueryTimeout()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4188 st.close();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4189
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4190 con.isValid(6);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4191
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4192 st = con.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4193 sb.append("getQueryTimeout must give 0: ").append(st.getQueryTimeout()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4194
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4195 con.isValid(4);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4196 sb.append("getQueryTimeout must give 0: ").append(st.getQueryTimeout()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4197 st.close();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4198
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
4199 st.setQueryTimeout(7);
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4200 con.isValid(3);
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
4201 sb.append("getQueryTimeout must give 7: ").append(st.getQueryTimeout()).append("\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4202 st.close();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4203 } catch (SQLException se) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4204 sb.append(se.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4205 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4206 closeStmtResSet(st, null);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4207 closeConx(con2);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4208
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4209 compareExpectedOutput("Bug_IsValid_Timeout_Bug_6782",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4210 "connected :)\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4211 "getQueryTimeout must give 5: 5\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4212 "getQueryTimeout must give 0: 0\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4213 "getQueryTimeout must give 0: 0\n" +
488
59309e3e6daa Speed up Test_Sbatching() by including: SET sys.optimizer = 'minimal_pipe'
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 481
diff changeset
4214 "getQueryTimeout must give 7: 7\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4215 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4216
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4217 private void Bug_LargeQueries_6571_6693(String arg0) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4218 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4219
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4220 // construct a largedata string value. It must larger than the block size of MapiSocket
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4221 final int num = 9216;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4222 final String repeatValue = "$-)";
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4223 final StringBuilder ldsb = new StringBuilder(num * repeatValue.length());
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4224 for (int i = 0; i < num; i++)
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4225 ldsb.append(repeatValue);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4226 final String largedata = ldsb.toString();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4227 if (largedata.length() <= 8192)
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4228 sb.append("Length (").append(largedata.length()).append(") of largedata value is too small! Should be larger than 8192!");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4229
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4230 final String tbl_nm = "tbl6693";
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4231 Statement stmt = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4232 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4233 stmt = con.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4234 // create a test table.
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4235 stmt.executeUpdate("CREATE TABLE IF NOT EXISTS " + tbl_nm + " (attribute CLOB, value CLOB);");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4236 sb.append("Created table: ").append(tbl_nm).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4237 sb.append("Inserting rows. ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4238 String insertCmd = "INSERT INTO " + tbl_nm + " VALUES ('activeset_default_fiets', '" + largedata + "');";
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4239 int ins = stmt.executeUpdate(insertCmd);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4240 ins += stmt.executeUpdate(insertCmd);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4241 ins += stmt.executeUpdate(insertCmd);
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4242 sb.append(ins).append(" rows inserted\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4243 } catch (SQLException se) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4244 sb.append(se.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4245 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4246 closeStmtResSet(stmt, null);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4247
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4248 final int script_iterations = 10;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4249 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4250 run_tests(arg0, tbl_nm, script_iterations, largedata);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4251 } catch (SQLException se) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4252 sb.append(se.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4253 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4254
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4255 try (Statement stmt2 = con.createStatement()) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4256 stmt2.executeUpdate("DROP TABLE IF EXISTS " + tbl_nm);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4257 sb.append("Cleaned up TABLE ").append(tbl_nm).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4258 } catch (SQLException se) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4259 sb.append(se.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4260 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4261
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4262 sb.append("Test completed without hanging\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4263
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4264 compareExpectedOutput("Bug_LargeQueries_6571_6693",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4265 "Created table: tbl6693\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4266 "Inserting rows. 3 rows inserted\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4267 "Script size is 83256\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4268 "First test repeat 10 times. Iteration: 1 2 3 4 5 6 7 8 9 10 \n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4269 "Completed first test\n" +
469
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
4270 "Second test repeat 10 times. Iteration: 1 2 3 4 5 6 7 8 9 10 \n" +
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4271 "Completed second test\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4272 "Script size is 3012\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4273 "Third test repeat 9 times.\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4274 "Iteration: 1 2 3 4 5 6 7 8 9 \n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4275 "Completed third test\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4276 "Cleaned up TABLE tbl6693\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4277 "Test completed without hanging\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4278 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4279
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4280 private void run_tests(String conURL, String tbl_nm, int iterations, String largedata) throws SQLException {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4281 String script =
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4282 "delete from " + tbl_nm + " where attribute='activeset_default_fiets';\n"
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4283 + "insert into " + tbl_nm + " values ('activeset_default_fiets', '" + largedata + "');\n"
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4284 + "insert into " + tbl_nm + " values ('activeset_default_fiets', '" + largedata + "');\n"
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4285 + "insert into " + tbl_nm + " values ('activeset_default_fiets', '" + largedata + "');\n"
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4286 + "select value from " + tbl_nm + " where attribute='activeset_default_fiets';\n";
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4287 sb.append("Script size is " + script.length()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4288
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4289 // first try to make the execution hang after many iterations of sending large data queries within one connection
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4290 sb.append("First test repeat " + iterations + " times. ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4291 try (Connection con = DriverManager.getConnection(conURL)) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4292 sb.append("Iteration: ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4293 for (int i = 1; i <= iterations; i++) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4294 sb.append(i).append(" ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4295 try (Statement stmt = con.createStatement()) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4296 process_script(stmt, script, 1, 3, 6);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4297 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4298 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4299 sb.append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4300 }
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4301 sb.append("Completed first test\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4302
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4303 // also try to make the execution hang after many iterations of making connections (each their own socket) and sending large scripts
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4304 sb.append("Second test repeat " + iterations + " times. ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4305 sb.append("Iteration: ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4306 for (int i = 1; i <= iterations; i++) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4307 try (Connection con = DriverManager.getConnection(conURL)) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4308 sb.append(i).append(" ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4309 try (Statement stmt = con.createStatement()) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4310 process_script(stmt, script, 1, 3, 6);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4311 process_script(stmt, script, 1, 3, 6);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4312 process_script(stmt, script, 1, 3, 6);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4313 process_script(stmt, script, 1, 3, 6);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4314 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4315 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4316 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4317 sb.append("\n");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4318 sb.append("Completed second test\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4319
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4320 // next try to make the execution hang by sending very many queries combined in 1 large script
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4321 final int queries = 260;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4322 StringBuilder qry = new StringBuilder(queries * 13);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4323 for (int i = 1; i <= queries; i++)
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4324 qry.append(" SELECT ").append(i).append(';');
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4325 script = qry.toString();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4326 sb.append("Script size is " + script.length()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4327 iterations = 9;
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4328 sb.append("Third test repeat " + iterations + " times.\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4329 try (Connection con = DriverManager.getConnection(conURL)) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4330 sb.append("Iteration: ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4331 for (int i = 1; i <= iterations; i++) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4332 sb.append(i).append(" ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4333 try (Statement stmt = con.createStatement()) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4334 process_script(stmt, script, queries, queries, 0);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4335 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4336 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4337 sb.append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4338 }
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4339 sb.append("Completed third test\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4340 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4341
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4342 private void process_script(Statement stmt, String script,
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4343 int expectedResults, int expectedTotalRows, int expectedUpdates) throws SQLException {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4344 int results = 0;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4345 int rows = 0;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4346 int updates = 0;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4347 stmt.execute(script);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4348 do {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4349 ResultSet rs = stmt.getResultSet();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4350 if (rs != null) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4351 results++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4352 while(rs.next()) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4353 String val = rs.getString(1);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4354 rows++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4355 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4356 rs.close();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4357 } else {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4358 int uc = stmt.getUpdateCount();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4359 if (uc > 0)
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4360 updates += uc;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4361 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4362 } while (stmt.getMoreResults() || stmt.getUpdateCount() != -1);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4363
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4364 /* verify nr of processed resultsets and retrieved rows are as expected */
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4365 if (results != expectedResults)
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4366 sb.append(results + "!=" + expectedResults + " ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4367 if (rows != expectedTotalRows)
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4368 sb.append(rows + "!=" + expectedTotalRows + " ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4369 if (updates != expectedUpdates)
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4370 sb.append(updates + "!=" + expectedUpdates + " ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4371 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4372
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4373 private void Bug_PrepStmtSetObject_CLOB_6349() {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4374 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4375
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4376 Statement stmt = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4377 PreparedStatement pstmt = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4378 ResultSet rs = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4379 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4380 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4381 stmt = con.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4382 stmt.executeUpdate("CREATE TABLE PrepStmtSetObject_CLOB (myint INT, myvarchar VARCHAR(15), myclob CLOB)");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4383 stmt.executeUpdate("INSERT INTO PrepStmtSetObject_CLOB VALUES (123, 'A string', 'A longer string')");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4384 stmt.executeUpdate("INSERT INTO PrepStmtSetObject_CLOB VALUES (NULL, NULL, NULL)"); // all NULLs
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4385
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4386 pstmt = con.prepareStatement("SELECT myclob, myvarchar, myint FROM PrepStmtSetObject_CLOB WHERE myclob = ?");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4387 ParameterMetaData pmd = pstmt.getParameterMetaData();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4388 sb.append("Prepared Query has ").append(pmd.getParameterCount()).append(" parameters. Type of first is: ").append(pmd.getParameterTypeName(1)).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4389 ResultSetMetaData rsmd = pstmt.getMetaData();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4390 sb.append("Prepared Query has ").append(rsmd.getColumnCount()).append(" columns. Type of first is: ").append(rsmd.getColumnTypeName(1)).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4391
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4392 pstmt.setObject(1, "A longer string");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4393 rs = pstmt.executeQuery();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4394 rsmd = rs.getMetaData();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4395 sb.append("Query ResultSet has ").append(rsmd.getColumnCount()).append(" columns. Type of first is: ").append(rsmd.getColumnTypeName(1)).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4396
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4397 boolean has_row = rs.next();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4398 boolean has_rows = rs.next();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4399 if (has_row == false || has_rows == true)
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4400 sb.append("Fetching Query ResultSet failed\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4401 } catch (SQLException se) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4402 sb.append(se.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4403 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4404
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4405 // cleanup
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4406 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4407 stmt.executeUpdate("DROP TABLE PrepStmtSetObject_CLOB");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4408 sb.append("Table dropped\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4409 } catch (SQLException se) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4410 sb.append(se.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4411 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4412 closeStmtResSet(stmt, null);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4413 closeStmtResSet(pstmt, rs);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4414
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4415 compareExpectedOutput("Bug_PrepStmtSetObject_CLOB_6349",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4416 "0. true true\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4417 "Prepared Query has 1 parameters. Type of first is: clob\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4418 "Prepared Query has 3 columns. Type of first is: clob\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4419 "Query ResultSet has 3 columns. Type of first is: clob\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4420 "Table dropped\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4421 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4422
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4423 private void Bug_PrepStmtSetString_6382() {
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4424 sb.setLength(0); // clear the output log buffer
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4425
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4426 Statement stmt = null;
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4427 PreparedStatement pstmt = null;
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4428 ResultSet rs = null;
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4429 final String tableName = "PrepStmtSetString_6382";
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4430 try {
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4431 // >> true: auto commit should be on by default
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4432 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4433
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4434 stmt = con.createStatement();
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4435 sb.append("1. Creating table ").append(tableName);
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4436 if (stmt.executeUpdate("CREATE TABLE " + tableName + " (myint INT, myvarchar VARCHAR(15), myjson JSON, myuuid UUID, myurl URL, myinet INET)") != Statement.SUCCESS_NO_INFO)
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4437 sb.append("Wrong return status\n");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4438
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4439 sb.append("\n2. Insert row 1, ");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4440 stmt.executeUpdate("INSERT INTO " + tableName + " VALUES (1, 'row 1', '{}', uuid '34c8deb5-e608-406b-beda-6a951f73d455', 'https://www.monetdb.org/', '128.0.0.1')");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4441 sb.append("2, ");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4442 stmt.executeUpdate("INSERT INTO " + tableName + " VALUES (2, 'row 2', '[]', NULL, NULL, NULL)");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4443 sb.append("3, ");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4444 stmt.executeUpdate("INSERT INTO " + tableName + " VALUES (3, 'row 3', '\"abc\"', NULL, NULL, NULL)");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4445 sb.append("4, ");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4446 stmt.executeUpdate("INSERT INTO " + tableName + " VALUES (4, 'row 4', 'true', NULL, NULL, NULL)");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4447 sb.append("5\n");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4448 stmt.executeUpdate("INSERT INTO " + tableName + " VALUES (5, 'row 5', '-0.123', NULL, NULL, NULL)");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4449
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4450 sb.append("Creating a prepared statement with 6 parameters and inserting rows using setInt(), setString(), setNull(), setNString(), setURL(), setObject().\n");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4451 pstmt = con.prepareStatement("INSERT INTO " + tableName + " VALUES (?,?, ? ,?,? , ?)");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4452 ParameterMetaData pmd = pstmt.getParameterMetaData();
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4453 int pcount = pmd.getParameterCount();
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4454 sb.append("Prepared Statement has ").append(pcount).append(" parameters:").append((pcount != 6 ? " ERROR: Expected 6 parameters!" : "")).append("\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4455 for (int p = 1; p <= pcount; p++) {
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4456 sb.append(" Parameter ").append(p).append(" type is: ").append(pmd.getParameterTypeName(p)).append(". JDBC SQL type: ").append(pmd.getParameterType(p)).append("\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4457 }
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4458
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4459 int row = 6;
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4460 pstmt.setInt(1, row);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4461 pstmt.setString(2, "row " + row);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4462 pstmt.setString(3, "{\"menu\": {\n \"id\": \"file\",\n \"value\": \"File\",\n \"popup\": {\n \"menuitem\": [\n {\"value\": \"New\", \"onclick\": \"CreateNewDoc()\"},\n {\"value\": \"Open\", \"onclick\": \"OpenDoc()\"},\n {\"value\": \"Close\", \"onclick\": \"CloseDoc()\"}\n ]\n }\n}}");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4463 pstmt.setNull(4, 0);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4464 pstmt.setNull(5, 0);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4465 pstmt.setNull(6, 0);
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4466 sb.append("Inserting row ").append(row).append("\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4467 int inserted = pstmt.executeUpdate();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4468 sb.append("Inserted ").append(inserted).append(" row\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4469
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4470 row++; // row 7
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4471 pstmt.setShort(1, (short)row);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4472 pstmt.setNString(2, "row " + row);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4473 pstmt.setNull(3, 0);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4474 pstmt.setString(4, "4a148b7d-8d47-4e1e-a21e-09a71abf2215");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4475 sb.append("Inserting row ").append(row).append("\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4476 inserted = pstmt.executeUpdate();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4477 sb.append("Inserted ").append(inserted).append(" row\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4478
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4479 row++; // row 8
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4480 pstmt.setLong(1, (long)row);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4481 pstmt.setString(2, "row " + row);
494
56f24eb8ca43 Use valid json
Pedro Ferreira <pedro.ferreira@monetdbsolutions.com>
parents: 488
diff changeset
4482 pstmt.setObject(3, "[3.1415E-06]");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4483 pstmt.setNull(4, 0);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4484 try {
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4485 pstmt.setURL(5, new java.net.URL("https://www.cwi.nl/"));
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4486 } catch (java.net.MalformedURLException mfe) {
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4487 sb.append(mfe).append("\n");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4488 }
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4489 sb.append("Inserting row ").append(row).append("\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4490 inserted = pstmt.executeUpdate();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4491 sb.append("Inserted ").append(inserted).append(" row\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4492
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4493 row++; // row 9
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4494 pstmt.setBigDecimal(1, new java.math.BigDecimal(row));
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4495 pstmt.setNString(2, "row " + row);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4496 pstmt.setNull(5, 0);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4497 pstmt.setString(6, "127.255.255.255");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4498 sb.append("Inserting row ").append(row).append("\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4499 inserted = pstmt.executeUpdate();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4500 sb.append("Inserted ").append(inserted).append(" row\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4501
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4502 /* also test generic setObject(int, String) */
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4503 row++; // row 10
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4504 pstmt.setObject(1, Integer.valueOf(row));
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4505 pstmt.setObject(2, "row " + row);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4506 pstmt.setObject(3, "[{\"menu\": {\n \"header\": \"SVG Viewer\",\n \"items\": [\n {\"id\": \"Open\"},\n {\"id\": \"OpenNew\", \"label\": \"Open New\"},\n null,\n {\"id\": \"ZoomIn\", \"label\": \"Zoom In\"},\n {\"id\": \"ZoomOut\", \"label\": \"Zoom Out\"},\n {\"id\": \"OriginalView\", \"label\": \"Original View\"},\n null,\n {\"id\": \"Quality\"},\n {\"id\": \"Pause\"},\n {\"id\": \"Mute\"},\n null,\n {\"id\": \"Help\"},\n {\"id\": \"About\", \"label\": \"About Adobe CVG Viewer...\"}\n ]\n}}]");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4507 pstmt.setObject(4, "b39dc76e-4faf-4fd9-bc1e-17df48acf764");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4508 pstmt.setObject(5, "https://en.wikipedia.org/wiki/IP_address");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4509 pstmt.setObject(6, "223.255.255.255");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4510 sb.append("Inserting row ").append(row).append("\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4511 inserted = pstmt.executeUpdate();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4512 sb.append("Inserted ").append(inserted).append(" row\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4513
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4514 row++; // row 11
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4515 pstmt.setObject(1, new java.math.BigDecimal(row));
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4516 pstmt.setObject(2, "row " + row);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4517 pstmt.setObject(3, "null");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4518 pstmt.setObject(4, java.util.UUID.fromString("ff125769-b63c-4c3c-859f-5b84a9349e24"));
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4519 URL myURL = new URL();
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4520 try {
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4521 myURL.fromString("https://en.wikipedia.org/wiki/IP_address");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4522 pstmt.setObject(5, myURL);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4523 } catch (Exception mfe) {
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4524 sb.append(mfe).append("\n");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4525 }
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4526 INET myINET = new INET();
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4527 myINET.fromString("223.234.245.255");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4528 pstmt.setObject(6, myINET);
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4529 sb.append("Inserting row ").append(row).append("\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4530 inserted = pstmt.executeUpdate();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4531 sb.append("Inserted ").append(inserted).append(" row\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4532
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4533 sb.append("List contents of TABLE ").append(tableName).append(" after ").append(row).append(" rows inserted\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4534 rs = stmt.executeQuery("SELECT * FROM " + tableName + " ORDER BY 1");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4535 ResultSetMetaData rsmd = rs.getMetaData();
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4536 int colcount = rsmd.getColumnCount();
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4537 sb.append("Query has ").append(colcount).append(" output columns.").append((colcount != 6 ? " ERROR: Expected 6 columns!" : "")).append("\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4538 row = 0;
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4539 while (rs.next()) {
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4540 sb.append("row ").append(++row);
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4541 for (int c = 1; c <= colcount; c++) {
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4542 sb.append("\t").append(rs.getString(c));
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4543 }
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4544 sb.append("\n");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4545 }
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4546 } catch (SQLException e) {
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4547 sb.append("FAILED: ").append(e.getMessage()).append("\n");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4548 }
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4549
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4550 try {
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4551 sb.append("Cleanup TABLE ").append(tableName).append("\n");
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4552 stmt.executeUpdate("DROP TABLE " + tableName);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4553 } catch (SQLException e) {
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4554 sb.append("FAILED: ").append(e.getMessage()).append("\n");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4555 }
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4556
437
1333c19b0c1b include missing )
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 436
diff changeset
4557 closeStmtResSet(stmt, rs);
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4558 closeStmtResSet(pstmt, null);
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4559
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4560 compareExpectedOutput("Bug_PrepStmtSetString_6382",
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4561 "0. true true\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4562 "1. Creating table PrepStmtSetString_6382\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4563 "2. Insert row 1, 2, 3, 4, 5\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4564 "Creating a prepared statement with 6 parameters and inserting rows using setInt(), setString(), setNull(), setNString(), setURL(), setObject().\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4565 "Prepared Statement has 6 parameters:\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4566 " Parameter 1 type is: int. JDBC SQL type: 4\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4567 " Parameter 2 type is: varchar. JDBC SQL type: 12\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4568 " Parameter 3 type is: json. JDBC SQL type: 12\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4569 " Parameter 4 type is: uuid. JDBC SQL type: 12\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4570 " Parameter 5 type is: url. JDBC SQL type: 12\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4571 " Parameter 6 type is: inet. JDBC SQL type: 12\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4572 "Inserting row 6\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4573 "Inserted 1 row\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4574 "Inserting row 7\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4575 "Inserted 1 row\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4576 "Inserting row 8\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4577 "Inserted 1 row\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4578 "Inserting row 9\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4579 "Inserted 1 row\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4580 "Inserting row 10\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4581 "Inserted 1 row\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4582 "Inserting row 11\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4583 "Inserted 1 row\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4584 "List contents of TABLE PrepStmtSetString_6382 after 11 rows inserted\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4585 "Query has 6 output columns.\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4586 "row 1 1 row 1 {} 34c8deb5-e608-406b-beda-6a951f73d455 https://www.monetdb.org/ 128.0.0.1\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4587 "row 2 2 row 2 [] null null null\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4588 "row 3 3 row 3 \"abc\" null null null\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4589 "row 4 4 row 4 true null null null\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4590 "row 5 5 row 5 -0.123 null null null\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4591 "row 6 6 row 6 {\"menu\": {\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4592 " \"id\": \"file\",\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4593 " \"value\": \"File\",\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4594 " \"popup\": {\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4595 " \"menuitem\": [\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4596 " {\"value\": \"New\", \"onclick\": \"CreateNewDoc()\"},\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4597 " {\"value\": \"Open\", \"onclick\": \"OpenDoc()\"},\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4598 " {\"value\": \"Close\", \"onclick\": \"CloseDoc()\"}\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4599 " ]\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4600 " }\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4601 "}} null null null\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4602 "row 7 7 row 7 null 4a148b7d-8d47-4e1e-a21e-09a71abf2215 null null\n" +
494
56f24eb8ca43 Use valid json
Pedro Ferreira <pedro.ferreira@monetdbsolutions.com>
parents: 488
diff changeset
4603 "row 8 8 row 8 [3.1415E-06] null https://www.cwi.nl/ null\n" +
56f24eb8ca43 Use valid json
Pedro Ferreira <pedro.ferreira@monetdbsolutions.com>
parents: 488
diff changeset
4604 "row 9 9 row 9 [3.1415E-06] null null 127.255.255.255\n" +
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4605 "row 10 10 row 10 [{\"menu\": {\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4606 " \"header\": \"SVG Viewer\",\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4607 " \"items\": [\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4608 " {\"id\": \"Open\"},\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4609 " {\"id\": \"OpenNew\", \"label\": \"Open New\"},\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4610 " null,\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4611 " {\"id\": \"ZoomIn\", \"label\": \"Zoom In\"},\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4612 " {\"id\": \"ZoomOut\", \"label\": \"Zoom Out\"},\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4613 " {\"id\": \"OriginalView\", \"label\": \"Original View\"},\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4614 " null,\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4615 " {\"id\": \"Quality\"},\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4616 " {\"id\": \"Pause\"},\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4617 " {\"id\": \"Mute\"},\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4618 " null,\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4619 " {\"id\": \"Help\"},\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4620 " {\"id\": \"About\", \"label\": \"About Adobe CVG Viewer...\"}\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4621 " ]\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4622 "}}] b39dc76e-4faf-4fd9-bc1e-17df48acf764 https://en.wikipedia.org/wiki/IP_address 223.255.255.255\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4623 "row 11 11 row 11 null ff125769-b63c-4c3c-859f-5b84a9349e24 https://en.wikipedia.org/wiki/IP_address 223.234.245.255\n" +
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4624 "Cleanup TABLE PrepStmtSetString_6382\n");
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4625 }
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
4626
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4627 private void Bug_PrepStmt_With_Errors_Jira292() {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4628 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4629
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4630 Statement stmt = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4631 PreparedStatement pstmt = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4632 ResultSet rs = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4633 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4634 sb.append("0. true\t").append(con.getAutoCommit()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4635 con.setNetworkTimeout(null, (10 *1000));
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4636
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4637 stmt = con.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4638 stmt.executeUpdate("drop table if exists abacus;");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4639 stmt.executeUpdate("create table abacus ( \"'Zeitachse'\" date,\"'Abo_ID'\" int,\"'description'\" varchar(256),\"'Klassierungs-Typ'\" clob,\"'KlassierungApplikation'\" clob,\"'EP Netto'\" decimal,\"'Nettoumsatz'\" decimal,\"'validfrom'\" date,\"'validuntil'\" date,\"'Abo_aufgeschaltet'\" int,\"'Abo_deaktiviert'\" int,\"'Differenz'\" decimal,\"'User_ID'\" int,\"'UserName'\" varchar(256),\"'client'\" varchar(256),\"'Installations_ID'\" int,\"'InstallationsName'\" varchar(256),\"'Installationsprovider_ID'\" int,\"'InstallationsproviderName'\" varchar(256),\"'INR'\" bigint,\"'NAME'\" varchar(256),\"'PLZ'\" varchar(256),\"'ORT'\" varchar(256),\"'STAAT'\" varchar(256),\"'Reseller_ID'\" int,\"'ResellerName'\" varchar(256),\"'ET_ABO'\" clob,\"'UserName_1'\" varchar(256),\"'Anzahl_Abos'\" decimal,\"'Anzahl_User'\" decimal,\"'Jahr'\" decimal,\"'Monat'\" decimal,\"'Jahr_Monat'\" clob,\"'IFJ'\" clob,\"'RECNUM$'\" int,\"'InlineCalc_Year_Zeitachse'\" int);");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4640 stmt.executeUpdate("insert into abacus values ('2019-10-30',2239,'description','Klassierungs-Typ','Klassierung-Applikation',73.28,68.29,'2018-01-01','2018-12-01',563,63,56.3,852,'UserName','client',134,'InstallationsName',892,'InstallationsproviderName',9348,'NAME','PLZ','ORT','STAAT',934,'ResellerName','ET_ABO','UserName_1',849.2739,1742.718,395.824,39.824,'Jahr_Monat','IFJ',395824,3789);");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4641
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4642 sb.append("1. table created and inserted 1 row\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4643
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4644 String qry = "SELECT \"'ResellerName'\" FROM abacus WHERE ( ( (\"'InstallationsproviderName'\"='Bienz Pius Treuhand- und Revisions AG')) AND ( (\"'validuntil'\"='2018-01-01' AND \"'description'\"='ABEA 2' AND (EXTRACT(YEAR FROM \"'Zeitachse'\")*100 + EXTRACT(MONTH FROM \"'Zeitachse'\"))/100.0='2019.010' AND \"'UserName'\"='AL - Astrid Lincke (Delphys)' AND \"'validfrom'\"='2016-12-01')) AND ( (\"'IFJ'\"='ohne IFJ')) AND ( (\"'InlineCalc_Year_Zeitachse'\"='2019'))) GROUP BY \"'ResellerName'\" LIMIT 1001 OFFSET 0;";
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4645 try {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4646 sb.append("2. before select query execution\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4647 rs = stmt.executeQuery(qry);
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4648 sb.append("2a. select query executed\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4649 if (rs != null) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4650 if (rs.next()) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4651 sb.append("2b. select query returned: " + rs.getString(1)).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4652 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4653 rs.close();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4654 rs = null;
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4655 sb.append("2c. closed select query resultset\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4656 }
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4657 sb.append("2d. normal end of select query\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4658 } catch (SQLException se) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4659 sb.append("select query Exception: "+ se.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4660 while ((se = se.getNextException()) != null)
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4661 sb.append("next Exception: "+ se.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4662 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4663
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4664 try {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4665 sb.append("3. before creating a prepared select query\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4666 pstmt = con.prepareStatement(qry);
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4667 sb.append("3a. prepared select query\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4668
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4669 ParameterMetaData pmd = pstmt.getParameterMetaData();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4670 sb.append("3b. Prepared Query has " + pmd.getParameterCount() + " parameters."); // "Type of first is: " + pmd.getParameterTypeName(1)).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4671 ResultSetMetaData rsmd = pstmt.getMetaData();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4672 sb.append("3c. Prepared Query has " + rsmd.getColumnCount() + " columns. Type of first is: " + rsmd.getColumnTypeName(1)).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4673
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4674 sb.append("3d. before executing the prepared select query\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4675 rs = pstmt.executeQuery();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4676 sb.append("3e. prepared select query executed\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4677 if (rs != null) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4678 rsmd = rs.getMetaData();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4679 sb.append("3f. prepared Query ResultSet has " + rsmd.getColumnCount() + " columns. Type of first is: " + rsmd.getColumnTypeName(1)).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4680
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4681 if (rs.next()) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4682 sb.append("3g. prepared select query returned: " + rs.getString(1)).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4683 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4684 rs.close();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4685 rs = null;
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4686 sb.append("3h. closed prepared select query resultset\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4687 }
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4688 sb.append("3i. normal end of prepared select query\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4689 } catch (SQLException se) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4690 sb.append("prepared select query Exception: "+ se.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4691 while ((se = se.getNextException()) != null)
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4692 sb.append("next Exception: "+ se.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4693 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4694 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4695 sb.append("FAILED: ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4696 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4697
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4698 try {
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4699 sb.append("4. drop table\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4700 stmt.executeUpdate("drop table abacus");
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4701 sb.append("5. normal end of test\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4702 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4703 sb.append("FAILED: ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4704 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4705
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4706 closeStmtResSet(pstmt, rs);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4707 closeStmtResSet(stmt, null);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4708
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4709 compareExpectedOutput("Bug_PrepStmt_With_Errors_Jira292",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4710 "0. true true\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4711 "1. table created and inserted 1 row\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4712 "2. before select query execution\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4713 "2a. select query executed\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4714 "2c. closed select query resultset\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4715 "2d. normal end of select query\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4716 "3. before creating a prepared select query\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4717 "3a. prepared select query\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4718 "3b. Prepared Query has 0 parameters.3c. Prepared Query has 1 columns. Type of first is: varchar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4719 "3d. before executing the prepared select query\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4720 "3e. prepared select query executed\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4721 "3f. prepared Query ResultSet has 1 columns. Type of first is: varchar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4722 "3h. closed prepared select query resultset\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4723 "3i. normal end of prepared select query\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4724 "4. drop table\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4725 "5. normal end of test\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4726 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4727
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4728 private void BugResultSetMetaData_Bug_6183() {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4729 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4730
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4731 final String dqTblName = "\"my dq_table\"";
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4732 final String[] dqColNames = { "\"my space\"", "\"my, comma_space\"", "\"my$dollar\"", "\"my#hash\"", "\"my tab\""
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4733 , "\"my ,tab_comma\"", "\"my, comma_tab\"", "\"my\"\"double_doublequote\"", "\"Abc\"", "\" \"", "\"123\"" };
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4734 Statement stmt = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4735 ResultSet rs = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4736 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4737 StringBuilder ctsb = new StringBuilder(30 + (dqColNames.length * (30 + 15)));
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4738 ctsb.append("CREATE TABLE ").append(dqTblName).append(" (");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4739 for (int n = 0; n < dqColNames.length; n++) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4740 ctsb.append(dqColNames[n]);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4741 ctsb.append(" varchar(").append(31 + n).append(')');
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4742 if (n < (dqColNames.length -1))
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4743 ctsb.append(", ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4744 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4745 ctsb.append(')');
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4746
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4747 stmt = con.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4748 sb.append("1. create table ").append(dqTblName).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4749 int ret = stmt.executeUpdate(ctsb.toString());
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4750 if (ret != -2)
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4751 sb.append(" returned: ").append(ret).append(" (expected -2)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4752
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4753 String tblName = dqTblName.substring(1, dqTblName.length() -1); // trim the leading and trailing double quote characters
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4754 sb.append("2. show column names of this new table (").append(tblName).append(") via sys.columns query\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4755 rs = stmt.executeQuery("SELECT number, name, type from sys.columns where table_id in (select id from sys._tables where name = '" + tblName + "') order by number");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4756 showResultAndClose_6183(rs);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4757
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4758 sb.append("3. insert 1 row of data with values same as column names\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4759 ctsb.setLength(0);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4760 ctsb.append("INSERT INTO ").append(dqTblName).append(" VALUES (");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4761 for (int n = 0; n < dqColNames.length; n++) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4762 ctsb.append('\'');
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4763 ctsb.append(dqColNames[n]);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4764 ctsb.append('\'');
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4765 if (n < (dqColNames.length -1))
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4766 ctsb.append(", ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4767 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4768 ctsb.append(')');
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4769 ret = stmt.executeUpdate(ctsb.toString());
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4770 if (ret != 1)
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4771 sb.append(" returned: ").append(ret).append(" (expected 1)\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4772
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4773 sb.append("4. insert 1 row of data with values same as column names but without enclosing double quotes\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4774 ctsb.setLength(0);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4775 ctsb.append("INSERT INTO ").append(dqTblName).append(" VALUES (");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4776 for (int n = 0; n < dqColNames.length; n++) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4777 ctsb.append('\'');
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4778 // remove enclosing double quotes
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4779 ctsb.append(dqColNames[n].substring(1, dqColNames[n].length() -1));
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4780 ctsb.append('\'');
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4781 if (n < (dqColNames.length -1))
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4782 ctsb.append(", ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4783 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4784 ctsb.append(')');
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4785 ret = stmt.executeUpdate(ctsb.toString());
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4786 if (ret != 1)
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4787 sb.append(" returned: ").append(ret).append(" (expected 1)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4788
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4789 compareExpectedOutput("BugResultSetMetaData_Bug_6183",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4790 "1. create table \"my dq_table\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4791 "2. show column names of this new table (my dq_table) via sys.columns query\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4792 "Resultset with 3 columns\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4793 " Column Name, Column Label:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4794 "1 number number\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4795 "2 name name\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4796 "3 type type\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4797 "Data rows:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4798 "0 my space varchar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4799 "1 my, comma_space varchar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4800 "2 my$dollar varchar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4801 "3 my#hash varchar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4802 "4 my tab varchar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4803 "5 my ,tab_comma varchar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4804 "6 my, comma_tab varchar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4805 "7 my\"double_doublequote varchar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4806 "8 Abc varchar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4807 "9 varchar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4808 "10 123 varchar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4809 "Listed 11 rows\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4810 "3. insert 1 row of data with values same as column names\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4811 "4. insert 1 row of data with values same as column names but without enclosing double quotes\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4812 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4813
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4814 // query each column separately
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4815 int n = 0;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4816 executeQueryAndShowResult_6183(stmt, dqTblName, dqColNames[n], 5 + n);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4817 compareExpectedOutput("BugResultSetMetaData_Bug_6183",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4818 "5. show content of column(s): \"my space\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4819 "Resultset with 1 columns\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4820 " Column Name, Column Label:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4821 "1 my space my space\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4822 "Data rows:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4823 "\"my space\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4824 "my space\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4825 "Listed 2 rows\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4826 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4827 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4828 executeQueryAndShowResult_6183(stmt, dqTblName, dqColNames[n], 5 + n);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4829 compareExpectedOutput("BugResultSetMetaData_Bug_6183",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4830 "6. show content of column(s): \"my, comma_space\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4831 "Resultset with 1 columns\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4832 " Column Name, Column Label:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4833 "1 my, comma_space my, comma_space\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4834 "Data rows:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4835 "\"my, comma_space\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4836 "my, comma_space\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4837 "Listed 2 rows\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4838 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4839 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4840 executeQueryAndShowResult_6183(stmt, dqTblName, dqColNames[n], 5 + n);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4841 compareExpectedOutput("BugResultSetMetaData_Bug_6183",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4842 "7. show content of column(s): \"my$dollar\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4843 "Resultset with 1 columns\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4844 " Column Name, Column Label:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4845 "1 my$dollar my$dollar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4846 "Data rows:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4847 "\"my$dollar\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4848 "my$dollar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4849 "Listed 2 rows\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4850 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4851 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4852 executeQueryAndShowResult_6183(stmt, dqTblName, dqColNames[n], 5 + n);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4853 compareExpectedOutput("BugResultSetMetaData_Bug_6183",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4854 "8. show content of column(s): \"my#hash\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4855 "Resultset with 1 columns\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4856 " Column Name, Column Label:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4857 "1 my#hash my#hash\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4858 "Data rows:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4859 "\"my#hash\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4860 "my#hash\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4861 "Listed 2 rows\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4862 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4863 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4864 executeQueryAndShowResult_6183(stmt, dqTblName, dqColNames[n], 5 + n);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4865 compareExpectedOutput("BugResultSetMetaData_Bug_6183",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4866 "9. show content of column(s): \"my tab\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4867 "Resultset with 1 columns\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4868 " Column Name, Column Label:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4869 "1 my tab my tab\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4870 "Data rows:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4871 "\"my tab\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4872 "my tab\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4873 "Listed 2 rows\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4874 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4875 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4876 executeQueryAndShowResult_6183(stmt, dqTblName, dqColNames[n], 5 + n);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4877 compareExpectedOutput("BugResultSetMetaData_Bug_6183",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4878 "10. show content of column(s): \"my ,tab_comma\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4879 "Resultset with 1 columns\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4880 " Column Name, Column Label:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4881 "1 my ,tab_comma my ,tab_comma\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4882 "Data rows:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4883 "\"my ,tab_comma\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4884 "my ,tab_comma\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4885 "Listed 2 rows\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4886 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4887 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4888 executeQueryAndShowResult_6183(stmt, dqTblName, dqColNames[n], 5 + n);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4889 compareExpectedOutput("BugResultSetMetaData_Bug_6183",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4890 "11. show content of column(s): \"my, comma_tab\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4891 "Resultset with 1 columns\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4892 " Column Name, Column Label:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4893 "1 my, comma_tab my, comma_tab\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4894 "Data rows:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4895 "\"my, comma_tab\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4896 "my, comma_tab\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4897 "Listed 2 rows\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4898 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4899 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4900 executeQueryAndShowResult_6183(stmt, dqTblName, dqColNames[n], 5 + n);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4901 compareExpectedOutput("BugResultSetMetaData_Bug_6183",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4902 "12. show content of column(s): \"my\"\"double_doublequote\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4903 "Resultset with 1 columns\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4904 " Column Name, Column Label:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4905 "1 my\\\"double_doublequote my\\\"double_doublequote\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4906 "Data rows:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4907 "\"my\"\"double_doublequote\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4908 "my\"\"double_doublequote\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4909 "Listed 2 rows\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4910 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4911 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4912 executeQueryAndShowResult_6183(stmt, dqTblName, dqColNames[n], 5 + n);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4913 compareExpectedOutput("BugResultSetMetaData_Bug_6183",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4914 "13. show content of column(s): \"Abc\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4915 "Resultset with 1 columns\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4916 " Column Name, Column Label:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4917 "1 Abc Abc\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4918 "Data rows:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4919 "\"Abc\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4920 "Abc\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4921 "Listed 2 rows\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4922 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4923 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4924 executeQueryAndShowResult_6183(stmt, dqTblName, dqColNames[n], 5 + n);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4925 compareExpectedOutput("BugResultSetMetaData_Bug_6183",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4926 "14. show content of column(s): \" \"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4927 "Resultset with 1 columns\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4928 " Column Name, Column Label:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4929 "1 \n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4930 "Data rows:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4931 "\" \"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4932 " \n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4933 "Listed 2 rows\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4934 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4935 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4936 executeQueryAndShowResult_6183(stmt, dqTblName, dqColNames[n], 5 + n);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4937 compareExpectedOutput("BugResultSetMetaData_Bug_6183",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4938 "15. show content of column(s): \"123\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4939 "Resultset with 1 columns\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4940 " Column Name, Column Label:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4941 "1 123 123\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4942 "Data rows:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4943 "\"123\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4944 "123\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4945 "Listed 2 rows\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4946 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4947
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4948 // query all columns
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4949 executeQueryAndShowResult_6183(stmt, dqTblName, "*", 5 + dqColNames.length);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4950 compareExpectedOutput("BugResultSetMetaData_Bug_6183",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4951 "16. show content of column(s): *\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4952 "Resultset with 11 columns\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4953 " Column Name, Column Label:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4954 "1 my space my space\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4955 "2 my, comma_space my, comma_space\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4956 "3 my$dollar my$dollar\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4957 "4 my#hash my#hash\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4958 "5 my tab my tab\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4959 "6 my ,tab_comma my ,tab_comma\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4960 "7 my, comma_tab my, comma_tab\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4961 "8 my\\\"double_doublequote my\\\"double_doublequote\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4962 "9 Abc Abc\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4963 "10 \n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4964 "11 123 123\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4965 "Data rows:\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4966 "\"my space\" \"my, comma_space\" \"my$dollar\" \"my#hash\" \"my tab\" \"my ,tab_comma\" \"my, comma_tab\" \"my\"\"double_doublequote\" \"Abc\" \" \" \"123\"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4967 "my space my, comma_space my$dollar my#hash my tab my ,tab_comma my, comma_tab my\"\"double_doublequote Abc 123\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4968 "Listed 2 rows\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4969 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4970 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4971 sb.append("FAILED: ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4972 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4973
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4974 // cleanup
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4975 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4976 sb.append("Finally drop table ").append(dqTblName).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4977 int ret = stmt.executeUpdate("DROP TABLE " + dqTblName);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4978 if (ret != -2)
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4979 sb.append(" returned: ").append(ret).append(" (expected -2)\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4980 } catch (SQLException e) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4981 sb.append("FAILED: ").append(e.getMessage()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4982 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4983
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4984 closeStmtResSet(stmt, rs);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4985
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4986 compareExpectedOutput("BugResultSetMetaData_Bug_6183",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4987 "Finally drop table \"my dq_table\"\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4988 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4989
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4990 private void executeQueryAndShowResult_6183(Statement st, String dqTblName, String col_list, int query_count) throws SQLException {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4991 sb.append(query_count).append(". show content of column(s): ").append(col_list).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4992 ResultSet rs = st.executeQuery("SELECT " + col_list + " from " + dqTblName);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4993 showResultAndClose_6183(rs);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4994 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4995
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4996 private void showResultAndClose_6183(ResultSet rs) throws SQLException {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4997 ResultSetMetaData rsmd = rs.getMetaData();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4998 int rs_col_count = rsmd.getColumnCount();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4999 sb.append("Resultset with ").append(rs_col_count).append(" columns\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5000 sb.append("\tColumn Name, Column Label:\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5001 for (int col = 1; col <= rs_col_count; col++) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5002 sb.append(col).append("\t").append(rsmd.getColumnName(col)).append("\t").append(rsmd.getColumnLabel(col)).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5003 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5004
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5005 sb.append("Data rows:\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5006 long row_count = 0;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5007 while (rs.next()) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5008 row_count++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5009 for (int col = 1; col <= rs_col_count; col++) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5010 if (col > 1)
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5011 sb.append("\t");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5012 sb.append(rs.getString(col));
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5013 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5014 sb.append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5015 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5016 rs.close();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5017 sb.append("Listed ").append(row_count).append(" rows\n");
446
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5018 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5019
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5020 private void BugSetQueryTimeout_Bug_3357() {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5021 sb.setLength(0); // clear the output log buffer
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5022
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5023 int originalQueryTimeout = 1;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5024 Statement st = null;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5025 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5026 st = con.createStatement();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5027 originalQueryTimeout = st.getQueryTimeout();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5028 sb.append("original getQueryTimeout = ").append(originalQueryTimeout).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5029
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5030 testTimeout_3357(st, 123);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5031 testTimeout_3357(st, 123456);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5032 testTimeout_3357(st, 2134567890);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5033 testTimeout_3357(st, 0);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5034 testTimeout_3357(st, 10);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5035 testTimeout_3357(st, -1); // to generate an SQLException as negative timeouts are invalid
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5036 } catch (SQLException se) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5037 sb.append("\n SQLException: setQueryTimeout(timeout_value) throws: ").append(se).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5038 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5039
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5040 // restore originalQueryTimeout
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5041 try {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5042 testTimeout_3357(st, originalQueryTimeout);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5043 } catch (SQLException se) {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5044 sb.append("setQueryTimeout(timeout_value) throws: ").append(se).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5045 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5046 closeStmtResSet(st, null);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5047
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5048 compareExpectedOutput("BugSetQueryTimeout_Bug_3357",
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5049 "original getQueryTimeout = 0\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5050 "setQueryTimeout = 123. getQueryTimeout = 123\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5051 "setQueryTimeout = 123456. getQueryTimeout = 123456\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5052 "setQueryTimeout = 2134567890. getQueryTimeout = 2134567890\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5053 "setQueryTimeout = 0. getQueryTimeout = 0\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5054 "setQueryTimeout = 10. getQueryTimeout = 10\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5055 "setQueryTimeout = -1. \n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5056 " SQLException: setQueryTimeout(timeout_value) throws: java.sql.SQLException: Illegal timeout value: -1\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5057 "setQueryTimeout = 0. getQueryTimeout = 0\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5058 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5059
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5060 private void testTimeout_3357(Statement st, int secs) throws SQLException {
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5061 sb.append("setQueryTimeout = ").append(secs).append(". ");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5062 st.setQueryTimeout(secs);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5063 // as the call to set the timeout is delayed till a statement is executed, issue a select statment
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5064 ResultSet rs = st.executeQuery("SELECT " + secs);
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5065 if (rs != null)
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5066 rs.close();
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5067 sb.append("getQueryTimeout = ").append(st.getQueryTimeout()).append("\n");
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5068 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5069
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5070 /**
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5071 * This SQLcopyinto program demonstrates how the MonetDB JDBC driver can facilitate
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5072 * in performing COPY INTO ... FROM STDIN sequences.
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5073 * It shows how a data stream via MapiSocket to STDIN can be performed.
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5074 *
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5075 * @author Fabian Groffen, Martin van Dinther
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5076 */
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5077 private void SQLcopyinto() {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5078 sb.setLength(0); // clear the output log buffer
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5079
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5080 final String tablenm = "exampleSQLCopyInto";
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5081 Statement stmt = null;
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5082 ResultSet rs = null;
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5083 try {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5084 stmt = con.createStatement();
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5085 stmt.execute("CREATE TABLE IF NOT EXISTS " + tablenm + " (id int, val varchar(24))");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5086
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5087 fillTableUsingCopyIntoSTDIN(tablenm);
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5088
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5089 // check content of the table populated via COPY INTO ... FROM STDIN
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5090 sb.append("Listing uploaded data:\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5091 int row = 0;
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5092 rs = stmt.executeQuery("SELECT * FROM " + tablenm);
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5093 if (rs != null) {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5094 while (rs.next()) {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5095 row++;
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5096 if ((row % 1000) == 0)
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5097 sb.append("Row data: ").append(rs.getString(1)).append(", ").append(rs.getString(2)).append("\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5098 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5099 rs.close();
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5100 rs = null;
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5101 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5102 } catch (SQLException se) {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5103 sb.append("SQLException: ").append(se.getMessage()).append("\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5104 } catch (Exception e) {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5105 sb.append("Exception: ").append(e.getMessage()).append("\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5106 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5107
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5108 // cleanup
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5109 try {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5110 stmt.execute("DROP TABLE " + tablenm);
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5111 sb.append("SQLcopyinto completed\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5112 } catch (SQLException se) {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5113 sb.append("SQLException: ").append(se.getMessage()).append("\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5114 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5115 closeStmtResSet(stmt, rs);
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5116
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5117 compareExpectedOutput("SQLcopyinto()",
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5118 "CopyInto STDIN begin\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5119 "Before connecting to MonetDB server via MapiSocket\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5120 "Connected to MonetDB server via MapiSocket\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5121 "Before sending data to STDIN\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5122 "Completed sending data via STDIN\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5123 "CopyInto STDIN end\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5124 "Listing uploaded data:\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5125 "Row data: 999, val_999\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5126 "Row data: 1999, val_1999\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5127 "Row data: 2999, val_2999\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5128 "Row data: 3999, val_3999\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5129 "Row data: 4999, val_4999\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5130 "Row data: 5999, val_5999\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5131 "Row data: 6999, val_6999\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5132 "Row data: 7999, val_7999\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5133 "Row data: 8999, val_8999\n" +
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5134 "SQLcopyinto completed\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5135 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5136
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5137 private void fillTableUsingCopyIntoSTDIN(String tablenm) throws Exception {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5138 sb.append("CopyInto STDIN begin\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5139
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5140 org.monetdb.mcl.net.MapiSocket server = new org.monetdb.mcl.net.MapiSocket();
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5141 try {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5142 server.setLanguage("sql");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5143
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5144 // extract from MonetConnection object the used connection properties
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5145 String host = con.getClientInfo("host");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5146 int port = Integer.parseInt(con.getClientInfo("port"));
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5147 String login = con.getClientInfo("user");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5148 String passw = con.getClientInfo("password");
586
ac5e97fc812d Make SQLcopyinto test work onder monetdbd
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents: 494
diff changeset
5149
ac5e97fc812d Make SQLcopyinto test work onder monetdbd
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents: 494
diff changeset
5150 String database = con.getClientInfo("database");
ac5e97fc812d Make SQLcopyinto test work onder monetdbd
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents: 494
diff changeset
5151 server.setDatabase(database);
ac5e97fc812d Make SQLcopyinto test work onder monetdbd
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents: 494
diff changeset
5152
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5153 // sb.append("host: " + host + " port: " + port + " login: " + login + " passwd: " + passw + "\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5154 sb.append("Before connecting to MonetDB server via MapiSocket\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5155 List<String> warning = server.connect(host, port, login, passw);
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5156 if (warning != null) {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5157 for (Iterator<String> it = warning.iterator(); it.hasNext(); ) {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5158 sb.append("Warning: ").append(it.next().toString()).append("\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5159 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5160 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5161 sb.append("Connected to MonetDB server via MapiSocket\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5162
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5163 org.monetdb.mcl.io.BufferedMCLReader mclIn = server.getReader();
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5164 org.monetdb.mcl.io.BufferedMCLWriter mclOut = server.getWriter();
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5165
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5166 String error = mclIn.waitForPrompt();
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5167 if (error != null)
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5168 sb.append("Received start error: ").append(error).append("\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5169
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5170 sb.append("Before sending data to STDIN\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5171
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5172 // the leading 's' is essential, since it is a protocol marker
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5173 // that should not be omitted, likewise the trailing semicolon
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5174 mclOut.write('s');
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5175 mclOut.write("COPY INTO " + tablenm + " FROM STDIN USING DELIMITERS ',',E'\\n';");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5176 mclOut.newLine();
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5177 // now write the row data values as csv data lines to the STDIN stream
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5178 for (int i = 0; i < 9000; i++) {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5179 mclOut.write("" + i + ",val_" + i);
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5180 mclOut.newLine();
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5181 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5182 mclOut.writeLine(""); // need this one for synchronisation over flush()
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5183
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5184 error = mclIn.waitForPrompt();
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5185 if (error != null)
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5186 sb.append("Received error: ").append(error).append("\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5187
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5188 mclOut.writeLine(""); // need this one for synchronisation over flush()
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5189
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5190 error = mclIn.waitForPrompt();
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5191 if (error != null)
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5192 sb.append("Received finish error: ").append(error).append("\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5193
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5194 sb.append("Completed sending data via STDIN\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5195 } catch (Exception e) {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5196 sb.append("Mapi Exception: ").append(e.getMessage()).append("\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5197 } finally {
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5198 // close MAPI connection to MonetDB server
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5199 server.close();
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5200 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5201
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5202 sb.append("CopyInto STDIN end\n");
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5203 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5204
436
b32946647c77 Extended PreparedStatement.setString() json string validity test for json parameters to now also accept: numbers (with optional fractions and exponent), string literals between double quotes, and keywords: true, false and null.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 427
diff changeset
5205
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5206 // some private utility methods for showing table content and params meta data
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5207 private void showTblContents(String tblnm) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5208 Statement stmt = null;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5209 ResultSet rs = null;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5210 try {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5211 stmt = con.createStatement();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5212 rs = stmt.executeQuery("SELECT * FROM " + tblnm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5213 if (rs != null) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5214 ResultSetMetaData rsmd = rs.getMetaData();
448
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5215 sb.append("Table ").append(tblnm).append(" has ").append(rsmd.getColumnCount()).append(" columns:\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5216 for (int col = 1; col <= rsmd.getColumnCount(); col++) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5217 sb.append("\t").append(rsmd.getColumnLabel(col));
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5218 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5219 sb.append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5220 while (rs.next()) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5221 for (int col = 1; col <= rsmd.getColumnCount(); col++) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5222 sb.append("\t").append(rs.getString(col));
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5223 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5224 sb.append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5225 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5226 } else
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5227 sb.append("failed to execute query: SELECT * FROM ").append(tblnm).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5228 } catch (SQLException e) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5229 sb.append("showContents failed: ").append(e.getMessage()).append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5230 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5231 closeStmtResSet(stmt, rs);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5232 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5233
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5234 private void showParams(PreparedStatement pstmt) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5235 try {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5236 // testing and showing parameter meta data
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5237 ParameterMetaData pmd = pstmt.getParameterMetaData();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5238 sb.append("pmd. ").append(pmd.getParameterCount()).append(" parameters:\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5239 for (int parm = 1; parm <= pmd.getParameterCount(); parm++) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5240 sb.append("Param ").append(parm).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5241 int nullable = pmd.isNullable(parm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5242 sb.append(" nullable ").append(nullable).append(" (");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5243 switch (nullable) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5244 case ParameterMetaData.parameterNoNulls: sb.append("NO"); break;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5245 case ParameterMetaData.parameterNullable: sb.append("YA"); break;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5246 case ParameterMetaData.parameterNullableUnknown: sb.append("UNKNOWN"); break;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5247 default: sb.append("INVALID ").append(nullable); break;
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5248 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5249 sb.append(")\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5250 sb.append(" signed ").append(pmd.isSigned(parm)).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5251 sb.append(" precision ").append(pmd.getPrecision(parm)).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5252 sb.append(" scale ").append(pmd.getScale(parm)).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5253 sb.append(" type ").append(pmd.getParameterType(parm)).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5254 sb.append(" typename ").append(pmd.getParameterTypeName(parm)).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5255 sb.append(" classname ").append(pmd.getParameterClassName(parm)).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5256 int mode = pmd.getParameterMode(parm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5257 sb.append(" mode ").append(mode).append(" (");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5258 switch (mode) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5259 case ParameterMetaData.parameterModeIn: sb.append("IN"); break;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5260 case ParameterMetaData.parameterModeInOut: sb.append("INOUT"); break;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5261 case ParameterMetaData.parameterModeOut: sb.append("OUT"); break;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5262 case ParameterMetaData.parameterModeUnknown: sb.append("UNKNOWN"); break;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5263 default: sb.append("INVALID ").append(mode); break;
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5264 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5265 sb.append(")\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5266 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5267 } catch (SQLException e) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5268 sb.append("showParams() FAILED: ").append(e.getMessage()).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5269 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5270 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5271
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5272 private void readExceptions(SQLException e) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5273 while (e != null) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5274 sb.append("Exception: ").append(e.toString()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5275 e = e.getNextException();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5276 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5277 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5278
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5279 private void readWarnings(SQLWarning w) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5280 while (w != null) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5281 sb.append("Warning: ").append(w.toString()).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5282 w = w.getNextWarning();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5283 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5284 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5285
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5286 private void compareExpectedOutput(String testname, String expected) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5287 if (!expected.equals(sb.toString())) {
469
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
5288 foundDifferences = true;
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
5289 System.err.print("Test '");
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
5290 System.err.print(testname);
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
5291 if (!testname.endsWith(")"))
469
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
5292 System.err.print("()");
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
5293 System.err.println("' produced different output!");
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
5294 System.err.println("Expected:");
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
5295 System.err.println(expected);
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
5296 System.err.println("Gotten:");
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
5297 System.err.println(sb);
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
5298 System.err.println();
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5299 }
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
5300 if (sb.length() > sbInitLen) {
469
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
5301 System.err.println("Test '" + testname
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
5302 + "' produced output > " + sbInitLen
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
5303 + " chars! Enlarge sbInitLen to: " + sb.length());
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
5304 }
395
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5305 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5306
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5307 private void closeConx(Connection cn) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5308 if (cn != null) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5309 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5310 cn.close();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5311 } catch (SQLException e) { /* ignore */ }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5312 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5313 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5314
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5315 private void closeStmtResSet(Statement st, ResultSet rs) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5316 if (rs != null) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5317 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5318 rs.close();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5319 } catch (SQLException e) { /* ignore */ }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5320 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5321 if (st != null) {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5322 try {
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5323 st.close();
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5324 } catch (SQLException e) { /* ignore */ }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5325 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5326 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5327 }