annotate tests/JDBC_API_Tester.java @ 653:5eb9d54057e6

Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster. Also implemented a TODO: when there is No PK and No unique constraints. It now returns all columns of the table, but none for views. Also updated and extended JDBC_API_Tester program.
author Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
date Thu, 25 Aug 2022 15:46:06 +0200 (2022-08-25)
parents 6a34d2c36dec
children a6592430c8fc
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();
653
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
63 jt.Test_DBCmetadata();
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
64 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
65 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
66 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
67 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
68 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
69 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
70 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
71 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
72 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
73 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
74 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
75 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
76 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
77 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
78 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
79 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
80 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
81 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
82 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
83 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
84 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
85 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
86 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
87 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
88 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
89 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
90 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
91 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
92 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
93 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
94 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
95 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
96 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
97 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
98 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
99 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
100 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
101 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
102 /* 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
103 /* 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
104
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
105 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
106
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
107 if (jt.foundDifferences)
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
108 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
109
591
b2cd3b828967 Simplify OnClientTester program.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 587
diff changeset
110 OnClientTester oct = new OnClientTester(con_URL, 0);
b2cd3b828967 Simplify OnClientTester program.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 587
diff changeset
111 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
112 if (failures > 0)
c5cf3f00c4c5 Run the OnClient tests from JDBC_API_Tester
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents: 488
diff changeset
113 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
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
0eef53e06007 Add JDBC_API_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 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
117 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
118
0eef53e06007 Add JDBC_API_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 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
120 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
121 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
122 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
123 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
124 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
125 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
126
0eef53e06007 Add JDBC_API_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 // >> 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
128 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
129 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
130 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
131 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
132
0eef53e06007 Add JDBC_API_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 // 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
134 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
135 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
136 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
137 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
138
0eef53e06007 Add JDBC_API_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 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
140 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
141 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
142 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
143 } 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
144 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
145 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
146 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
147 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
148 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
149 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
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
0eef53e06007 Add JDBC_API_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 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
153 // 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
154 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
155 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
156
0eef53e06007 Add JDBC_API_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 // >> 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
158 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
159 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
160 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
161 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
162
0eef53e06007 Add JDBC_API_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 // 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
164 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
165 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
166 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
167
0eef53e06007 Add JDBC_API_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 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
169 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
170 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
171
0eef53e06007 Add JDBC_API_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 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
173 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
174 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
175
0eef53e06007 Add JDBC_API_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 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
177 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
178 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
179
0eef53e06007 Add JDBC_API_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 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
181 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
182 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
183
0eef53e06007 Add JDBC_API_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 // 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
185 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
186 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
187 } 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
188 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
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
0eef53e06007 Add JDBC_API_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(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
192 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
193
0eef53e06007 Add JDBC_API_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 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
195
0eef53e06007 Add JDBC_API_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 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
197 "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
198 "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
199 "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
200 "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
201 "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
202 "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
203 "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
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
0eef53e06007 Add JDBC_API_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 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
207 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
208
0eef53e06007 Add JDBC_API_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 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
210 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
211 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
212 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
213 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
214 } 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
215 // e.printStackTrace();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
216 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
217 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
218 // test calling conn.isValid()
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
219 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
220 // 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
221 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
222 } catch (SQLException e2) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
223 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
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
0eef53e06007 Add JDBC_API_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 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
228 // 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
229 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
230 } 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
231 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
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
0eef53e06007 Add JDBC_API_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 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
235
0eef53e06007 Add JDBC_API_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 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
237 "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
238 "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
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
0eef53e06007 Add JDBC_API_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 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
242 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
243 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
244 "-- 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
245 "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
246 "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
247 "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
248 "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
249 "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
250 "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
251 "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
252 "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
253 "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
254 "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
255 "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
256
0eef53e06007 Add JDBC_API_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 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
258 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
259 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
260 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
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
0eef53e06007 Add JDBC_API_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 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
264 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
265 // >> 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
266 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
267 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
268
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
269 // 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
270 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
271 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
272
0eef53e06007 Add JDBC_API_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 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
274 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
275 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
276 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
277 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
278 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
279 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
280 if (i != size) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
281 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
282 }
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
283 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
284 } 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
285 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
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
0eef53e06007 Add JDBC_API_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 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
289
0eef53e06007 Add JDBC_API_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 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
291 "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
292 "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
293 "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
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
0eef53e06007 Add JDBC_API_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 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
297 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
298
0eef53e06007 Add JDBC_API_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 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
300 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
301 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
302 // 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
303 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
304 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
305 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
306 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
307 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
308 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
309 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
310
0eef53e06007 Add JDBC_API_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 // 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
312 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
313 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
314 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
315 }
0eef53e06007 Add JDBC_API_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 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
317
0eef53e06007 Add JDBC_API_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 // 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
319 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
320 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
321 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
322 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
323 // 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
324 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
325 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
326 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
327 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
328 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
329 }
0eef53e06007 Add JDBC_API_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 } catch (SQLException e) {
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
331 sb.append(" FAILED: ").append(e.getMessage()).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
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
0eef53e06007 Add JDBC_API_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 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
335 "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
336 "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
337 "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
338 "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
339 "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
340 "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
341 "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
342 "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
343 "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
344 "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
345 "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
346 "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
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
0eef53e06007 Add JDBC_API_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 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
350 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
351
0eef53e06007 Add JDBC_API_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 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
353 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
354 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
355 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
356 // >> 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
357 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
358
0eef53e06007 Add JDBC_API_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 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
360 // 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
361 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
362 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
363 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
364
0eef53e06007 Add JDBC_API_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 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
366 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
367 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
368 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
369
0eef53e06007 Add JDBC_API_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 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
371 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
372 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
373
0eef53e06007 Add JDBC_API_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 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
375 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
376 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
377 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
378 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
379 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
380 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
381 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
382 } else {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
383 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
384 }
0eef53e06007 Add JDBC_API_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 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
386
0eef53e06007 Add JDBC_API_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 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
388 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
389 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
390
0eef53e06007 Add JDBC_API_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 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
392 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
393 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
394
0eef53e06007 Add JDBC_API_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 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
396 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
397 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
398 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
399 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
400 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
401 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
402 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
403 } else {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
404 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
405 }
0eef53e06007 Add JDBC_API_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 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
407
0eef53e06007 Add JDBC_API_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 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
409 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
410 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
411
0eef53e06007 Add JDBC_API_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 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
413 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
414 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
415 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
416 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
417 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
418 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
419 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
420 } else {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
421 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
422 }
0eef53e06007 Add JDBC_API_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 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
424
0eef53e06007 Add JDBC_API_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 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
426 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
427 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
428
0eef53e06007 Add JDBC_API_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 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
430
0eef53e06007 Add JDBC_API_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 // 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
432 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
433 } 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
434 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
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
0eef53e06007 Add JDBC_API_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 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
438
0eef53e06007 Add JDBC_API_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 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
440 "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
441 "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
442 "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
443 "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
444 "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
445 "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
446 "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
447 "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
448 "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
449 "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
450 "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
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
0eef53e06007 Add JDBC_API_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 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
454 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
455
0eef53e06007 Add JDBC_API_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 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
457 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
458 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
459 // >> 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
460 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
461
0eef53e06007 Add JDBC_API_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 // 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
463 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
464 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
465 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
466 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
467 } catch (SQLException e) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
468 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
469 }
0eef53e06007 Add JDBC_API_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 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
471
0eef53e06007 Add JDBC_API_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 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
473 // >> 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
474 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
475
0eef53e06007 Add JDBC_API_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 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
477 /* 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
478 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
479 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
480
0eef53e06007 Add JDBC_API_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 = 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
482 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
483
0eef53e06007 Add JDBC_API_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 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
485 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
486 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
487
0eef53e06007 Add JDBC_API_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 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
489 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
490 int items = 0;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
491 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
492 while (rs.next()) {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
493 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
494 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
495 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
496 if (i != items) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
497 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
498 }
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
499 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
500
0eef53e06007 Add JDBC_API_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 (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
502 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
503 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
504
0eef53e06007 Add JDBC_API_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 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
506 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
507 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
508
0eef53e06007 Add JDBC_API_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 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
510 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
511 items = 3;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
512 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
513 while (rs.next()) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
514 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
515 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
516 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
517 if (i != items) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
518 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
519 }
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
520 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
521
0eef53e06007 Add JDBC_API_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 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
523 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
524 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
525
0eef53e06007 Add JDBC_API_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 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
527 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
528 items = 3;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
529 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
530 while (rs.next()) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
531 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
532 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
533 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
534 if (i != items) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
535 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
536 }
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
537 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
538
0eef53e06007 Add JDBC_API_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 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
540 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
541 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
542
0eef53e06007 Add JDBC_API_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 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
544 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
545 items = 0;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
546 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
547 while (rs.next()) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
548 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
549 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
550 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
551 if (i != items) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
552 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
553 }
0eef53e06007 Add JDBC_API_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 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
555
0eef53e06007 Add JDBC_API_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 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
557
0eef53e06007 Add JDBC_API_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 // 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
559 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
560 } 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
561 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
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
0eef53e06007 Add JDBC_API_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 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
565
0eef53e06007 Add JDBC_API_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 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
567 "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
568 "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
569 "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
570 "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
571 "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
572 "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
573 "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
574 "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
575 "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
576 "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
577 "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
578 "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
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
0eef53e06007 Add JDBC_API_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 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
582 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
583
0eef53e06007 Add JDBC_API_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 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
585 // 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
586 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
587 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
588 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
589 } 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
590 // 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
591 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
592 }
0eef53e06007 Add JDBC_API_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 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
594
0eef53e06007 Add JDBC_API_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 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
596 // 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
597 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
598 // >> 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
599 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
600
0eef53e06007 Add JDBC_API_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 // 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
602 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
603 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
604 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
605
0eef53e06007 Add JDBC_API_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 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
607 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
608 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
609
0eef53e06007 Add JDBC_API_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 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
611 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
612 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
613 } 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
614 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
615 }
0eef53e06007 Add JDBC_API_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 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
617
0eef53e06007 Add JDBC_API_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 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
619 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
620 // 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
621 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
622 // >> 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
623 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
624
0eef53e06007 Add JDBC_API_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 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
626 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
627 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
628 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
629
0eef53e06007 Add JDBC_API_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 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
631 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
632 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
633
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
634 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
635 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
636
0eef53e06007 Add JDBC_API_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 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
638 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
639 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
640
0eef53e06007 Add JDBC_API_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 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
642 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
643 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
644
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
645 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
646 } 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
647 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
648 }
0eef53e06007 Add JDBC_API_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 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
650
0eef53e06007 Add JDBC_API_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 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
652 // 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
653 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
654 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
655 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
656 } 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
657 // 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
658 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
659 }
0eef53e06007 Add JDBC_API_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 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
661
0eef53e06007 Add JDBC_API_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 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
663
0eef53e06007 Add JDBC_API_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 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
665 "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
666 "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
667 "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
668 "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
669 "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
670 "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
671 "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
672 "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
673 "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
674 "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
675 "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
676 "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
677 "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
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
653
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
680 private void handleExecuteDDL(Statement stmt, String action, String objtype, String objname, String sql) {
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
681 try {
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
682 int response = stmt.executeUpdate(sql);
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
683 if (response != Statement.SUCCESS_NO_INFO)
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
684 sb.append(action).append(" ").append(objtype).append(" ").append(objname).append(" failed to return -2!! It returned: ").append(response).append("\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
685 } catch (SQLException e) {
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
686 sb.append("Failed to ").append(action).append(" ").append(objtype).append(" ").append(objname).append(": ").append(e.getMessage()).append("\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
687 }
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
688 }
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
689
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
690 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
691 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
692
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
693 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
694 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
695 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
696 } catch (SQLException e) {
653
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
697 sb.append("failed to createStatement: ").append(e.getMessage()).append("\n");
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
698 }
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
699
653
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
700 String action = "Create";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
701 final String objtype = "table";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
702 handleExecuteDDL(stmt, action, objtype, "nopk_twoucs",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
703 "CREATE TABLE nopk_twoucs (id INT NOT NULL UNIQUE, name VARCHAR(99) UNIQUE)");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
704
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
705 handleExecuteDDL(stmt, action, objtype, "tmp_nopk_twoucs",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
706 "CREATE LOCAL TEMP TABLE tmp_nopk_twoucs (id2 INT NOT NULL UNIQUE, name2 VARCHAR(99) UNIQUE)");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
707
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
708 handleExecuteDDL(stmt, action, objtype, "tmp_pk_uc",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
709 "CREATE LOCAL TEMP TABLE tmp_pk_uc (id1 INT NOT NULL PRIMARY KEY, name1 VARCHAR(99) UNIQUE)");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
710
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
711 handleExecuteDDL(stmt, action, objtype, "glbl_nopk_twoucs",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
712 "CREATE GLOBAL TEMP TABLE glbl_nopk_twoucs (id2 INT NOT NULL UNIQUE, name2 VARCHAR(99) UNIQUE)");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
713
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
714 handleExecuteDDL(stmt, action, objtype, "glbl_pk_uc",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
715 "CREATE GLOBAL TEMP TABLE glbl_pk_uc (id1 INT NOT NULL PRIMARY KEY, name1 VARCHAR(99) UNIQUE)");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
716
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
717 handleExecuteDDL(stmt, action, "type", "xml", "CREATE TYPE xml EXTERNAL NAME xml");
642
dd9b4fb14256 Added recognition of 'xml' type.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 641
diff changeset
718
dd9b4fb14256 Added recognition of 'xml' type.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 641
diff changeset
719 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
720 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
721
0eef53e06007 Add JDBC_API_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 // 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
723 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
724 "Resultset with 1 columns\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
725 "TABLE_CAT\n" +
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
726 "char(1)\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
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
728 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
729 "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
730 "TABLE_SCHEM TABLE_CATALOG\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
731 "varchar(3) char(1)\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
732 "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
733
649
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
734 compareResultSet(dbmd.getTables(null, "tmp", null, null), "getTables(null, tmp, null, null)", // schema tmp has 6 system tables and 4 temporary test tables
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 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
736 "TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
737 "char(1) varchar(3) varchar(16) varchar(22) varchar char(1) char(1) char(1) char(1) char(1)\n" +
649
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
738 "null tmp glbl_nopk_twoucs GLOBAL TEMPORARY TABLE null null null null null null\n" +
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
739 "null tmp glbl_pk_uc GLOBAL TEMPORARY TABLE null null null null null null\n" +
645
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
740 "null tmp tmp_nopk_twoucs LOCAL TEMPORARY TABLE null null null null null null\n" +
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
741 "null tmp tmp_pk_uc LOCAL TEMPORARY TABLE null null null null null null\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
742 "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
743 "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
744 "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
745 "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
746 "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
747 "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
748
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
749 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
750 "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
751 "TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
752 "char(1) varchar(3) varchar(7) varchar(12) varchar char(1) char(1) char(1) char(1) char(1)\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 "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
754
427
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
755 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
756 "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
757 "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" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
758 "char(1) varchar(3) varchar(11) varchar(15) int varchar(8) int int int int int varchar varchar int int int int varchar(2) char(1) char(1) char(1) smallint char(3) varchar(2)\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
759 "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
760 "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
761
427
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
762 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
763 "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
764 "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
765 "char(1) varchar(3) varchar(11) varchar(13) smallint varchar(30)\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
766 "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
767
645
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
768 compareResultSet(dbmd.getPrimaryKeys(null, "tmp", "tmp_pk_uc"), "getPrimaryKeys(null, tmp, tmp_pk_uc)",
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
769 "Resultset with 6 columns\n" +
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
770 "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
771 "char(1) varchar(3) varchar(9) varchar(3) smallint varchar(18)\n" +
645
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
772 "null tmp tmp_pk_uc id1 1 tmp_pk_uc_id1_pkey\n");
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
773
649
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
774 compareResultSet(dbmd.getPrimaryKeys(null, "tmp", "glbl_pk_uc"), "getPrimaryKeys(null, tmp, glbl_pk_uc)",
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
775 "Resultset with 6 columns\n" +
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
776 "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
777 "char(1) varchar(3) varchar(10) varchar(3) smallint varchar(19)\n" +
649
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
778 "null tmp glbl_pk_uc id1 1 glbl_pk_uc_id1_pkey\n");
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
779
427
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
780 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
781 "Resultset with 14 columns\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
782 "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" +
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
783 "char(1) varchar varchar varchar char(1) varchar varchar varchar smallint smallint smallint varchar varchar smallint\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
427
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
785 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
786 "Resultset with 14 columns\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
787 "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" +
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
788 "char(1) varchar varchar varchar char(1) varchar varchar varchar smallint smallint smallint varchar varchar smallint\n");
427
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
789
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
790 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
791 "Resultset with 14 columns\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
792 "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" +
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
793 "char(1) varchar varchar varchar char(1) varchar varchar varchar smallint smallint smallint varchar varchar smallint\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
794
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
795 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
796 "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
797 "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" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
798 "char(1) varchar(3) varchar(9) boolean char(1) varchar(30) tinyint smallint varchar(13) char(1) int int char(1)\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
799 "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
800 "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
801
645
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
802 compareResultSet(dbmd.getIndexInfo(null, "tmp", "tmp_pk_uc", false, false), "getIndexInfo(null, tmp, tmp_pk_uc, false, false)",
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
803 "Resultset with 13 columns\n" +
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
804 "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" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
805 "char(1) varchar(3) varchar(9) boolean char(1) varchar(22) tinyint smallint varchar(5) char(1) int int char(1)\n" +
645
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
806 "null tmp tmp_pk_uc false null tmp_pk_uc_id1_pkey 2 1 id1 null 0 0 null\n" +
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
807 "null tmp tmp_pk_uc false null tmp_pk_uc_name1_unique 2 1 name1 null 0 0 null\n");
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
808
649
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
809 compareResultSet(dbmd.getIndexInfo(null, "tmp", "glbl_pk_uc", false, false), "getIndexInfo(null, tmp, glbl_pk_uc, false, false)",
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
810 "Resultset with 13 columns\n" +
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
811 "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" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
812 "char(1) varchar(3) varchar(10) boolean char(1) varchar(23) tinyint smallint varchar(5) char(1) int int char(1)\n" +
649
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
813 "null tmp glbl_pk_uc false null glbl_pk_uc_id1_pkey 2 1 id1 null 0 0 null\n" +
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
814 "null tmp glbl_pk_uc false null glbl_pk_uc_name1_unique 2 1 name1 null 0 0 null\n");
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
815
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
816 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
817 "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
818 "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
819 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
820 "smallint varchar(11) int varchar(8) int int smallint smallint\n" +
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
821 "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
822
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
823 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
824 "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
825 "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
826 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
652
6a34d2c36dec Improved and optimized DatabaseMetaData.getBestRowIdentifier().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 651
diff changeset
827 "smallint varchar(2) int varchar(3) int int smallint smallint\n" +
6a34d2c36dec Improved and optimized DatabaseMetaData.getBestRowIdentifier().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 651
diff changeset
828 "2 id 4 int 32 0 0 1\n");
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
829
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
830 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
831 "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
832 "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
833 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
834 "smallint varchar(2) int varchar(3) int int smallint smallint\n" +
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
835 "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
836
645
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
837 compareResultSet(dbmd.getBestRowIdentifier(null, "tmp", "tmp_pk_uc", DatabaseMetaData.bestRowTransaction, true),
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
838 "getBestRowIdentifier(null, tmp, tmp_pk_uc, DatabaseMetaData.bestRowTransaction, true)",
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
839 "Resultset with 8 columns\n" +
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
840 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
841 "smallint varchar(3) int varchar(3) int int smallint smallint\n" +
645
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
842 "2 id1 4 int 32 0 0 1\n");
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
843
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
844 compareResultSet(dbmd.getBestRowIdentifier(null, "tmp", "tmp_nopk_twoucs", DatabaseMetaData.bestRowTransaction, true),
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
845 "getBestRowIdentifier(null, tmp, tmp_nopk_twoucs, DatabaseMetaData.bestRowTransaction, true)",
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
846 "Resultset with 8 columns\n" +
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
847 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
652
6a34d2c36dec Improved and optimized DatabaseMetaData.getBestRowIdentifier().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 651
diff changeset
848 "smallint varchar(3) int varchar(3) int int smallint smallint\n" +
6a34d2c36dec Improved and optimized DatabaseMetaData.getBestRowIdentifier().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 651
diff changeset
849 "2 id2 4 int 32 0 0 1\n");
645
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
850
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
851 compareResultSet(dbmd.getBestRowIdentifier(null, "tmp", "tmp_nopk_twoucs", DatabaseMetaData.bestRowTransaction, false),
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
852 "getBestRowIdentifier(null, tmp, tmp_nopk_twoucs, DatabaseMetaData.bestRowTransaction, false)",
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
853 "Resultset with 8 columns\n" +
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
854 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
855 "smallint varchar(3) int varchar(3) int int smallint smallint\n" +
645
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
856 "2 id2 4 int 32 0 0 1\n");
fbed03097738 Corrected DatabaseMetaData methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 643
diff changeset
857
649
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
858 compareResultSet(dbmd.getBestRowIdentifier(null, "tmp", "glbl_pk_uc", DatabaseMetaData.bestRowTransaction, true),
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
859 "getBestRowIdentifier(null, tmp, glbl_pk_uc, DatabaseMetaData.bestRowTransaction, true)",
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
860 "Resultset with 8 columns\n" +
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
861 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
862 "smallint varchar(3) int varchar(3) int int smallint smallint\n" +
649
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
863 "2 id1 4 int 32 0 0 1\n");
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
864
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
865 compareResultSet(dbmd.getBestRowIdentifier(null, "tmp", "glbl_nopk_twoucs", DatabaseMetaData.bestRowTransaction, true),
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
866 "getBestRowIdentifier(null, tmp, glbl_nopk_twoucs, DatabaseMetaData.bestRowTransaction, true)",
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
867 "Resultset with 8 columns\n" +
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
868 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
652
6a34d2c36dec Improved and optimized DatabaseMetaData.getBestRowIdentifier().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 651
diff changeset
869 "smallint varchar(3) int varchar(3) int int smallint smallint\n" +
6a34d2c36dec Improved and optimized DatabaseMetaData.getBestRowIdentifier().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 651
diff changeset
870 "2 id2 4 int 32 0 0 1\n");
649
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
871
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
872 compareResultSet(dbmd.getBestRowIdentifier(null, "tmp", "glbl_nopk_twoucs", DatabaseMetaData.bestRowTransaction, false),
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
873 "getBestRowIdentifier(null, tmp, glbl_nopk_twoucs, DatabaseMetaData.bestRowTransaction, false)",
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
874 "Resultset with 8 columns\n" +
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
875 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
876 "smallint varchar(3) int varchar(3) int int smallint smallint\n" +
649
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
877 "2 id2 4 int 32 0 0 1\n");
060347aa81ea By fixing methods getPrimaryKeys(), getBestRowIdentifier() and getIndexInfo() for local temporary tables, it also caused it to fail for global temporary tables in schema tmp.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 647
diff changeset
878
427
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
879 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
880 "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
881 "TABLE_CAT TABLE_SCHEM TABLE_NAME GRANTOR GRANTEE PRIVILEGE IS_GRANTABLE\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
882 "char(1) varchar(3) varchar(11) varchar(7) varchar(6) varchar(6) varchar(2)\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
883 "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
884
427
e79bfbd0553e Added support for escaped wildcards (\% en \_) in String arguments of
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 406
diff changeset
885 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
886 "Resultset with 8 columns\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
887 "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME GRANTOR GRANTEE PRIVILEGE IS_GRANTABLE\n" +
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
888 "char(1) varchar varchar varchar varchar varchar varchar varchar\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
889
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
890 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
891 "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
892 "TYPE_CAT TYPE_SCHEM TYPE_NAME CLASS_NAME DATA_TYPE REMARKS BASE_TYPE\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
893 "char(1) varchar(3) varchar(4) char(27) int varchar(4) smallint\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
894 "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
895 "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
896 "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
897 "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
898 "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
899
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
900 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
901 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
902 "Resultset with 7 columns\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
903 "TYPE_CAT TYPE_SCHEM TYPE_NAME CLASS_NAME DATA_TYPE REMARKS BASE_TYPE\n" +
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
904 "char(1) varchar varchar char(27) int varchar smallint\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
905
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
906 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
907 } catch (SQLException e) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
908 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
909 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
910 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
911
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
912 // cleanup created db objects
653
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
913 action = "Drop";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
914 handleExecuteDDL(stmt, action, objtype, "nopk_twoucs", "DROP TABLE nopk_twoucs");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
915 handleExecuteDDL(stmt, action, objtype, "tmp_nopk_twoucs", "DROP TABLE tmp_nopk_twoucs");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
916 handleExecuteDDL(stmt, action, objtype, "tmp_pk_uc", "DROP TABLE tmp_pk_uc");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
917 handleExecuteDDL(stmt, action, objtype, "glbl_nopk_twoucs", "DROP TABLE glbl_nopk_twoucs");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
918 handleExecuteDDL(stmt, action, objtype, "glbl_pk_uc", "DROP TABLE glbl_pk_uc");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
919 handleExecuteDDL(stmt, action, "type", "xml", "DROP TYPE xml");
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
920
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
921 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
922
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
923 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
924 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
925
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
926 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
927 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
928
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
929 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
930 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
931 sb.append("Resultset with ").append(columnCount).append(" columns\n");
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
932 // print result column header names
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
933 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
934 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
935 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
936 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
937 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
938 sb.append("\n");
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
939 // print result column data type info
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
940 for (int col = 1; col <= columnCount; col++) {
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
941 if (col > 1)
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
942 sb.append("\t");
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
943 sb.append(rsmd.getColumnTypeName(col));
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
944 switch (rsmd.getColumnType(col)) {
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
945 case Types.CHAR:
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
946 case Types.VARCHAR:
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
947 case Types.CLOB:
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
948 case Types.BLOB:
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
949 case Types.DECIMAL:
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
950 case Types.NUMERIC:
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
951 {
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
952 int prec = rsmd.getPrecision(col);
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
953 if (prec != 0) {
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
954 sb.append('(').append(prec);
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
955 int scale = rsmd.getScale(col);
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
956 if (scale != 0) {
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
957 sb.append(',').append(scale);
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
958 }
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
959 sb.append(')');
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
960 }
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
961 }
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
962 }
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
963 }
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
964 sb.append("\n");
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
965
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
966 // print result rows data
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
967 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
968 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
969 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
970 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
971 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
972 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
973 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
974 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
975 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
976
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
977 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
978 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
979
653
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
980 // same tests as done in clients/odbc/tests/ODBCmetadata.c
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
981 private void Test_DBCmetadata() {
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
982 sb.setLength(0); // clear the output log buffer
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
983
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
984 Statement stmt = null;
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
985 DatabaseMetaData dbmd = null;
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
986 try {
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
987 stmt = con.createStatement();
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
988 dbmd = con.getMetaData();
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
989 } catch (SQLException e) {
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
990 sb.append("Failed to createStatement: ").append(e.getMessage()).append("\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
991 }
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
992
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
993 String action = "Create";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
994 handleExecuteDDL(stmt, action, "schema", "jdbctst", "CREATE SCHEMA jdbctst; SET SCHEMA jdbctst;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
995
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
996 String objtype = "table";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
997 // create tables to populate data dictionary. Used for testing getTables(),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
998 // getColumns(), getBestRowIdentifier(), getPrimaryKeys(),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
999 // getExportedKeys(), getImportedKeys(), getCrossReference()
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1000 handleExecuteDDL(stmt, action, objtype, "jdbctst.pk_uc",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1001 "CREATE TABLE jdbctst.pk_uc (id1 INT NOT NULL PRIMARY KEY, name1 VARCHAR(99) UNIQUE);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1002 handleExecuteDDL(stmt, action, objtype, "tmp.tmp_pk_uc",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1003 "CREATE LOCAL TEMP TABLE tmp.tmp_pk_uc (id1 INT NOT NULL PRIMARY KEY, name1 VARCHAR(99) UNIQUE);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1004 handleExecuteDDL(stmt, action, objtype, "tmp.glbl_pk_uc",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1005 "CREATE GLOBAL TEMP TABLE tmp.glbl_pk_uc (id1 INT NOT NULL PRIMARY KEY, name1 VARCHAR(99) UNIQUE);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1006 handleExecuteDDL(stmt, action, objtype, "jdbctst.nopk_twoucs",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1007 "CREATE TABLE jdbctst.nopk_twoucs (id2 INT NOT NULL UNIQUE, name2 VARCHAR(99) UNIQUE);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1008 handleExecuteDDL(stmt, action, objtype, "tmp.tmp_nopk_twoucs",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1009 "CREATE LOCAL TEMP TABLE tmp.tmp_nopk_twoucs (id2 INT NOT NULL UNIQUE, name2 VARCHAR(99) UNIQUE);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1010 handleExecuteDDL(stmt, action, objtype, "tmp.glbl_nopk_twoucs",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1011 "CREATE GLOBAL TEMP TABLE tmp.glbl_nopk_twoucs (id2 INT NOT NULL UNIQUE, name2 VARCHAR(99) UNIQUE);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1012 /* next 3 tables copied from example in https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/sqlforeignkeys-function?view=sql-server-ver15 */
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1013 handleExecuteDDL(stmt, action, objtype, "\"CUSTOMERS\"",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1014 "CREATE TABLE \"CUSTOMERS\" (\"CUSTID\" INT PRIMARY KEY, \"NAME\" VARCHAR(60) NOT NULL, \"ADDRESS\" VARCHAR(90), \"PHONE\" VARCHAR(20));");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1015 handleExecuteDDL(stmt, action, objtype, "\"ORDERS\"",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1016 "CREATE TABLE \"ORDERS\" (\"ORDERID\" INT PRIMARY KEY, \"CUSTID\" INT NOT NULL REFERENCES \"CUSTOMERS\" (\"CUSTID\")" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1017 ", \"OPENDATE\" DATE NOT NULL, \"SALESPERSON\" VARCHAR(60), \"STATUS\" VARCHAR(10) NOT NULL);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1018 handleExecuteDDL(stmt, action, objtype, "\"LINES\"",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1019 "CREATE TABLE \"LINES\" (\"ORDERID\" INT NOT NULL REFERENCES \"ORDERS\" (\"ORDERID\"), \"LINES\" INT" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1020 ", PRIMARY KEY (\"ORDERID\", \"LINES\"), \"PARTID\" INT NOT NULL, \"QUANTITY\" DECIMAL(9,3) NOT NULL);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1021 /* also test situation where one table has multiple fks to the same multi column pk */
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1022 handleExecuteDDL(stmt, action, objtype, "jdbctst.pk2c",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1023 "CREATE TABLE jdbctst.pk2c (pkc1 INT, pkc2 VARCHAR(99), name1 VARCHAR(99) UNIQUE, PRIMARY KEY (pkc2, pkc1));");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1024 handleExecuteDDL(stmt, action, objtype, "jdbctst.fk2c",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1025 "CREATE TABLE jdbctst.fk2c (fkc1 INT NOT NULL PRIMARY KEY, fkc2 VARCHAR(99), fkc3 INT" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1026 ", FOREIGN KEY (fkc2, fkc1) REFERENCES jdbctst.pk2c (pkc2, pkc1) ON UPDATE CASCADE ON DELETE RESTRICT" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1027 ", FOREIGN KEY (fkc2, fkc3) REFERENCES jdbctst.pk2c (pkc2, pkc1) ON UPDATE SET NULL ON DELETE NO ACTION);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1028
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1029 // create indexes to populate catalog. Used for testing getIndexInfo()
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1030 objtype = "index";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1031 handleExecuteDDL(stmt, action, objtype, "pk_uc_i",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1032 "CREATE INDEX pk_uc_i ON jdbctst.pk_uc (id1, name1);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1033 handleExecuteDDL(stmt, action, objtype, "tmp_pk_uc_i",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1034 "CREATE INDEX tmp_pk_uc_i ON tmp.tmp_pk_uc (id1, name1);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1035 handleExecuteDDL(stmt, action, objtype, "glbl_pk_uc_i",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1036 "CREATE INDEX glbl_pk_uc_i ON tmp.glbl_pk_uc (id1, name1);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1037 handleExecuteDDL(stmt, action, objtype, "nopk_twoucs_i",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1038 "CREATE INDEX nopk_twoucs_i ON jdbctst.nopk_twoucs (id2, name2);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1039 handleExecuteDDL(stmt, action, objtype, "tmp_nopk_twoucs_i",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1040 "CREATE INDEX tmp_nopk_twoucs_i ON tmp.tmp_nopk_twoucs (id2, name2);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1041 handleExecuteDDL(stmt, action, objtype, "glbl_nopk_twoucs_i",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1042 "CREATE INDEX glbl_nopk_twoucs_i ON tmp.glbl_nopk_twoucs (id2, name2);");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1043
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1044 // grant privileges to populate catalog. Used for testing getTablePrivileges() and getColumnPrivileges()
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1045 action = "grant";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1046 objtype = "table";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1047 handleExecuteDDL(stmt, action, objtype, "jdbctst.pk_uc",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1048 "GRANT SELECT ON TABLE jdbctst.pk_uc TO PUBLIC;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1049 handleExecuteDDL(stmt, action, objtype, "jdbctst.pk_uc",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1050 "GRANT INSERT, UPDATE, DELETE ON TABLE jdbctst.pk_uc TO monetdb;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1051 handleExecuteDDL(stmt, action, objtype, "jdbctst.nopk_twoucs",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1052 "GRANT SELECT (id2, name2), UPDATE (name2) ON TABLE jdbctst.nopk_twoucs TO monetdb;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1053 handleExecuteDDL(stmt, action, objtype, "tmp.tmp_pk_uc",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1054 "GRANT INSERT, DELETE ON TABLE tmp.tmp_pk_uc TO monetdb;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1055 handleExecuteDDL(stmt, action, objtype, "tmp.tmp_pk_uc",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1056 "GRANT SELECT (id1, name1), UPDATE (name1) ON TABLE tmp.tmp_pk_uc TO monetdb;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1057 handleExecuteDDL(stmt, action, objtype, "tmp.tmp_pk_uc ",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1058 "GRANT INSERT, DELETE ON TABLE tmp.tmp_pk_uc TO monetdb;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1059 handleExecuteDDL(stmt, action, objtype, "tmp.glbl_pk_uc",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1060 "GRANT SELECT (id1, name1), UPDATE (name1) ON TABLE tmp.glbl_pk_uc TO monetdb;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1061 handleExecuteDDL(stmt, action, objtype, "tmp.tmp_nopk_twoucs",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1062 "GRANT INSERT, DELETE ON TABLE tmp.tmp_nopk_twoucs TO monetdb;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1063 handleExecuteDDL(stmt, action, objtype, "tmp.tmp_nopk_twoucs",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1064 "GRANT SELECT (id2, name2), UPDATE (name2) ON TABLE tmp.tmp_nopk_twoucs TO monetdb;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1065 handleExecuteDDL(stmt, action, objtype, "tmp.glbl_nopk_twoucs",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1066 "GRANT DELETE, INSERT ON TABLE tmp.glbl_nopk_twoucs TO monetdb;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1067 handleExecuteDDL(stmt, action, objtype, "tmp.glbl_nopk_twoucs",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1068 "GRANT SELECT (id2, name2), UPDATE (name2) ON TABLE tmp.glbl_nopk_twoucs TO monetdb;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1069
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1070 // TODO add user procedures / functions to test getProcedures() and getProcedureColumns() more
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1071
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1072 // set COMMENT ON schema, tables, columns, indexes, procedures and functions to fetch (and test) data in the REMARKS result column
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1073 action = "comment on";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1074 handleExecuteDDL(stmt, action, "schema", "jdbctst",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1075 "COMMENT ON SCHEMA jdbctst IS 'jdbctst schema comment';");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1076 objtype = "table";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1077 handleExecuteDDL(stmt, action, objtype, "jdbctst.pk_uc",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1078 "COMMENT ON TABLE jdbctst.pk_uc IS 'jdbctst.pk_uc table comment';");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1079 handleExecuteDDL(stmt, action, objtype, "jdbctst.nopk_twoucs",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1080 "COMMENT ON TABLE jdbctst.nopk_twoucs IS 'jdbctst.nopk_twoucs table comment';");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1081 objtype = "column";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1082 handleExecuteDDL(stmt, action, objtype, "jdbctst.nopk_twoucs.id2",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1083 "COMMENT ON COLUMN jdbctst.nopk_twoucs.id2 IS 'jdbctst.nopk_twoucs.id2 column comment';");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1084 handleExecuteDDL(stmt, action, objtype, "jdbctst.nopk_twoucs.name2",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1085 "COMMENT ON COLUMN jdbctst.nopk_twoucs.name2 IS 'jdbctst.nopk_twoucs.name2 column comment';");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1086 objtype = "index";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1087 handleExecuteDDL(stmt, action, objtype, "jdbctst.pk_uc_i",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1088 "COMMENT ON INDEX jdbctst.pk_uc_i IS 'jdbctst.pk_uc_i index comment';");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1089 handleExecuteDDL(stmt, action, objtype, "jdbctst.nopk_twoucs_i",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1090 "COMMENT ON INDEX jdbctst.nopk_twoucs_i IS 'jdbctst.nopk_twoucs_i index comment';");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1091 objtype = "procedure";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1092 handleExecuteDDL(stmt, action, objtype, "sys.analyze()",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1093 "COMMENT ON PROCEDURE sys.analyze() IS 'sys.analyze() procedure comment';");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1094 objtype = "function";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1095 handleExecuteDDL(stmt, action, objtype, "sys.sin(double)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1096 "COMMENT ON FUNCTION sys.sin(double) IS 'sys.sin(double) function comment';");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1097 handleExecuteDDL(stmt, action, objtype, "sys.env()",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1098 "COMMENT ON FUNCTION sys.env() IS 'sys.env() function comment';");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1099 handleExecuteDDL(stmt, action, objtype, "sys.statistics()",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1100 "COMMENT ON FUNCTION sys.statistics() IS 'sys.statistics() function comment';");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1101
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1102 try {
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1103 // query the catalog by calling DatabaseMetaData methods
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1104 compareResultSet(dbmd.getCatalogs(), "getCatalogs()",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1105 "Resultset with 1 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1106 "TABLE_CAT\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1107 "char(1)\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1108
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1109 compareResultSet(dbmd.getSchemas(null, "jdbctst"), "getSchemas(null, jdbctst)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1110 "Resultset with 2 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1111 "TABLE_SCHEM TABLE_CATALOG\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1112 "varchar(7) char(1)\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1113 "jdbctst null\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1114
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1115 compareResultSet(dbmd.getTables(null, "jdbctst", null, null), "getTables(null, jdbctst, null, null)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1116 "Resultset with 10 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1117 "TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1118 "char(1) varchar(7) varchar(11) varchar(5) varchar(33) char(1) char(1) char(1) char(1) char(1)\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1119 "null jdbctst CUSTOMERS TABLE null null null null null null\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1120 "null jdbctst LINES TABLE null null null null null null\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1121 "null jdbctst ORDERS TABLE null null null null null null\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1122 "null jdbctst fk2c TABLE null null null null null null\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1123 "null jdbctst nopk_twoucs TABLE jdbctst.nopk_twoucs table comment null null null null null\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1124 "null jdbctst pk2c TABLE null null null null null null\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1125 "null jdbctst pk_uc TABLE jdbctst.pk_uc table comment null null null null null\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1126
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1127 compareResultSet(dbmd.getTables(null, "jdbctst", "schemas", null), "getTables(null, jdbctst, schemas, null)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1128 "Resultset with 10 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1129 "TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1130 "char(1) varchar varchar varchar varchar char(1) char(1) char(1) char(1) char(1)\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1131
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1132 compareResultSet(dbmd.getColumns(null, "jdbctst", "pk\\_uc", null), "getColumns(null, jdbctst, pk\\_uc, null)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1133 "Resultset with 24 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1134 "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" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1135 "char(1) varchar(7) varchar(5) varchar(5) int varchar(7) int int int int int varchar varchar int int int int varchar(3) char(1) char(1) char(1) smallint char(3) varchar(2)\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1136 "null jdbctst pk_uc id1 4 int 32 0 0 2 0 null null 0 0 null 1 NO null null null null NO NO\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1137 "null jdbctst pk_uc name1 12 varchar 99 0 0 0 1 null null 0 0 99 2 YES null null null null NO NO\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1138
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1139 compareResultSet(dbmd.getPrimaryKeys(null, "jdbctst", "pk\\_uc"), "getPrimaryKeys(null, jdbctst, pk\\_uc)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1140 "Resultset with 6 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1141 "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1142 "char(1) varchar(7) varchar(5) varchar(3) smallint varchar(14)\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1143 "null jdbctst pk_uc id1 1 pk_uc_id1_pkey\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1144
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1145 /* MvD: hier verder */
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1146 compareResultSet(dbmd.getPrimaryKeys(null, "tmp", "tmp_pk_uc"), "getPrimaryKeys(null, tmp, tmp_pk_uc)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1147 "Resultset with 6 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1148 "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1149 "char(1) varchar(3) varchar(9) varchar(3) smallint varchar(18)\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1150 "null tmp tmp_pk_uc id1 1 tmp_pk_uc_id1_pkey\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1151
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1152 compareResultSet(dbmd.getPrimaryKeys(null, "tmp", "glbl_pk_uc"), "getPrimaryKeys(null, tmp, glbl_pk_uc)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1153 "Resultset with 6 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1154 "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME KEY_SEQ PK_NAME\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1155 "char(1) varchar(3) varchar(10) varchar(3) smallint varchar(19)\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1156 "null tmp glbl_pk_uc id1 1 glbl_pk_uc_id1_pkey\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1157
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1158 compareResultSet(dbmd.getExportedKeys(null, "sys", "table\\_types"), "getExportedKeys(null, sys, table\\_types)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1159 "Resultset with 14 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1160 "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" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1161 "char(1) varchar varchar varchar char(1) varchar varchar varchar smallint smallint smallint varchar varchar smallint\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1162
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1163 compareResultSet(dbmd.getCrossReference(null, "sys", "tables", null, "sys", "table\\_types"), "getCrossReference(null, sys, tables, null, sys, table\\_types)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1164 "Resultset with 14 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1165 "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" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1166 "char(1) varchar varchar varchar char(1) varchar varchar varchar smallint smallint smallint varchar varchar smallint\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1167
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1168 compareResultSet(dbmd.getImportedKeys(null, "sys", "table\\_types"), "getImportedKeys(null, sys, table\\_types)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1169 "Resultset with 14 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1170 "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" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1171 "char(1) varchar varchar varchar char(1) varchar varchar varchar smallint smallint smallint varchar varchar smallint\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1172
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1173 compareResultSet(dbmd.getIndexInfo(null, "sys", "key_types", false, false), "getIndexInfo(null, sys, key_types, false, false)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1174 "Resultset with 13 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1175 "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" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1176 "char(1) varchar(3) varchar(9) boolean char(1) varchar(30) tinyint smallint varchar(13) char(1) int int char(1)\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1177 "null sys key_types false null key_types_key_type_id_pkey 2 1 key_type_id null 3 0 null\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1178 "null sys key_types false null key_types_key_type_name_unique 2 1 key_type_name null 3 0 null\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1179
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1180 compareResultSet(dbmd.getIndexInfo(null, "tmp", "tmp_pk_uc", false, false), "getIndexInfo(null, tmp, tmp_pk_uc, false, false)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1181 "Resultset with 13 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1182 "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" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1183 "char(1) varchar(3) varchar(9) boolean char(1) varchar(22) tinyint smallint varchar(5) char(1) int int char(1)\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1184 "null tmp tmp_pk_uc false null tmp_pk_uc_id1_pkey 2 1 id1 null 0 0 null\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1185 "null tmp tmp_pk_uc false null tmp_pk_uc_name1_unique 2 1 name1 null 0 0 null\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1186 "null tmp tmp_pk_uc true null tmp_pk_uc_i 2 1 id1 null 0 0 null\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1187 "null tmp tmp_pk_uc true null tmp_pk_uc_i 2 2 name1 null 0 0 null\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1188
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1189 compareResultSet(dbmd.getIndexInfo(null, "tmp", "glbl_pk_uc", false, false), "getIndexInfo(null, tmp, glbl_pk_uc, false, false)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1190 "Resultset with 13 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1191 "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" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1192 "char(1) varchar(3) varchar(10) boolean char(1) varchar(23) tinyint smallint varchar(5) char(1) int int char(1)\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1193 "null tmp glbl_pk_uc false null glbl_pk_uc_id1_pkey 2 1 id1 null 0 0 null\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1194 "null tmp glbl_pk_uc false null glbl_pk_uc_name1_unique 2 1 name1 null 0 0 null\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1195 "null tmp glbl_pk_uc true null glbl_pk_uc_i 2 1 id1 null 0 0 null\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1196 "null tmp glbl_pk_uc true null glbl_pk_uc_i 2 2 name1 null 0 0 null\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1197
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1198 compareResultSet(dbmd.getBestRowIdentifier(null, "sys", "function_languages", DatabaseMetaData.bestRowTransaction, true),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1199 "getBestRowIdentifier(null, sys, function_languages, DatabaseMetaData.bestRowTransaction, true)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1200 "Resultset with 8 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1201 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1202 "smallint varchar(11) int varchar(8) int int smallint smallint\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1203 "2 language_id 5 smallint 16 0 0 1\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1204
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1205 compareResultSet(dbmd.getBestRowIdentifier(null, "jdbctst", "nopk_twoucs", DatabaseMetaData.bestRowTransaction, true),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1206 "getBestRowIdentifier(null, jdbctst, nopk_twoucs, DatabaseMetaData.bestRowTransaction, true)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1207 "Resultset with 8 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1208 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1209 "smallint varchar(3) int varchar(3) int int smallint smallint\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1210 "2 id2 4 int 32 0 0 1\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1211
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1212 compareResultSet(dbmd.getBestRowIdentifier(null, "jdbctst", "nopk_twoucs", DatabaseMetaData.bestRowTransaction, false),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1213 "getBestRowIdentifier(null, jdbctst, nopk_twoucs, DatabaseMetaData.bestRowTransaction, false)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1214 "Resultset with 8 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1215 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1216 "smallint varchar(3) int varchar(3) int int smallint smallint\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1217 "2 id2 4 int 32 0 0 1\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1218
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1219 compareResultSet(dbmd.getBestRowIdentifier(null, "tmp", "tmp_pk_uc", DatabaseMetaData.bestRowTransaction, true),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1220 "getBestRowIdentifier(null, tmp, tmp_pk_uc, DatabaseMetaData.bestRowTransaction, true)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1221 "Resultset with 8 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1222 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1223 "smallint varchar(3) int varchar(3) int int smallint smallint\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1224 "2 id1 4 int 32 0 0 1\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1225
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1226 compareResultSet(dbmd.getBestRowIdentifier(null, "tmp", "tmp_nopk_twoucs", DatabaseMetaData.bestRowTransaction, true),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1227 "getBestRowIdentifier(null, tmp, tmp_nopk_twoucs, DatabaseMetaData.bestRowTransaction, true)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1228 "Resultset with 8 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1229 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1230 "smallint varchar(3) int varchar(3) int int smallint smallint\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1231 "2 id2 4 int 32 0 0 1\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1232
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1233 compareResultSet(dbmd.getBestRowIdentifier(null, "tmp", "tmp_nopk_twoucs", DatabaseMetaData.bestRowTransaction, false),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1234 "getBestRowIdentifier(null, tmp, tmp_nopk_twoucs, DatabaseMetaData.bestRowTransaction, false)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1235 "Resultset with 8 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1236 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1237 "smallint varchar(3) int varchar(3) int int smallint smallint\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1238 "2 id2 4 int 32 0 0 1\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1239
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1240 compareResultSet(dbmd.getBestRowIdentifier(null, "tmp", "glbl_pk_uc", DatabaseMetaData.bestRowTransaction, true),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1241 "getBestRowIdentifier(null, tmp, glbl_pk_uc, DatabaseMetaData.bestRowTransaction, true)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1242 "Resultset with 8 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1243 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1244 "smallint varchar(3) int varchar(3) int int smallint smallint\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1245 "2 id1 4 int 32 0 0 1\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1246
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1247 compareResultSet(dbmd.getBestRowIdentifier(null, "tmp", "glbl_nopk_twoucs", DatabaseMetaData.bestRowTransaction, true),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1248 "getBestRowIdentifier(null, tmp, glbl_nopk_twoucs, DatabaseMetaData.bestRowTransaction, true)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1249 "Resultset with 8 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1250 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1251 "smallint varchar(3) int varchar(3) int int smallint smallint\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1252 "2 id2 4 int 32 0 0 1\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1253
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1254 compareResultSet(dbmd.getBestRowIdentifier(null, "tmp", "glbl_nopk_twoucs", DatabaseMetaData.bestRowTransaction, false),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1255 "getBestRowIdentifier(null, tmp, glbl_nopk_twoucs, DatabaseMetaData.bestRowTransaction, false)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1256 "Resultset with 8 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1257 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1258 "smallint varchar(3) int varchar(3) int int smallint smallint\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1259 "2 id2 4 int 32 0 0 1\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1260
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1261 // also test a table without pk or uc, it should return a row for each column
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1262 compareResultSet(dbmd.getBestRowIdentifier(null, "sys", "schemas", DatabaseMetaData.bestRowTransaction, true),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1263 "getBestRowIdentifier(null, sys, schemas, DatabaseMetaData.bestRowTransaction, true)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1264 "Resultset with 8 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1265 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1266 "smallint varchar(13) int varchar(7) int int smallint smallint\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1267 "2 id 4 int 32 0 0 1\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1268 "2 name 12 varchar 1024 0 0 1\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1269 "2 authorization 4 int 32 0 0 1\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1270 "2 owner 4 int 32 0 0 1\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1271 "2 system 16 boolean 1 0 0 1\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1272
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1273 compareResultSet(dbmd.getBestRowIdentifier(null, "sys", "_tables", DatabaseMetaData.bestRowTransaction, true),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1274 "getBestRowIdentifier(null, sys, _tables, DatabaseMetaData.bestRowTransaction, true)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1275 "Resultset with 8 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1276 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1277 "smallint varchar(13) int varchar(8) int int smallint smallint\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1278 "2 id 4 int 32 0 0 1\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1279 "2 name 12 varchar 1024 0 0 1\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1280 "2 schema_id 4 int 32 0 0 1\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1281 "2 query 12 varchar 1048576 0 0 1\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1282 "2 type 5 smallint 16 0 0 1\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1283 "2 system 16 boolean 1 0 0 1\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1284 "2 commit_action 5 smallint 16 0 0 1\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1285 "2 access 5 smallint 16 0 0 1\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1286
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1287 // also test a view (without pk or uc of course), it should return no rows
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1288 compareResultSet(dbmd.getBestRowIdentifier(null, "sys", "tables", DatabaseMetaData.bestRowTransaction, true),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1289 "getBestRowIdentifier(null, sys, tables, DatabaseMetaData.bestRowTransaction, true)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1290 "Resultset with 8 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1291 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1292 "smallint varchar int varchar int int smallint smallint\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1293
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1294 compareResultSet(dbmd.getBestRowIdentifier(null, "sys", "table\\_types", DatabaseMetaData.bestRowTransaction, false),
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1295 "getBestRowIdentifier(null, sys, table\\_types, DatabaseMetaData.bestRowTransaction, false)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1296 "Resultset with 8 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1297 "SCOPE COLUMN_NAME DATA_TYPE TYPE_NAME COLUMN_SIZE BUFFER_LENGTH DECIMAL_DIGITS PSEUDO_COLUMN\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1298 "smallint varchar(13) int varchar(8) int int smallint smallint\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1299 "2 table_type_id 5 smallint 16 0 0 1\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1300
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1301 compareResultSet(dbmd.getTablePrivileges(null, "sys", "table\\_types"), "getTablePrivileges(null, sys, table\\_types)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1302 "Resultset with 7 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1303 "TABLE_CAT TABLE_SCHEM TABLE_NAME GRANTOR GRANTEE PRIVILEGE IS_GRANTABLE\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1304 "char(1) varchar(3) varchar(11) varchar(7) varchar(6) varchar(6) varchar(2)\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1305 "null sys table_types monetdb public SELECT NO\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1306
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1307 compareResultSet(dbmd.getColumnPrivileges(null, "sys", "table\\_types", null), "getColumnPrivileges(null, sys, table\\_types, null)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1308 "Resultset with 8 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1309 "TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME GRANTOR GRANTEE PRIVILEGE IS_GRANTABLE\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1310 "char(1) varchar varchar varchar varchar varchar varchar varchar\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1311
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1312 sb.setLength(0); // clear the output log buffer
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1313 } catch (SQLException e) {
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1314 sb.setLength(0); // clear the output log buffer
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1315 sb.append("FAILED: ").append(e.getMessage()).append("\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1316 }
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1317
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1318 // cleanup created db objects
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1319 action = "Drop";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1320 objtype = "index";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1321 handleExecuteDDL(stmt, action, objtype, "jdbctst.pk_uc_i", "DROP INDEX jdbctst.pk_uc_i;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1322 handleExecuteDDL(stmt, action, objtype, "tmp.tmp_pk_uc_i;", "DROP INDEX tmp.tmp_pk_uc_i;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1323 handleExecuteDDL(stmt, action, objtype, "tmp.glbl_pk_uc_i", "DROP INDEX tmp.glbl_pk_uc_i;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1324 handleExecuteDDL(stmt, action, objtype, "jdbctst.nopk_twoucs_i", "DROP INDEX jdbctst.nopk_twoucs_i;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1325 handleExecuteDDL(stmt, action, objtype, "tmp.tmp_nopk_twoucs_i", "DROP INDEX tmp.tmp_nopk_twoucs_i;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1326 handleExecuteDDL(stmt, action, objtype, "tmp.glbl_nopk_twoucs_i", "DROP INDEX tmp.glbl_nopk_twoucs_i;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1327 objtype = "table";
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1328 handleExecuteDDL(stmt, action, objtype, "jdbctst.pk_uc", "DROP TABLE jdbctst.pk_uc;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1329 handleExecuteDDL(stmt, action, objtype, "tmp.tmp_pk_uc", "DROP TABLE tmp.tmp_pk_uc;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1330 handleExecuteDDL(stmt, action, objtype, "tmp.glbl_pk_uc", "DROP TABLE tmp.glbl_pk_uc;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1331 handleExecuteDDL(stmt, action, objtype, "jdbctst.nopk_twoucs", "DROP TABLE jdbctst.nopk_twoucs;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1332 handleExecuteDDL(stmt, action, objtype, "tmp.tmp_nopk_twoucs", "DROP TABLE tmp.tmp_nopk_twoucs;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1333 handleExecuteDDL(stmt, action, objtype, "tmp.glbl_nopk_twoucs", "DROP TABLE tmp.glbl_nopk_twoucs;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1334 handleExecuteDDL(stmt, action, objtype, "jdbctst.\"LINES\"", "DROP TABLE jdbctst.\"LINES\";");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1335 handleExecuteDDL(stmt, action, objtype, "jdbctst.\"ORDERS\"", "DROP TABLE jdbctst.\"ORDERS\";");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1336 handleExecuteDDL(stmt, action, objtype, "jdbctst.\"CUSTOMERS\"", "DROP TABLE jdbctst.\"CUSTOMERS\";");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1337 handleExecuteDDL(stmt, action, objtype, "jdbctst.fk2c", "DROP TABLE jdbctst.fk2c;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1338 handleExecuteDDL(stmt, action, objtype, "jdbctst.pk2c", "DROP TABLE jdbctst.pk2c;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1339
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1340 // All tables in schema jdbctst should now be gone, else we missed some DROP statements
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1341 try {
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1342 compareResultSet(dbmd.getTables(null, "jdbctst", "%%", null), "getTables(null, jdbctst, '%%', null)",
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1343 "Resultset with 10 columns\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1344 "TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION\n" +
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1345 "char(1) varchar varchar varchar varchar char(1) char(1) char(1) char(1) char(1)\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1346 sb.setLength(0); // clear the output log buffer
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1347 } catch (SQLException e) {
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1348 sb.setLength(0); // clear the output log buffer
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1349 sb.append("FAILED: ").append(e.getMessage()).append("\n");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1350 }
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1351
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1352 handleExecuteDDL(stmt, action, "schema", "jdbctst", "SET SCHEMA sys; DROP SCHEMA jdbctst;");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1353
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1354 closeStmtResSet(stmt, null);
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1355
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1356 compareExpectedOutput("Test_Dmetadata", "");
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1357 }
5eb9d54057e6 Improved DatabaseMetaData.getBestRowIdentifier() further by introducing an extra cte: tableids. It makes it easier to understand/maintain and possibly faster.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 652
diff changeset
1358
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
1359 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
1360 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
1361
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1362 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
1363 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
1364 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
1365 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
1366 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
1367
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1368 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
1369 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
1370
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
1371 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
1372 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
1373
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1374 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
1375 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
1376
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1377 } 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
1378 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
1379 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1380
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1381 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
1382
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1383 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
1384 "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
1385 "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
1386 "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
1387 "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
1388 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1389
447
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1390 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
1391 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
1392
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1393 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
1394 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
1395
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1396 // 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
1397 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
1398 try {
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1399 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
1400 // 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
1401 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
1402 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
1403 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
1404 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
1405 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
1406 }
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
1407 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
1408 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
1409 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1410 } 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
1411 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
1412 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1413
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1414 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
1415 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
1416 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
1417 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
1418 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1419
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1420 // 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
1421 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
1422 try {
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1423 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
1424 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
1425
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1426 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
1427 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
1428
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1429 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
1430 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
1431 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
1432 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
1433
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1434 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
1435
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1436 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
1437 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
1438 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
1439 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
1440 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
1441 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
1442 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
1443 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1444
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1445 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
1446 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
1447 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
1448 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
1449 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
1450 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
1451 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
1452 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1453 } 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
1454 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
1455 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1456
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1457 // cleanup
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1458 try {
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1459 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
1460 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
1461 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
1462 } 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
1463 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
1464 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1465 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
1466 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
1467
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1468 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
1469 "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
1470 "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
1471 "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
1472 }
7147d1252828 Converted and added Test_Int128() to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 446
diff changeset
1473
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
1474 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
1475 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
1476
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
1477 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
1478 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
1479 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
1480 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
1481 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
1482 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
1483 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
1484 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
1485 }
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
1486 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
1487 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
1488 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
1489 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
1490
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
1491 // 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
1492 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
1493 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
1494 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
1495 "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
1496 "rel\n" +
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
1497 "clob(37)\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
1498 "project (\n" +
641
fac0ed642af2 Approved output of new label
Pedro Ferreira <pedro.ferreira@monetdbsolutions.com>
parents: 635
diff changeset
1499 "| [ 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
1500 ") [ 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
1501 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
1502 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
1503 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
1504
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
1505 // 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
1506 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
1507 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
1508 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
1509 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
1510 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
1511 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
1512 }
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
1513 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
1514 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
1515 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
1516 "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
1517 " 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
1518 " 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
1519 "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
1520 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
1521
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
1522 // 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
1523 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
1524 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
1525 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
1526 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
1527 }
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
1528 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
1529 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
1530 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
1531 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
1532 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
1533 }
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
1534 }
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
1535 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
1536 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
1537 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
1538 "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
1539 "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
1540 " 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
1541 " 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
1542 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
1543
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
1544 // 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
1545 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
1546 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
1547 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
1548 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
1549 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
1550 }
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
1551 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
1552 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
1553 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
1554 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
1555 } 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
1556 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
1557 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
1558 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
1559 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
1560 }
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
1561 }
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
1562
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
1563 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
1564
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
1565 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
1566 "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
1567 "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
1568 "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
1569 }
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
1570
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
1571 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
1572 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
1573
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1574 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
1575 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
1576 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
1577 // >> 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
1578 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
1579
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1580 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
1581 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
1582 "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
1583 " 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
1584 " 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
1585 ")");
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1586 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
1587 } 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
1588 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
1589 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1590 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
1591
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1592 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
1593 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
1594 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
1595 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
1596 "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
1597 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
1598
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1599 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
1600 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
1601 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
1602 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
1603 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
1604
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1605 // 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
1606 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
1607 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
1608 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
1609 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
1610 } 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
1611 while (keys.next()) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1612 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
1613 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1614 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
1615 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
1616 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1617 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
1618 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1619 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
1620 } 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
1621 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
1622 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1623 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
1624
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1625 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
1626 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
1627 // 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
1628 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
1629 } 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
1630 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
1631 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1632
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1633 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
1634 "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
1635 "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
1636 "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
1637 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1638
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1639 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
1640 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
1641
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1642 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
1643 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
1644 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
1645 // >> 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
1646 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
1647
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1648 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
1649 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
1650 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
1651 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
1652 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
1653 } 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
1654 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
1655 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1656 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
1657
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1658 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
1659 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
1660 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
1661 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
1662 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
1663 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
1664 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
1665 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
1666 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
1667 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
1668
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1669 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
1670 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
1671 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
1672 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
1673 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
1674
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1675 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
1676 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
1677 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
1678 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
1679 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
1680
0eef53e06007 Add JDBC_API_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 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
1682 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
1683 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
1684
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1685 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
1686 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
1687 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
1688 } 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
1689 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
1690 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
1691 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
1692 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1693
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1694 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
1695 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
1696 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
1697 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
1698 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
1699
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1700 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
1701 // 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
1702 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
1703 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
1704 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
1705 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
1706
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1707 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
1708 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1709
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1710 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
1711 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
1712 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
1713
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1714 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
1715 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
1716 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
1717 } 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
1718 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
1719 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
1720 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
1721 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1722 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
1723
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1724 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
1725 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
1726 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
1727 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
1728
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
1729 // 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
1730 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
1731 } 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
1732 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
1733 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1734
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1735 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
1736 "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
1737 "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
1738 "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
1739 "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
1740 " 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
1741 " 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
1742 " 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
1743 " 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
1744 "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
1745 "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
1746 " 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
1747 " 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
1748 " 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
1749 "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
1750 "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
1751 "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
1752 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1753
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1754 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
1755 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
1756
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
1757 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
1758 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
1759 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
1760 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
1761 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
1762 }
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
1763 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
1764
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
1765 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
1766 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
1767 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
1768 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
1769 // >> 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
1770 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
1771
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
1772 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
1773 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
1774 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
1775 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
1776
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
1777 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
1778 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
1779 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
1780
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
1781 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
1782 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
1783 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
1784 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
1785 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
1786 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
1787
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
1788 /* 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
1789 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
1790 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
1791 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
1792 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
1793 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
1794 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
1795
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
1796 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
1797 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
1798
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
1799 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
1800 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
1801 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
1802 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
1803 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
1804 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
1805
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
1806 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
1807
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
1808 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
1809 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
1810 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
1811 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
1812 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
1813
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
1814 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
1815 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
1816 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
1817 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
1818 } 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
1819 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
1820 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
1821 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
1822 }
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
1823 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
1824 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
1825
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
1826 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
1827 "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
1828 "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
1829 "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
1830 "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
1831 "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
1832 "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
1833 "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
1834 "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
1835 }
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
1836
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
1837 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
1838 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
1839
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
1840 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
1841 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
1842 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
1843
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
1844 // 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
1845 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
1846 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
1847 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
1848 else
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
1849 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
1850 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
1851
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
1852 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
1853 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
1854 // 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
1855 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
1856 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
1857 } 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
1858 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
1859 }
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
1860 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
1861
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
1862 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
1863 "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
1864 "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
1865 }
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
1866
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
1867 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
1868 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
1869
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
1870 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
1871 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
1872
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
1873 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
1874 // 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
1875 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
1876 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
1877 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
1878 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
1879 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
1880 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
1881
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
1882 // 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
1883 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
1884 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
1885
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
1886 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
1887 }
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
1888 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
1889
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
1890 // 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
1891 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
1892 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
1893 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
1894 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
1895
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
1896 // 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
1897 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
1898 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
1899 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
1900
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
1901 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
1902 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
1903 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
1904 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
1905 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
1906 }
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
1907
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
1908 // 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
1909 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
1910 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
1911
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
1912 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
1913 // 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
1914 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
1915 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
1916 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
1917 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
1918 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
1919 } 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
1920 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
1921 }
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
1922 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
1923 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
1924 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
1925 }
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
1926 }
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
1927 } 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
1928 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
1929 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1930
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
1931 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
1932 "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
1933 "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
1934 "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
1935 "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
1936 "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
1937 "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
1938 "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
1939 "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
1940 "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
1941 "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
1942 "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
1943 "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
1944 "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
1945 "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
1946 "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
1947 "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
1948 "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
1949 "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
1950 "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
1951 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1952
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1953 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
1954 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
1955
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
1956 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
1957 try {
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1958 con.setAutoCommit(false);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1959 // >> 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
1960 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
1961
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
1962 stmt = con.createStatement();
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1963 int updates = 0;
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1964 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
1965 if (updates != Statement.SUCCESS_NO_INFO)
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1966 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
1967
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1968 // all NULLs
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1969 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
1970 if (updates != 1)
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1971 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
1972
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1973 // all filled in
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1974 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
1975 if (updates != 1)
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1976 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
1977 } catch (SQLException e) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1978 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
1979 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1980 closeStmtResSet(stmt, null);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1981
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1982 PreparedStatement pstmt = null;
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1983 try {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1984 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
1985 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
1986
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1987 // testing and showing result set meta data
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1988 ResultSetMetaData rsmd = pstmt.getMetaData();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1989 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
1990 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
1991 sb.append("RCol ").append(col).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
1992 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
1993 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
1994 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
1995 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
1996 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
1997 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
1998 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
1999 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
2000 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
2001 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
2002 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
2003 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
2004 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
2005 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
2006 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
2007 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
2008 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
2009 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
2010 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
2011 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
2012 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2013
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2014 showParams(pstmt);
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2015
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2016 con.rollback();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2017 con.setAutoCommit(true);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2018 // >> 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
2019 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
2020 } 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
2021 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
2022 }
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2023 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
2024
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2025 compareExpectedOutput("Test_PSmetadata",
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2026 "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
2027 "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
2028 " 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
2029 "rsmd. 6 columns:\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2030 "RCol 1\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2031 " classname java.lang.Short\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2032 " displaysize 8\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2033 " label intnull\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2034 " name intnull\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2035 " type -6\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2036 " typename tinyint\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2037 " precision 8\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2038 " scale 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2039 " catalogname null\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2040 " schemaname \n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2041 " tablename \n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2042 " autoincrement false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2043 " casesensitive false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2044 " currency false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2045 " defwritable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2046 " nullable 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2047 " readonly true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2048 " searchable true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2049 " signed true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2050 " writable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2051 "RCol 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2052 " classname java.lang.Integer\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2053 " displaysize 32\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2054 " label myint\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2055 " name myint\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2056 " type 4\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2057 " typename int\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2058 " precision 32\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2059 " scale 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2060 " catalogname null\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2061 " schemaname \n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2062 " tablename table_test_psmetadata\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2063 " autoincrement false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2064 " casesensitive false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2065 " currency false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2066 " defwritable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2067 " nullable 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2068 " readonly true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2069 " searchable true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2070 " signed true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2071 " writable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2072 "RCol 3\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2073 " classname java.lang.Double\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2074 " displaysize 53\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2075 " label mydouble\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2076 " name mydouble\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2077 " type 8\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2078 " typename double\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2079 " precision 53\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2080 " scale 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2081 " catalogname null\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2082 " schemaname \n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2083 " tablename table_test_psmetadata\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2084 " autoincrement false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2085 " casesensitive false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2086 " currency false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2087 " defwritable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2088 " nullable 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2089 " readonly true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2090 " searchable true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2091 " signed true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2092 " writable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2093 "RCol 4\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2094 " classname java.lang.Boolean\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2095 " displaysize 1\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2096 " label mybool\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2097 " name mybool\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2098 " type 16\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2099 " typename boolean\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2100 " precision 1\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2101 " scale 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2102 " catalogname null\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2103 " schemaname \n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2104 " tablename table_test_psmetadata\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2105 " autoincrement false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2106 " casesensitive false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2107 " currency false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2108 " defwritable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2109 " nullable 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2110 " readonly true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2111 " searchable true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2112 " signed false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2113 " writable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2114 "RCol 5\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2115 " classname java.lang.String\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2116 " displaysize 15\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2117 " label myvarchar\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2118 " name myvarchar\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2119 " type 12\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2120 " typename varchar\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2121 " precision 15\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2122 " scale 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2123 " catalogname null\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2124 " schemaname \n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2125 " tablename table_test_psmetadata\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2126 " autoincrement false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2127 " casesensitive true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2128 " currency false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2129 " defwritable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2130 " nullable 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2131 " readonly true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2132 " searchable true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2133 " signed false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2134 " writable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2135 "RCol 6\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2136 " classname java.lang.String\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2137 " displaysize 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2138 " label myclob\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2139 " name myclob\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2140 " type 12\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2141 " typename clob\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2142 " precision 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2143 " scale 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2144 " catalogname null\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2145 " schemaname \n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2146 " tablename table_test_psmetadata\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2147 " autoincrement false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2148 " casesensitive true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2149 " currency false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2150 " defwritable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2151 " nullable 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2152 " readonly true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2153 " searchable true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2154 " signed false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2155 " writable false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2156 "pmd. 1 parameters:\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2157 "Param 1\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2158 " nullable 2 (UNKNOWN)\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2159 " signed true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2160 " precision 32\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2161 " scale 0\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2162 " type 4\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2163 " typename int\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2164 " classname java.lang.Integer\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2165 " mode 1 (IN)\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2166 "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
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_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
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
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2172 PreparedStatement pstmt = null;
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2173 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
2174 try {
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2175 // >> 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
2176 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
2177
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
2178 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
2179 for (int i = 0; i < 120; i++) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2180 pstmt = con.prepareStatement("select " + i + ", " + i + " = ?");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2181 pstmt.setInt(1, i);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2182 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
2183 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
2184 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
2185 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2186 /* 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
2187 pstmt.close();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2188 }
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
2189 } 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
2190 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
2191 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2192
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2193 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
2194
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2195 compareExpectedOutput("Test_PSsomeamount",
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2196 "0. true true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2197 "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
2198 "0, true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2199 "20, true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2200 "40, true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2201 "60, true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2202 "80, true\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2203 "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
2204 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2205
464
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
2206 /* 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
2207 /* 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
2208 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
2209 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
2210
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
2211 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
2212 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
2213 try {
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
2214 // >> 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
2215 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
2216
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
2217 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
2218 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
2219 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
2220 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
2221 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
2222 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
2223 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
2224 }
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
2225 /* 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
2226 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
2227 }
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
2228 } 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
2229 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
2230 }
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
2231
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
2232 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
2233
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
2234 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
2235 "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
2236 "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
2237 "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
2238 "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
2239 "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
2240 "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
2241 "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
2242 "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
2243 "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
2244 "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
2245 "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
2246 "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
2247 "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
2248 "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
2249 "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
2250 "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
2251 "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
2252 "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
2253 "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
2254 "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
2255 "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
2256 "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
2257 "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
2258 "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
2259 "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
2260 "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
2261 "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
2262 "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
2263 "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
2264 "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
2265 "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
2266 "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
2267 "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
2268 "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
2269 "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
2270 "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
2271 "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
2272 "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
2273 "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
2274 "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
2275 "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
2276 "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
2277 "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
2278 "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
2279 "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
2280 "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
2281 "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
2282 "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
2283 "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
2284 "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
2285 "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
2286 "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
2287 "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
2288 }
3e28de1c4f81 Convert and add Test_PSlargeamount to JDBC_API_Tester.java.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 463
diff changeset
2289
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
2290 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
2291 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
2292
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2293 Statement stmt = null;
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2294 PreparedStatement pstmt = null;
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2295 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
2296 try {
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2297 con.setAutoCommit(false);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2298 // >> 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
2299 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
2300
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
2301 stmt = con.createStatement();
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2302 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
2303 if (updates != Statement.SUCCESS_NO_INFO)
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2304 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
2305
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2306 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
2307 ParameterMetaData pmd = pstmt.getParameterMetaData();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2308 sb.append(pmd.getParameterCount()).append(" parameters:\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2309 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
2310 sb.append("Parm ").append(parm).append("\n");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2311 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
2312 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
2313 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
2314 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2315
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2316 INET tinet = new INET();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2317 tinet.fromString("172.5.5.5/24");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2318
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2319 URL turl = new URL();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2320 try {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2321 turl.fromString("http://www.monetdb.org/");
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2322 } catch (Exception e) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2323 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
2324 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2325 pstmt.setObject(1, tinet);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2326 pstmt.setObject(2, turl);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2327 // insert first record
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2328 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
2329 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
2330
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2331 try {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2332 tinet.setNetmaskBits(16);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2333 } catch (Exception e) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2334 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
2335 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2336 // insert second record
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2337 pstmt.execute();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2338
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2339 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
2340 ResultSetMetaData rsmd = rs.getMetaData();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2341 for (int i = 1; rs.next(); i++) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2342 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
2343 Object x = rs.getObject(col);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2344 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
2345 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
2346 } else {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2347 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
2348 if (x instanceof INET) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2349 INET inet = (INET)x;
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2350 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
2351 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
2352 } else if (x instanceof URL) {
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2353 URL url = (URL)x;
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2354 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
2355 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2356 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2357 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2358 }
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2359 con.rollback();
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2360 con.setAutoCommit(true);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2361 // >> 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
2362 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
2363 } 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
2364 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
2365 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2366
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2367 closeStmtResSet(stmt, rs);
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2368 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
2369
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2370 compareExpectedOutput("Test_PSsqldata",
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2371 "0. false false\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2372 "2 parameters:\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2373 "Parm 1\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2374 " type 12\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2375 " typename inet\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2376 " classname org.monetdb.jdbc.types.INET\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2377 "Parm 2\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2378 " type 12\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2379 " typename url\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2380 " 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
2381 "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
2382 " 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
2383 " 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
2384 "1. 172.5.5.5/24\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2385 " 172.5.5.5/24\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2386 " /172.5.5.5\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2387 "1. http://www.monetdb.org/\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2388 " http://www.monetdb.org/\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2389 "2. 172.5.5.5/24\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2390 " 172.5.5.5/24\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2391 " /172.5.5.5\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2392 "2. http://www.monetdb.org/\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2393 " http://www.monetdb.org/\n" +
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
2394 "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
2395 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2396
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2397 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
2398 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
2399
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2400 Statement stmt = null;
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2401 PreparedStatement pstmt = null;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2402 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
2403 try {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2404 con.setAutoCommit(false);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2405 // >> 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
2406 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
2407
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
2408 stmt = con.createStatement();
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2409 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
2410 if (updates != Statement.SUCCESS_NO_INFO)
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2411 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
2412
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2413 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
2414 sb.append("1. empty call...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2415 try {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2416 // should fail (as no parameters set)
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2417 pstmt.execute();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2418 sb.append(" UNexpected PASS!\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2419 } catch (SQLException e) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2420 sb.append(" expected exception\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2421 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2422
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2423 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
2424 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
2425 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
2426 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
2427 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
2428 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
2429
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2430 pstmt.executeUpdate();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2431 sb.append(" passed\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2432
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2433 sb.append("3. closing PreparedStatement...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2434 pstmt.close();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2435 sb.append(" passed\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2436
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2437 sb.append("4. selecting record...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2438 pstmt = con.prepareStatement("SELECT * FROM Test_PStimedate");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2439 rs = pstmt.executeQuery();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2440 sb.append(" passed\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2441
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
2442 while (rs != null && rs.next()) {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2443 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
2444 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
2445 Object x = rs.getObject(j);
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2446 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
2447 if (x instanceof java.sql.Time) {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2448 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
2449 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
2450 } 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
2451 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
2452 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
2453 } 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
2454 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
2455 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
2456 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2457 if (matches) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2458 sb.append(" passed\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2459 } else {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2460 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
2461 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2462 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2463 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2464
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2465 con.rollback();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2466 con.setAutoCommit(true);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2467 // >> 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
2468 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
2469 } 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
2470 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
2471 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2472
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2473 closeStmtResSet(stmt, null);
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2474 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
2475
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2476 compareExpectedOutput("Test_PStimedate",
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2477 "0. false false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2478 "1. empty call... expected exception\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2479 "2. inserting a record... passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2480 "3. closing PreparedStatement... passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2481 "4. selecting record... passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2482 "5. retrieving... (Time) passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2483 "6. retrieving... (Timestamp) passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2484 "7. retrieving... (Date) passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2485 "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
2486 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2487
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2488 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
2489 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
2490
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2491 // 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
2492 // setting, by overriding the VM's default
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2493 // 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
2494 // savings corrections
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2495 TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2496
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
2497 Statement stmt = null;
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2498 PreparedStatement pstmt = null;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2499 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
2500 try {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2501 con.setAutoCommit(false);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2502 // >> 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
2503 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
2504
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
2505 stmt = con.createStatement();
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2506 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
2507 if (updates != Statement.SUCCESS_NO_INFO)
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2508 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
2509
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2510 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
2511 sb.append("1. empty call...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2512 try {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2513 // should fail (as no parameters set)
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2514 pstmt.execute();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2515 sb.append(" UNexpected PASS!\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2516 } catch (SQLException e) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2517 sb.append(" expected exception\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2518 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2519
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2520 sb.append("2. inserting records...\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2521 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
2522 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
2523 Calendar c = Calendar.getInstance();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2524 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
2525 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
2526
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2527 tsz.setTimeZone(c.getTimeZone());
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2528 tz.setTimeZone(tsz.getTimeZone());
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2529 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
2530
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2531 pstmt.setTimestamp(1, ts);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2532 pstmt.setTimestamp(2, ts);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2533 pstmt.setTime(3, t);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2534 pstmt.setTime(4, t);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2535 pstmt.executeUpdate();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2536
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2537 c.setTimeZone(TimeZone.getTimeZone("UTC"));
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2538 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
2539 pstmt.setTimestamp(1, ts, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2540 pstmt.setTimestamp(2, ts, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2541 pstmt.setTime(3, t, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2542 pstmt.setTime(4, t, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2543 pstmt.executeUpdate();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2544
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2545 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
2546 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
2547 pstmt.setTimestamp(1, ts, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2548 pstmt.setTimestamp(2, ts);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2549 pstmt.setTime(3, t, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2550 pstmt.setTime(4, t);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2551 pstmt.executeUpdate();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2552
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2553 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
2554 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
2555 pstmt.setTimestamp(1, ts);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2556 pstmt.setTimestamp(2, ts, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2557 pstmt.setTime(3, t);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2558 pstmt.setTime(4, t, c);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2559 pstmt.executeUpdate();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2560 sb.append(" done\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2561
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2562 sb.append("3. closing PreparedStatement...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2563 pstmt.close();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2564 sb.append(" passed\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2565
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2566 sb.append("4. selecting records...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2567 pstmt = con.prepareStatement("SELECT * FROM Test_PStimezone");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2568 rs = pstmt.executeQuery();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2569 sb.append(" passed\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2570
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2571 // 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
2572 // (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
2573 // 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
2574 // 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
2575 // 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
2576 // 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
2577 // 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
2578 // eventually see 1st Jan 1970.
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2579 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
2580 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
2581 .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
2582 // .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
2583 .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
2584 // .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
2585 .append("\n");
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2586
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2587 tsz.setTimeZone(TimeZone.getDefault());
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2588 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
2589 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
2590 .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
2591 .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
2592 .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
2593 .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
2594
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2595 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
2596 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
2597 .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
2598 .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
2599 .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
2600 .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
2601
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2602 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
2603 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
2604 .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
2605 .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
2606 .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
2607 .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
2608
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2609 SQLWarning w = rs.getWarnings();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2610 while (w != null) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2611 sb.append(w.getMessage()).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2612 w = w.getNextWarning();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2613 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2614 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2615
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2616 con.rollback();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2617 con.setAutoCommit(true);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2618 // >> 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
2619 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
2620 } 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
2621 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
2622 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2623
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2624 closeStmtResSet(stmt, null);
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2625 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
2626
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2627 compareExpectedOutput("Test_PStimezone",
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2628 "0. false false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2629 "1. empty call... expected exception\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2630 "2. inserting records...\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2631 "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
2632 "inserting with calendar timezone UTC\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2633 "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
2634 "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
2635 " done\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2636 "3. closing PreparedStatement... passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2637 "4. selecting records... passed\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2638 "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
2639 // 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
2640 "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
2641 "default (UTC):\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2642 "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
2643 "America/Los_Angeles:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2644 "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
2645 "Africa/Windhoek:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2646 "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
2647 "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
2648 // 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
2649 "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
2650 "default (UTC):\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2651 "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
2652 "America/Los_Angeles:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2653 "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
2654 "Africa/Windhoek:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2655 "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
2656 "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
2657 // 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
2658 "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
2659 "default (UTC):\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2660 "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
2661 "America/Los_Angeles:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2662 "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
2663 "Africa/Windhoek:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2664 "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
2665 "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
2666 // 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
2667 "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
2668 "default (UTC):\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2669 "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
2670 "America/Los_Angeles:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2671 "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
2672 "Africa/Windhoek:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2673 "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
2674 "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
2675 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2676
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2677 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
2678 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
2679
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2680 Statement stmt = null;
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2681 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
2682 try {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2683 con.setAutoCommit(false);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2684 // >> 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
2685 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
2686
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
2687 stmt = con.createStatement();
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2688 int updates = stmt.executeUpdate(
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2689 "CREATE TABLE htmtest (" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2690 " htmid bigint NOT NULL," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2691 " ra double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2692 " decl double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2693 " dra double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2694 " ddecl double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2695 " flux double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2696 " dflux double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2697 " freq double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2698 " bw double ," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2699 " 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
2700 " imageurl url(100)," +
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2701 " comment varchar(100)," +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2702 " CONSTRAINT htmtest_htmid_pkey PRIMARY KEY (htmid)" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2703 ")" );
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2704 if (updates != Statement.SUCCESS_NO_INFO)
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2705 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
2706
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2707 // 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
2708 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
2709 if (updates != Statement.SUCCESS_NO_INFO)
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2710 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
2711
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2712 stmt.close();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2713
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2714 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
2715 sb.append("1. inserting a record...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2716 pstmt.setLong(1, 1L);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2717 pstmt.setFloat(2, (float)1.2);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2718 pstmt.setDouble(3, 2.4);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2719 pstmt.setDouble(4, 3.2);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2720 pstmt.setString(5, "vlavbla");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2721 pstmt.executeUpdate();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2722 sb.append("success\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2723
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2724 // try an update like bug #1757923
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2725 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
2726 sb.append("2. updating record...");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2727 pstmt.setString(1, "some update");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2728 pstmt.setObject(2, (float)3.2);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2729 pstmt.setLong(3, 1L);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2730 pstmt.executeUpdate();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2731 sb.append("success\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2732
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2733 pstmt.close();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2734
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2735 con.rollback();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2736 con.setAutoCommit(true);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2737 // >> 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
2738 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
2739 } 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
2740 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
2741 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2742
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2743 closeStmtResSet(stmt, null);
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2744 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
2745
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2746 compareExpectedOutput("Test_PStypes",
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2747 "0. false false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2748 "1. inserting a record...success\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2749 "2. updating record...success\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2750 "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
2751 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2752
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2753 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
2754 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
2755
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2756 Statement stmt = null;
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2757 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
2758 try {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2759 String tbl_nm = "tbl6402";
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2760 String proc_nm = "proc6402";
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2761
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
2762 stmt = con.createStatement();
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2763
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2764 // create a test table.
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2765 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
2766 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
2767
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2768 // 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
2769 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
2770 " 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
2771 "END;");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2772 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
2773
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2774 // 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
2775 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
2776 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
2777 showTblContents(tbl_nm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2778
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2779 // now use a CallableStament object
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2780 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
2781 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
2782
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2783 // specify first set of params
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2784 cstmt.setInt(1, 2);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2785 cstmt.setDouble(2, 2.02);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2786 cstmt.setBoolean(3, true);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2787 cstmt.setString(4, "Two");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2788 Clob myclob = con.createClob();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2789 myclob.setString(1, "TWOs");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2790 cstmt.setClob(5, myclob);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2791 cstmt.setString(6, "http://www.monetdb.org/");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2792 cstmt.execute();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2793 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
2794 showParams(cstmt);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2795 showTblContents(tbl_nm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2796
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2797 myclob.setString(1, "TREEs");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2798 // 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
2799 cstmt.setDouble(2, 3.02);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2800 cstmt.setString(4, "Tree");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2801 try {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2802 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
2803 } catch (java.net.MalformedURLException mfue) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2804 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
2805 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2806 cstmt.execute();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2807 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
2808 // showParams(cstmt);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2809 showTblContents(tbl_nm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2810
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2811 // 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
2812 cstmt.setInt(1, 4);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2813 cstmt.setBoolean(3, false);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2814 cstmt.setString(4, "Four");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2815 cstmt.executeUpdate();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2816 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
2817 showTblContents(tbl_nm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2818
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2819 // test setNull() also
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2820 cstmt.setNull(3, Types.BOOLEAN);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2821 cstmt.setNull(5, Types.CLOB);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2822 cstmt.setNull(2, Types.DOUBLE);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2823 cstmt.setNull(4, Types.VARCHAR);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2824 cstmt.setNull(1, Types.INTEGER);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2825 cstmt.executeUpdate();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2826 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
2827 showTblContents(tbl_nm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2828
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
2829 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
2830
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
2831 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
2832 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
2833 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
2834
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
2835 } 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
2836 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
2837 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2838
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2839 closeStmtResSet(stmt, null);
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2840 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
2841
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2842 compareExpectedOutput("Test_CallableStmt",
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2843 "Created table: tbl6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2844 "Created procedure: proc6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2845 "Called procedure (1): proc6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2846 "Table tbl6402 has 7 columns:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2847 " 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
2848 " 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
2849 "Prepared Callable procedure: proc6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2850 "Called Prepared procedure (1): proc6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2851 "pmd. 6 parameters:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2852 "Param 1\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2853 " nullable 2 (UNKNOWN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2854 " signed true\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2855 " precision 32\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2856 " scale 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2857 " type 4\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2858 " typename int\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2859 " classname java.lang.Integer\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2860 " mode 1 (IN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2861 "Param 2\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2862 " nullable 2 (UNKNOWN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2863 " signed true\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2864 " precision 53\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2865 " scale 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2866 " type 8\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2867 " typename double\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2868 " classname java.lang.Double\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2869 " mode 1 (IN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2870 "Param 3\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2871 " nullable 2 (UNKNOWN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2872 " signed false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2873 " precision 1\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2874 " scale 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2875 " type 16\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2876 " typename boolean\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2877 " classname java.lang.Boolean\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2878 " mode 1 (IN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2879 "Param 4\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2880 " nullable 2 (UNKNOWN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2881 " signed false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2882 " precision 15\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2883 " scale 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2884 " type 12\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2885 " typename varchar\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2886 " classname java.lang.String\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2887 " mode 1 (IN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2888 "Param 5\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2889 " nullable 2 (UNKNOWN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2890 " signed false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2891 " precision 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2892 " scale 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2893 " type 12\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2894 " typename clob\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2895 " classname java.lang.String\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2896 " mode 1 (IN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2897 "Param 6\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2898 " nullable 2 (UNKNOWN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2899 " signed false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2900 " precision 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2901 " scale 0\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2902 " type 12\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2903 " typename url\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2904 " classname org.monetdb.jdbc.types.URL\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2905 " mode 1 (IN)\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2906 "Table tbl6402 has 7 columns:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2907 " 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
2908 " 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
2909 " 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
2910 "Called Prepared procedure (2): proc6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2911 "Table tbl6402 has 7 columns:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2912 " 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
2913 " 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
2914 " 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
2915 " 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
2916 "Called Prepared procedure (3): proc6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2917 "Table tbl6402 has 7 columns:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2918 " 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
2919 " 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
2920 " 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
2921 " 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
2922 " 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
2923 "Called Prepared procedure (with NULLs): proc6402\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2924 "Table tbl6402 has 7 columns:\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2925 " 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
2926 " 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
2927 " 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
2928 " 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
2929 " 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
2930 " 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
2931 "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
2932 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2933
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
2934 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
2935 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
2936
0eef53e06007 Add JDBC_API_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 Statement stmt = null;
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2938 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
2939 try {
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2940 con.setAutoCommit(false);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2941 // >> 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
2942 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
2943
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
2944 stmt = con.createStatement();
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2945 int updates = stmt.executeUpdate(
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2946 "CREATE TABLE Test_Rbooleans (" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2947 " 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
2948 " 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
2949 " 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
2950 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
2951 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
2952
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2953 // all falses
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2954 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
2955 // all trues
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2956 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
2957 // sneakier
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2958 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
2959 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
2960 if (updates != 4)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
2961 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
2962
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2963 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
2964
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2965 // all should give false
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2966 rs.next();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2967 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
2968 .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
2969 .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
2970 .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
2971 .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
2972 .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
2973 .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
2974
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2975 // 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
2976 rs.next();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2977 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
2978 .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
2979 .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
2980 .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
2981 .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
2982 .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
2983 .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
2984
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2985 // 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
2986 rs.next();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2987 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
2988 .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
2989 .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
2990 .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
2991 .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
2992 .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
2993 .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
2994
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2995 // 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
2996 rs.next();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
2997 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
2998 .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
2999 .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
3000 .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
3001 .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
3002 .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
3003 .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
3004 rs.next();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
3005
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
3006 con.rollback();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
3007 con.setAutoCommit(true);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
3008 // >> 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
3009 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
3010 } 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
3011 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
3012 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3013
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
3014 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
3015
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
3016 compareExpectedOutput("Test_Rbooleans",
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
3017 "0. false false\n" +
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
3018 "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
3019 "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
3020 "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
3021 "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
3022 "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
3023 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3024
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3025 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
3026 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
3027
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3028 Statement stmt = null;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3029 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
3030 try {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3031 con.setAutoCommit(false);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3032 // >> 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
3033 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
3034
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
3035 stmt = con.createStatement();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3036 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
3037
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3038 // all NULLs
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3039 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
3040 // all filled in
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3041 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
3042
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3043 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
3044
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3045 ResultSetMetaData rsmd = rs.getMetaData();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3046 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
3047 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
3048 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
3049 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
3050 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
3051 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
3052 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
3053 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
3054 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
3055 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
3056 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
3057 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
3058 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
3059 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
3060 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
3061 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
3062 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
3063 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
3064 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
3065 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
3066 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
3067 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
3068 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
3069 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3070
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3071 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
3072 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
3073 Object obj = rs.getObject(col);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3074 String type = rsmd.getColumnClassName(col);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3075 String isInstance = "(null)";
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3076 if (obj != null && type != null) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3077 try {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3078 Class<?> c = Class.forName(type);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3079 if (c.isInstance(obj)) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3080 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
3081 } else {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3082 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
3083 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3084 } catch (ClassNotFoundException e) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3085 isInstance = "No such class: " + type;
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3086 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3087 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3088 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
3089 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3090 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3091 rs.close();
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 con.rollback();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3094 con.setAutoCommit(true);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3095 // >> 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
3096 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
3097 } 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
3098 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
3099 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3100
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3101 closeStmtResSet(stmt, rs);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3102
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3103 compareExpectedOutput("Test_Rmetadata",
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3104 "0. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3105 "0. 5 columns:\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3106 "Colnr 1.\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3107 " classname java.lang.Integer\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3108 " displaysize 1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3109 " label myint\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3110 " name myint\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3111 " type 4\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3112 " typename int\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3113 " precision 10\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3114 " scale 0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3115 " catalogname null\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3116 " schemaname sys\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3117 " tablename test_rmetadata\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3118 " autoincrement false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3119 " casesensitive false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3120 " currency false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3121 " defwritable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3122 " nullable 1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3123 " readonly true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3124 " searchable true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3125 " signed true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3126 " writable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3127 "Colnr 2.\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3128 " classname java.lang.Double\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3129 " displaysize 24\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3130 " label mydouble\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3131 " name mydouble\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3132 " type 8\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3133 " typename double\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3134 " precision 15\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3135 " scale 0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3136 " catalogname null\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3137 " schemaname sys\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3138 " tablename test_rmetadata\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3139 " autoincrement false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3140 " casesensitive false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3141 " currency false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3142 " defwritable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3143 " nullable 1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3144 " readonly true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3145 " searchable true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3146 " signed true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3147 " writable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3148 "Colnr 3.\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3149 " classname java.lang.Boolean\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3150 " displaysize 5\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3151 " label mybool\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3152 " name mybool\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3153 " type 16\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3154 " typename boolean\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3155 " precision 1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3156 " scale 0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3157 " catalogname null\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3158 " schemaname sys\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3159 " tablename test_rmetadata\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3160 " autoincrement false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3161 " casesensitive false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3162 " currency false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3163 " defwritable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3164 " nullable 1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3165 " readonly true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3166 " searchable true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3167 " signed false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3168 " writable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3169 "Colnr 4.\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3170 " classname java.lang.String\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3171 " displaysize 8\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3172 " label myvarchar\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3173 " name myvarchar\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3174 " type 12\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3175 " typename varchar\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3176 " precision 15\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3177 " scale 0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3178 " catalogname null\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3179 " schemaname sys\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3180 " tablename test_rmetadata\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3181 " autoincrement false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3182 " casesensitive true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3183 " currency false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3184 " defwritable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3185 " nullable 1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3186 " readonly true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3187 " searchable true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3188 " signed false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3189 " writable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3190 "Colnr 5.\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3191 " classname java.lang.String\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3192 " displaysize 11\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3193 " label myclob\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3194 " name myclob\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3195 " type 12\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3196 " typename clob\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3197 " precision 11\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3198 " scale 0\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3199 " catalogname null\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3200 " schemaname sys\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3201 " tablename test_rmetadata\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3202 " autoincrement false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3203 " casesensitive true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3204 " currency false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3205 " defwritable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3206 " nullable 1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3207 " readonly true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3208 " searchable true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3209 " signed false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3210 " writable false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3211 "6. (null)\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3212 "6. (null)\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3213 "6. (null)\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3214 "6. (null)\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3215 "6. (null)\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3216 "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
3217 "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
3218 "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
3219 "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
3220 "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
3221 "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
3222 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3223
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3224 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
3225 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
3226
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3227 Statement stmt = null;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3228 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
3229 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
3230 stmt = con.createStatement();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3231 // get a one rowed resultset
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3232 rs = stmt.executeQuery("SELECT 1");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3233
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3234 // >> 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
3235 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
3236 // >> 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
3237 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
3238 // >> 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
3239 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
3240 // >> 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
3241 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
3242 // >> 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
3243 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
3244 // >> 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
3245 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
3246 // >> true: see above
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3247 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
3248 // >> 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
3249 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
3250 // >> 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
3251 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
3252 // >> 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
3253 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
3254 // >> 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
3255 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
3256 // >> 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
3257 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
3258
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3259 rs.close();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3260
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3261 // 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
3262 DatabaseMetaData dbmd = con.getMetaData();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3263 rs = dbmd.getTableTypes();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3264
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3265 // >> 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
3266 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
3267 // >> 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
3268 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
3269 // >> 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
3270 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
3271 // >> 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
3272 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
3273 // >> 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
3274 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
3275 // move to last row
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3276 rs.last();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3277 // >> 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
3278 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
3279 // >> true: see above
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3280 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
3281 // >> 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
3282 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
3283 // >> 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
3284 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
3285 // >> 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
3286 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
3287 // >> 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
3288 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
3289 // >> 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
3290 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
3291
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3292 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
3293 } 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
3294 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
3295 }
0eef53e06007 Add JDBC_API_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
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3297 closeStmtResSet(stmt, rs);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3298
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3299 compareExpectedOutput("Test_Rpositioning",
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3300 "1. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3301 "2. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3302 "3. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3303 "4. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3304 "5. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3305 "6. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3306 "7. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3307 "8. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3308 "9. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3309 "10. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3310 "11. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3311 "12.true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3312 "1. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3313 "2. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3314 "3. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3315 "4. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3316 "5. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3317 "6. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3318 "7. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3319 "8. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3320 "9. true true\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3321 "10. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3322 "11. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3323 "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
3324 }
0eef53e06007 Add JDBC_API_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
0eef53e06007 Add JDBC_API_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 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
3327 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
3328
0eef53e06007 Add JDBC_API_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 Statement stmt = null;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3330 ResultSet rs = null;
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3331 ResultSetMetaData rsmd = null;
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3332
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
3333 try {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3334 con.setAutoCommit(false);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3335 // >> 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
3336 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
3337
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
3338 stmt = con.createStatement();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3339 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
3340
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3341 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
3342 // all NULLs
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3343 stmt.executeUpdate(InsertInto + "(NULL, NULL)");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3344 // all filled in
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3345 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
3346 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
3347 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
3348 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
3349
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3350 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
3351 rsmd = rs.getMetaData();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3352
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3353 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
3354 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
3355 sb.append(col).append("\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3356 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
3357 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
3358 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
3359 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
3360 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
3361 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3362
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3363 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
3364 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
3365 sb.append(i).append(".\t");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3366 Object x = rs.getObject(col);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3367 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
3368 sb.append("<null>\n");
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3369 } else {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3370 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
3371 if (x instanceof INET) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3372 INET inet = (INET)x;
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3373 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
3374 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
3375 } else if (x instanceof URL) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3376 URL url = (URL)x;
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3377 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
3378 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3379 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3380 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3381 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3382
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3383 rs.close();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3384
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3385 con.rollback();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3386 con.setAutoCommit(true);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3387 // >> 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
3388 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
3389 } 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
3390 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
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
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3393 closeStmtResSet(stmt, rs);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3394
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3395 compareExpectedOutput("Test_Rsqldata",
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3396 "0. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3397 "0. 2 columns:\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3398 "1\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3399 " 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
3400 " catalogname null\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3401 " schemaname sys\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3402 " tablename test_rsqldata\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3403 " columnname myinet\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3404 "2\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3405 " 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
3406 " catalogname null\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3407 " schemaname sys\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3408 " tablename test_rsqldata\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3409 " columnname myurl\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3410 "1. <null>\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3411 "1. <null>\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3412 "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
3413 " 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
3414 " /172.5.5.5\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3415 "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
3416 " http://www.monetdb.org/\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3417 "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
3418 " 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
3419 " /172.5.5.5\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3420 "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
3421 " 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
3422 "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
3423 " 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
3424 " /172.5.5.5\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3425 "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
3426 " 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
3427 "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
3428 " 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
3429 " /172.5.5.5\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3430 "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
3431 " 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
3432 "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
3433 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3434
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3435 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
3436 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
3437
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3438 Statement stmt = null;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3439 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
3440 try {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3441 con.setAutoCommit(false);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3442 // >> 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
3443 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
3444
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
3445 stmt = con.createStatement();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3446 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
3447
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3448 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
3449 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
3450 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
3451 // 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
3452 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
3453 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
3454 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
3455
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3456 // 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
3457 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
3458 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
3459 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
3460 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
3461 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
3462 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
3463 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
3464 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
3465 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
3466
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3467 // 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
3468 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
3469 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
3470 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
3471 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
3472 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
3473 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
3474
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3475 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
3476
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3477 readNextRow(rs, 1, "ts");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3478 readNextRow(rs, 2, "t");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3479 readNextRow(rs, 3, "d");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3480
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3481 readNextRow(rs, 4, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3482 readNextRow(rs, 5, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3483 readNextRow(rs, 6, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3484
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3485 readNextRow(rs, 11, "ts");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3486 readNextRow(rs, 12, "ts");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3487 readNextRow(rs, 13, "ts");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3488 readNextRow(rs, 14, "d");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3489 readNextRow(rs, 15, "d");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3490 readNextRow(rs, 16, "d");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3491 readNextRow(rs, 17, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3492 readNextRow(rs, 18, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3493 readNextRow(rs, 19, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3494
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3495 readNextRow(rs, 21, "ts");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3496 readNextRow(rs, 22, "ts");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3497 readNextRow(rs, 23, "d");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3498 readNextRow(rs, 24, "d");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3499 readNextRow(rs, 25, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3500 readNextRow(rs, 26, "vc");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3501
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3502 readWarnings(stmt.getWarnings());
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3503 readWarnings(con.getWarnings());
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3504
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3505 con.rollback();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3506 con.setAutoCommit(true);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3507 // >> 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
3508 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
3509 } 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
3510 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
3511 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3512
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3513 closeStmtResSet(stmt, rs);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3514
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3515 compareExpectedOutput("Test_Rtimedate",
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3516 "0. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3517 "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
3518 "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
3519 "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
3520 "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
3521 "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
3522 "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
3523 "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
3524 "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
3525 "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
3526 "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
3527 "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
3528 "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
3529 "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
3530 "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
3531 "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
3532 "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
3533 "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
3534 "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
3535 "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
3536 "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
3537 "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
3538 "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
3539 "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
3540 "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
3541 "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
3542 "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
3543 "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
3544 "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
3545 "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
3546 "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
3547 "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
3548 "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
3549 "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
3550 "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
3551 "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
3552 "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
3553 "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
3554 "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
3555 "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
3556 "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
3557 "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
3558 "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
3559 "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
3560 "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
3561 "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
3562 "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
3563 "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
3564 "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
3565 "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
3566 "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
3567 "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
3568 "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
3569 "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
3570 "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
3571 "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
3572 "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
3573 "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
3574 "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
3575 "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
3576 "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
3577 "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
3578 "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
3579 "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
3580 "0. true true\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3581 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3582
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3583 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
3584 rs.next();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3585 readWarnings(rs.getWarnings());
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3586 rs.clearWarnings();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3587
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3588 // 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
3589 // 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
3590 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
3591
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3592 // 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
3593 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
3594 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
3595 } catch (SQLException e) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3596 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
3597 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3598 readWarnings(rs.getWarnings());
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3599 rs.clearWarnings();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3600
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3601 // 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
3602 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
3603 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
3604 } catch (SQLException e) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3605 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
3606 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3607 readWarnings(rs.getWarnings());
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3608 rs.clearWarnings();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3609
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3610 // 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
3611 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
3612 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
3613 } catch (SQLException e) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3614 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
3615 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3616 readWarnings(rs.getWarnings());
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3617 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
3618 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3619
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3620 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
3621 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
3622
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3623 Statement stmt = null;
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3624 PreparedStatement pstmt = null;
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3625 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
3626 try {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3627 con.setAutoCommit(false);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3628 // >> 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
3629 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
3630
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
3631 stmt = con.createStatement();
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3632
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3633 sb.append("1. create...");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3634 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
3635 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
3636 else
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3637 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3638
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
3639 // 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
3640 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
3641
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3642 // 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
3643 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
3644 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
3645 if (i % 1500 == 0) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3646 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
3647 int[] cnts = stmt.executeBatch();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3648 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3649 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
3650 if (cnts.length != 1500)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3651 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
3652 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
3653 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
3654 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
3655 if (cnts[j] != 1)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3656 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
3657 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3658 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3659 con.commit();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3660 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3661 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3662 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
3663 stmt.executeBatch();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3664 con.commit();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3665 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3666
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3667 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
3668 // 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
3669 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
3670 pstmt.setInt(1, i);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3671 pstmt.addBatch();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3672 if (i % 3000 == 0) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3673 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
3674 long[] cnts = pstmt.executeLargeBatch();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3675 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3676 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
3677 if (cnts.length != 3000)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3678 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
3679 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
3680 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
3681 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
3682 if (cnts[j] != 1)
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3683 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
3684 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3685 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3686 con.commit();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3687 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3688 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3689 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
3690 pstmt.executeLargeBatch();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3691 con.commit();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3692 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3693
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3694 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
3695 stmt.clearBatch();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3696 pstmt.clearBatch();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3697 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3698
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3699 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
3700 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
3701 rs.next();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3702 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
3703
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3704 sb.append("8. drop table...");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3705 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
3706 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
3707 else
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3708 sb.append("passed\n");
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3709
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3710 // rs.close();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3711 stmt.close();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3712 pstmt.close();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3713
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3714 con.commit();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3715 con.setAutoCommit(true);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3716 // >> 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
3717 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
3718 } 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
3719 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
3720 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3721
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3722 closeStmtResSet(stmt, rs);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3723 closeStmtResSet(pstmt, null);
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3724
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3725 compareExpectedOutput("Test_Sbatching",
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3726 "0. false false\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3727 "1. create...passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3728 "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
3729 "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
3730 "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
3731 "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
3732 "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
3733 "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
3734 "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
3735 "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
3736 "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
3737 "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
3738 "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
3739 "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
3740 "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
3741 "8. drop table...passed\n" +
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3742 "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
3743 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3744
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3745 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
3746 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
3747
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3748 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
3749 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
3750 // >> 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
3751 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
3752
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3753 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
3754 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
3755 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
3756 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
3757 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
3758
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3759 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
3760 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
3761 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
3762 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
3763
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3764 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
3765 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
3766 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
3767 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
3768
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3769 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
3770 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
3771 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
3772 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
3773
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3774 } 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
3775 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
3776 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3777
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3778 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
3779
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3780 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
3781 "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
3782 "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
3783 "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
3784 "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
3785 "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
3786 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3787
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3788 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
3789 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
3790
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3791 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
3792 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
3793 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
3794
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
3795 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
3796
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3797 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
3798 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
3799 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
3800 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
3801
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3802 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
3803 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
3804 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
3805 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
3806 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
3807
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3808 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
3809 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
3810 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
3811 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
3812 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
3813
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3814 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
3815 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
3816 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
3817 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
3818 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
3819 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
3820
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3821 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
3822
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3823 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
3824 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
3825 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
3826 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
3827 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
3828
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3829 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
3830
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3831 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
3832 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
3833 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
3834 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
3835 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
3836 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
3837 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
3838
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3839 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
3840 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
3841 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
3842 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
3843 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
3844 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
3845
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3846 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
3847 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
3848 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
3849 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
3850 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
3851 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
3852
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3853 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
3854
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3855 } 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
3856 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
3857 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
3858 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3859
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3860 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
3861 "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
3862 "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
3863 "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
3864 "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
3865 "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
3866 "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
3867 "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
3868 "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
3869 "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
3870 "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
3871 "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
3872 "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
3873 "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
3874 "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
3875 "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
3876 "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
3877 "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
3878 "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
3879 "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
3880 "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
3881 "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
3882 "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
3883 "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
3884 "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
3885 "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
3886 "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
3887 "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
3888 "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
3889 "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
3890 "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
3891 "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
3892 "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
3893 "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
3894 "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
3895 "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
3896 "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
3897 "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
3898 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3899
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3900 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
3901 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
3902 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
3903 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
3904 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
3905 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
3906 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
3907 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
3908 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3909 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
3910 } 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
3911 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
3912 } 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
3913 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
3914 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3915 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
3916
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
3917 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
3918 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
3919
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
3920 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
3921 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
3922 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
3923 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
3924 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
3925 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
3926 // 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
3927 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
3928 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
3929 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
3930 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
3931 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
3932
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
3933 // 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
3934 // 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
3935 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
3936 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
3937 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
3938 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
3939 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
3940 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
3941
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
3942 // 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
3943 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
3944 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
3945 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
3946 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
3947 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
3948 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
3949
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
3950 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
3951 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
3952 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
3953 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
3954 }
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
3955 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
3956
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
3957 // 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
3958 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
3959 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
3960 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
3961 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
3962 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
3963 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
3964
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
3965 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
3966 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
3967 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
3968 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
3969 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
3970 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
3971 } 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
3972 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
3973 }
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
3974
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
3975 // 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
3976 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
3977 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
3978 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
3979 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
3980 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
3981 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
3982 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
3983 } 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
3984 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
3985 }
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
3986
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
3987 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
3988
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
3989 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
3990 "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
3991 "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
3992 "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
3993 "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
3994 "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
3995 "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
3996 "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
3997 }
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
3998
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
3999 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
4000 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
4001
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4003 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
4004 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
4005 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
4006 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
4007 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
4008 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
4009 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
4010 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
4011 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
4012
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 // >> 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
4014 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
4015 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
4016 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
4017
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 // 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
4019 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
4020 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
4021 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
4022
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4023 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
4024 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
4025 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
4026 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
4027 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
4028
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4029 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
4030 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
4031 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
4032 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
4033 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
4034
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 // 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
4036 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
4037 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
4038 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
4039 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
4040 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
4041 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
4042 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
4043
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4044 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
4045 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
4046 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
4047 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
4048 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
4049
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4050 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
4051 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
4052 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
4053 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
4054 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
4055
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4056 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
4057 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
4058 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
4059 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
4060 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
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 // 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
4063 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
4064 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
4065 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
4066 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
4067 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
4068 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
4069 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
4070
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4071 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
4072 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
4073 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
4074 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
4075 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
4076
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4077 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
4078 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
4079 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
4080 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
4081 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
4082
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4083 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
4084 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
4085 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
4086 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
4087 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
4088
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 // 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
4090 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
4091 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
4092 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
4093 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
4094 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
4095 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
4096 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
4097
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4098 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
4099 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
4100 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
4101 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
4102 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
4103
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4104 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
4105 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
4106 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
4107 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
4108 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
4109
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4110 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
4111 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
4112 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
4113 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
4114 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
4115 } 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
4116 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
4117 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 // 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
4120 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
4121 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
4122 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
4123 } 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
4124 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
4125 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4128 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
4129 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
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 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
4132 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
4133 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
4134
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4135 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
4136 "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
4137 "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
4138 "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
4139 "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
4140 "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
4141 "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
4142 "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
4143 "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
4144 "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
4145 "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
4146 "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
4147 "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
4148 "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
4149 "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
4150 "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
4151 "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
4152 "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
4153 "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
4154 "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
4155 "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
4156 "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
4157 "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
4158 "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
4159 "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
4160 "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
4161 "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
4162 "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
4163 "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
4164 "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
4165 "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
4166 "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
4167 "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
4168 "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
4169 "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
4170 "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
4171 "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
4172 "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
4173 "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
4174 "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
4175 "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
4176 "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
4177 "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
4178 "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
4179 "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
4180 "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
4181 "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
4182 "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
4183 "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
4184 "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
4185 "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
4186 "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
4187 "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
4188 "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
4189 "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
4190 "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
4191 "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
4192 "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
4193 "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
4194 "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
4195 "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
4196 "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
4197 "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
4198 "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
4199 "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
4200 "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
4201 "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
4202 "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
4203 "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
4204 "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
4205 "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
4206 "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
4207 "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
4208 "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
4209 "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
4210 "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
4211 "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
4212 "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
4213 "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
4214 "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
4215 "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
4216 "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
4217 "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
4218 "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
4219 "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
4220 "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
4221 "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
4222 "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
4223 "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
4224 "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
4225 "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
4226 "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
4227 "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
4228 "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
4229 "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
4230 "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
4231 "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
4232 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4235 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
4236
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4238 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
4239 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
4240 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
4241 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
4242 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
4243 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
4244 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
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 // >> 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
4247 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
4248 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
4249
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 // 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
4251 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
4252 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
4253 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
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 // 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
4256 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
4257 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
4258 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
4259
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
4260 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
4261 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
4262 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
4263
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
4264 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
4265 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
4266
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
4267 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
4268 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
4269 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
4270 } 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
4271 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
4272 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4274 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
4275 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
4276
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4277 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
4278 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
4279 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
4280 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
4281 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
4282
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4283 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
4284 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
4285 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
4286 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
4287 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
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 // 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
4290 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
4291 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
4292 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
4293
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
4294 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
4295 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
4296 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
4297 } 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
4298 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
4299 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
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
4301 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
4302 "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
4303 "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
4304 "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
4305 "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
4306 "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
4307 "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
4308 "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
4309 "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
4310 "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
4311 "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
4312 "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
4313 "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
4314 "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
4315 "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
4316 "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
4317 "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
4318 "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
4319 "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
4320 "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
4321 "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
4322 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
4323
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
4324 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
4325 // 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
4326 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
4327 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
4328 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
4329 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
4330 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
4331 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
4332 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
4333 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
4334
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 // 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
4336 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
4337 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
4338 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
4339 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
4340 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
4341 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
4342 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
4343 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
4344
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4345 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
4346 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
4347 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
4348 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
4349 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
4350 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
4351 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
4352 }
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
4353 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
4354
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4355 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
4356 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
4357 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
4358 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
4359 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
4360 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
4361 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
4362 }
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
4363 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
4364 } 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
4365 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
4366 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 // 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
4369 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
4370 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
4371 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
4372 } 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
4373 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
4374 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4377 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
4378
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4380 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
4381
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4383 "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
4384 "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
4385 "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
4386 "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
4387 "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
4388 "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
4389 "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
4390 "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
4391 "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
4392 "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
4393 "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
4394 "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
4395 "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
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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4399 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
4400
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4402 // 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
4403 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
4404 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
4405 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
4406 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
4407 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
4408 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
4409 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
4410 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
4411 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
4412 } 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
4413 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
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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4417 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
4418 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
4419 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
4420 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
4421 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
4422
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4423 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
4424
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
4425 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
4426 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
4427
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
4428 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
4429 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
4430
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
4431 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
4432 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
4433 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
4434 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
4435
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
4436 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
4437 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
4438
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
4439 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
4440 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
4441 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
4442
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
4443 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
4444 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
4445 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
4446 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
4447 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
4448 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
4449 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4450 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
4451 }
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
4452 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
4453
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4454 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
4455 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
4456 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
4457 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
4458 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
4459 String tt = rs2.getString(1);
647
8d7c75cc01e3 Adapt test for getTableTypes(). Filter out UNLOGGED TABLE value for stable output on all future and past MonetDB versions.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 646
diff changeset
4460 // the STREAM TABLE type is REMOVED in post Oct2020 releases, so filter it out for a stable output on all releases
8d7c75cc01e3 Adapt test for getTableTypes(). Filter out UNLOGGED TABLE value for stable output on all future and past MonetDB versions.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 646
diff changeset
4461 // the UNLOGGED TABLE type is ADDED in post Jan2022 releases, so filter it out for a stable output on all releases
8d7c75cc01e3 Adapt test for getTableTypes(). Filter out UNLOGGED TABLE value for stable output on all future and past MonetDB versions.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 646
diff changeset
4462 if (! ("STREAM TABLE".equals(tt) || "UNLOGGED TABLE".equals(tt)) )
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
4463 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
4464 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4465 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
4466 }
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
4467 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
4468
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
4469 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
4470 } 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
4471 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
4472 } 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
4473 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
4474 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
4475 } 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
4476 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
4477 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4478 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4479
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4480 // 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
4481 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
4482 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
4483 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
4484 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
4485 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
4486 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
4487 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
4488 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
4489 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
4490 } 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
4491 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
4492 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4493
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4494 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
4495 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
4496
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4497 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
4498 "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
4499 "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
4500 "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
4501 "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
4502 "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
4503 "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
4504 "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
4505 "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
4506 "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
4507 "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
4508 "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
4509 "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
4510 "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
4511 "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
4512 "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
4513 "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
4514 "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
4515 "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
4516 "_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
4517 "_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
4518 "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
4519 "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
4520 "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
4521 "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
4522 "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
4523 "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
4524 "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
4525 "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
4526 "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
4527 "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
4528 "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
4529 "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
4530 "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
4531 "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
4532 "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
4533 "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
4534 "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
4535 "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
4536 "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
4537 "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
4538 "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
4539 "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
4540 "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
4541 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4543 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
4544 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
4545
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4546 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
4547 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
4548 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
4549 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
4550 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
4551 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
4552 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
4553 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
4554 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
4555 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
4556 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
4557 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
4558 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
4559 } 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
4560 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
4561 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4562
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4563 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
4564
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4565 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
4566 "_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
4567 "_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
4568 "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
4569 "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
4570 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4571
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4572 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
4573 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
4574
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4575 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
4576 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
4577 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
4578 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
4579 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
4580 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
4581 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
4582
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4583 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
4584 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
4585 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
4586 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
4587 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
4588 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
4589 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
4590 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
4591
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4592 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
4593 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
4594 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
4595 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
4596 } 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
4597 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
4598 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4599 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
4600 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
4601
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4602 // 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
4603 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
4604 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
4605 } 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
4606 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
4607 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4608 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
4609
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4610 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
4611 "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
4612 "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
4613 "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
4614 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4615
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4616 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
4617 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
4618
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4619 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
4620 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
4621 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
4622 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
4623 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
4624 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
4625
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4626 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
4627 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
4628 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
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 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
4631 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
4632 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
4633 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
4634 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
4635 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
4636 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
4637 } 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
4638 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
4639 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4641
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4642 // 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
4643 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
4644 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
4645 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
4646 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
4647 } 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
4648 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
4649 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4652 "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
4653 "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
4654 "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
4655 "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
4656 "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
4657 "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
4658 "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
4659 "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
4660 "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
4661 "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
4662 "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
4663 "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
4664 "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
4665 "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
4666 "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
4667 "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
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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4671 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
4672 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
4673 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
4674 } 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
4675 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
4676 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4679 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
4680 } 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
4681 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
4682 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4686 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
4687
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4688 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
4689 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
4690 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
4691 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
4692 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
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 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
4695 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
4696 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
4697 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
4698
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4699 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
4700
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4701 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
4702 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
4703
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4705 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
4706 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
4707
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
4708 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
4709 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
4710 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
4711 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
4712 } 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
4713 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
4714 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4716 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
4717
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4719 "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
4720 "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
4721 "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
4722 "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
4723 "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
4724 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4727 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
4728
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 // 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
4730 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
4731 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
4732 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
4733 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
4734 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
4735 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
4736 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
4737 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
4738
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4740 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
4741 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
4742 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
4743 // 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
4744 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
4745 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
4746 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
4747 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
4748 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
4749 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
4750 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
4751 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
4752 } 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
4753 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
4754 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4756
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4758 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
4759 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
4760 } 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
4761 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
4762 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4765 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
4766 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
4767 } 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
4768 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
4769 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
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("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
4772
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
4773 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
4774 "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
4775 "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
4776 "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
4777 "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
4778 "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
4779 "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
4780 "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
4781 "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
4782 "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
4783 "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
4784 "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
4785 "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
4786 "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
4787 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4790 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
4791 "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
4792 + "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
4793 + "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
4794 + "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
4795 + "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
4796 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
4797
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 // 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
4799 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
4800 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
4801 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
4802 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
4803 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
4804 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
4805 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
4806 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4809 }
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
4810 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
4811
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 // 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
4813 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
4814 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
4815 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
4816 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
4817 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
4818 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
4819 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
4820 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
4821 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
4822 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
4823 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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.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
4827 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
4828
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 // 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
4830 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
4831 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
4832 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
4833 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
4834 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
4835 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
4836 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
4837 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
4838 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
4839 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
4840 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
4841 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
4842 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
4843 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
4844 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4847 }
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
4848 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
4849 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4852 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
4853 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
4854 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
4855 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
4856 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
4857 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
4858 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
4859 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
4860 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
4861 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
4862 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
4863 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
4864 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4866 } 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
4867 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
4868 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
4869 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
4870 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 } 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
4872
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 /* 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
4874 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
4875 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
4876 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
4877 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
4878 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
4879 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
4880 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4883 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
4884
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4886 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
4887 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
4888 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
4889 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
4890 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
4891 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
4892 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
4893 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
4894
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4896 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
4897 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
4898 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
4899 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
4900
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4902 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
4903 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
4904 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
4905
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4907 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
4908 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
4909 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
4910 } 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
4911 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
4912 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 // 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
4915 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
4916 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
4917 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
4918 } 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
4919 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
4920 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4922 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
4923
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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 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
4925 "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
4926 "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
4927 "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
4928 "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
4929 "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
4930 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output 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
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
4932 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
4933 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
4934
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
4935 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
4936 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
4937 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
4938 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
4939 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
4940 // >> 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
4941 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
4942
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
4943 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
4944 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
4945 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
4946 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
4947
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
4948 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
4949 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
4950 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
4951 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
4952 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
4953 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
4954 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
4955 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
4956 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
4957 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
4958
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
4959 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
4960 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
4961 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
4962 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
4963 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
4964 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
4965 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
4966 }
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
4967
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
4968 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
4969 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
4970 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
4971 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
4972 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
4973 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
4974 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
4975 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
4976 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
4977 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
4978
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
4979 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
4980 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
4981 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
4982 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
4983 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
4984 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
4985 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
4986 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
4987
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
4988 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
4989 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
4990 pstmt.setString(2, "row " + row);
494
56f24eb8ca43 Use valid json
Pedro Ferreira <pedro.ferreira@monetdbsolutions.com>
parents: 488
diff changeset
4991 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
4992 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
4993 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
4994 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
4995 } 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
4996 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
4997 }
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
4998 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
4999 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
5000 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
5001
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
5002 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
5003 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
5004 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
5005 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
5006 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
5007 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
5008 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
5009 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
5010
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
5011 /* 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
5012 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
5013 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
5014 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
5015 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
5016 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
5017 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
5018 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
5019 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
5020 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
5021 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
5022
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
5023 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
5024 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
5025 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
5026 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
5027 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
5028 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
5029 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
5030 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
5031 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
5032 } 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
5033 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
5034 }
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
5035 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
5036 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
5037 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
5038 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
5039 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
5040 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
5041
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5042 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
5043 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
5044 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
5045 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
5046 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
5047 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
5048 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
5049 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
5050 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
5051 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
5052 }
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
5053 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
5054 }
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
5055 } 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
5056 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
5057 }
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
5058
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
5059 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
5060 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
5061 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
5062 } 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
5063 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
5064 }
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
5065
437
1333c19b0c1b include missing )
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 436
diff changeset
5066 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
5067 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
5068
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
5069 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
5070 "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
5071 "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
5072 "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
5073 "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
5074 "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
5075 " 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
5076 " 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
5077 " 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
5078 " 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
5079 " 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
5080 " 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
5081 "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
5082 "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
5083 "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
5084 "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
5085 "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
5086 "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
5087 "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
5088 "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
5089 "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
5090 "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
5091 "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
5092 "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
5093 "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
5094 "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
5095 "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
5096 "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
5097 "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
5098 "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
5099 "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
5100 "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
5101 " \"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
5102 " \"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
5103 " \"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
5104 " \"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
5105 " {\"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
5106 " {\"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
5107 " {\"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
5108 " ]\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
5109 " }\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
5110 "}} 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
5111 "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
5112 "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
5113 "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
5114 "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
5115 " \"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
5116 " \"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
5117 " {\"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
5118 " {\"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
5119 " 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
5120 " {\"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
5121 " {\"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
5122 " {\"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
5123 " 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
5124 " {\"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
5125 " {\"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
5126 " {\"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
5127 " 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
5128 " {\"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
5129 " {\"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
5130 " ]\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
5131 "}}] 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
5132 "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
5133 "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
5134 }
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
5135
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
5136 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
5137 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
5138
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5139 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
5140 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
5141 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
5142 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
5143 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
5144 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
5145
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5146 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
5147 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
5148 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
5149 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
5150
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
5151 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
5152
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5153 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
5154 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
5155 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
5156 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
5157 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
5158 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
5159 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
5160 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
5161 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5162 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
5163 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
5164 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
5165 }
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
5166 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
5167 } 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
5168 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
5169 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
5170 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
5171 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5172
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5173 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
5174 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
5175 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
5176 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
5177
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5178 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
5179 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
5180 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
5181 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
5182
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
5183 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
5184 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
5185 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
5186 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
5187 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
5188 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
5189
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5190 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
5191 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
5192 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5193 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
5194 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
5195 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
5196 }
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
5197 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
5198 } 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
5199 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
5200 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
5201 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
5202 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5203 } 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
5204 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
5205 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5206
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5207 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
5208 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
5209 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
5210 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
5211 } 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
5212 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
5213 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5214
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5215 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
5216 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
5217
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5218 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
5219 "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
5220 "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
5221 "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
5222 "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
5223 "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
5224 "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
5225 "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
5226 "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
5227 "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
5228 "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
5229 "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
5230 "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
5231 "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
5232 "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
5233 "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
5234 "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
5235 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5236
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5237 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
5238 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
5239
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5240 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
5241 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
5242 , "\"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
5243 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
5244 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
5245 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
5246 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
5247 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
5248 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
5249 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
5250 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
5251 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
5252 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
5253 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5254 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
5255
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5256 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
5257 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
5258 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
5259 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
5260 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
5261
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5262 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
5263 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
5264 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
5265 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
5266
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
5267 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
5268 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
5269 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
5270 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
5271 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
5272 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
5273 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
5274 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
5275 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
5276 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5277 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
5278 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
5279 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
5280 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
5281
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5282 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
5283 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
5284 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
5285 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
5286 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
5287 // 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
5288 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
5289 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
5290 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
5291 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
5292 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5293 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
5294 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
5295 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
5296 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
5297
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5298 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
5299 "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
5300 "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
5301 "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
5302 " 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
5303 "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
5304 "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
5305 "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
5306 "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
5307 "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
5308 "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
5309 "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
5310 "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
5311 "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
5312 "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
5313 "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
5314 "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
5315 "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
5316 "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
5317 "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
5318 "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
5319 "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
5320 "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
5321 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
5322
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5323 // 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
5324 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
5325 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
5326 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
5327 "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
5328 "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
5329 " 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
5330 "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
5331 "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
5332 "\"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
5333 "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
5334 "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
5335 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
5336 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5337 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
5338 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
5339 "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
5340 "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
5341 " 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
5342 "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
5343 "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
5344 "\"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
5345 "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
5346 "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
5347 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
5348 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5349 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
5350 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
5351 "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
5352 "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
5353 " 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
5354 "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
5355 "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
5356 "\"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
5357 "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
5358 "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
5359 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
5360 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5361 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
5362 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
5363 "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
5364 "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
5365 " 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
5366 "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
5367 "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
5368 "\"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
5369 "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
5370 "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
5371 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
5372 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5373 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
5374 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
5375 "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
5376 "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
5377 " 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
5378 "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
5379 "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
5380 "\"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
5381 "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
5382 "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
5383 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
5384 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5385 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
5386 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
5387 "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
5388 "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
5389 " 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
5390 "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
5391 "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
5392 "\"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
5393 "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
5394 "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
5395 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
5396 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5397 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
5398 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
5399 "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
5400 "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
5401 " 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
5402 "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
5403 "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
5404 "\"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
5405 "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
5406 "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
5407 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
5408 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5409 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
5410 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
5411 "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
5412 "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
5413 " 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
5414 "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
5415 "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
5416 "\"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
5417 "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
5418 "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
5419 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
5420 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5421 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
5422 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
5423 "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
5424 "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
5425 " 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
5426 "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
5427 "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
5428 "\"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
5429 "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
5430 "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
5431 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
5432 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5433 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
5434 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
5435 "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
5436 "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
5437 " 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
5438 "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
5439 "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
5440 "\" \"\n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5441 " \n" +
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5442 "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
5443 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
5444 n++;
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5445 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
5446 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
5447 "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
5448 "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
5449 " 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
5450 "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
5451 "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
5452 "\"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
5453 "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
5454 "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
5455 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
5456
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5457 // 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
5458 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
5459 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
5460 "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
5461 "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
5462 " 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
5463 "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
5464 "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
5465 "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
5466 "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
5467 "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
5468 "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
5469 "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
5470 "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
5471 "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
5472 "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
5473 "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
5474 "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
5475 "\"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
5476 "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
5477 "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
5478 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
5479 } 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
5480 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
5481 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5482
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5483 // 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
5484 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
5485 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
5486 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
5487 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
5488 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
5489 } 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
5490 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
5491 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5492
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5493 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
5494
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5495 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
5496 "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
5497 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5498
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5499 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
5500 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
5501 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
5502 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
5503 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5504
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5505 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
5506 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
5507 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
5508 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
5509 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
5510 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
5511 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
5512 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5513
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
5514 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
5515 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
5516 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
5517 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
5518 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
5519 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
5520 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
5521 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
5522 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5523 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
5524 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5525 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
5526 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
5527 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5528
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5529 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
5530 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
5531
650
849f99124e32 Correcting implementation of Statement.setQueryTimeout(int seconds).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 649
diff changeset
5532 int originalQueryTimeout = 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
5533 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
5534 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
5535 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
5536 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
5537 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
5538
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5539 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
5540 testTimeout_3357(st, 123456);
650
849f99124e32 Correcting implementation of Statement.setQueryTimeout(int seconds).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 649
diff changeset
5541 testTimeout_3357(st, 2147483);
849f99124e32 Correcting implementation of Statement.setQueryTimeout(int seconds).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 649
diff changeset
5542 testTimeout_3357(st, 2147484);
849f99124e32 Correcting implementation of Statement.setQueryTimeout(int seconds).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 649
diff changeset
5543 testTimeout_3357(st, Integer.MAX_VALUE);
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
5544 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
5545 testTimeout_3357(st, 10);
650
849f99124e32 Correcting implementation of Statement.setQueryTimeout(int seconds).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 649
diff changeset
5546 testTimeout_3357(st, 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
5547 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
5548 } catch (SQLException se) {
650
849f99124e32 Correcting implementation of Statement.setQueryTimeout(int seconds).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 649
diff changeset
5549 sb.append("SQLException: setQueryTimeout(timeout_value) throws: ").append(se).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
5550 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5551
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5552 // 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
5553 try {
650
849f99124e32 Correcting implementation of Statement.setQueryTimeout(int seconds).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 649
diff changeset
5554 sb.append("Restore original QueryTimeout = ").append(originalQueryTimeout).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
5555 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
5556 } 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
5557 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
5558 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5559 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
5560
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5561 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
5562 "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
5563 "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
5564 "setQueryTimeout = 123456. getQueryTimeout = 123456\n" +
650
849f99124e32 Correcting implementation of Statement.setQueryTimeout(int seconds).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 649
diff changeset
5565 "setQueryTimeout = 2147483. getQueryTimeout = 2147483\n" +
849f99124e32 Correcting implementation of Statement.setQueryTimeout(int seconds).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 649
diff changeset
5566 "setQueryTimeout = 2147484. getQueryTimeout = 2147484\n" +
849f99124e32 Correcting implementation of Statement.setQueryTimeout(int seconds).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 649
diff changeset
5567 "setQueryTimeout = 2147483647. getQueryTimeout = 2147483647\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
5568 "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
5569 "setQueryTimeout = 10. getQueryTimeout = 10\n" +
650
849f99124e32 Correcting implementation of Statement.setQueryTimeout(int seconds).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 649
diff changeset
5570 "setQueryTimeout = 1. getQueryTimeout = 1\n" +
849f99124e32 Correcting implementation of Statement.setQueryTimeout(int seconds).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 649
diff changeset
5571 "setQueryTimeout = -1. SQLException: setQueryTimeout(timeout_value) throws: java.sql.SQLException: Illegal timeout value: -1\n" +
849f99124e32 Correcting implementation of Statement.setQueryTimeout(int seconds).
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 649
diff changeset
5572 "Restore original QueryTimeout = 0\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
5573 "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
5574 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5575
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5576 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
5577 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
5578 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
5579 // 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
5580 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
5581 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
5582 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
5583 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
5584 }
1ae0dc05bce5 Converted 12 more JDBC tests from Bug*.java into "output on exception only" tests and included them into JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 437
diff changeset
5585
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
5586 /**
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5587 * 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
5588 * 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
5589 * 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
5590 *
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5591 * @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
5592 */
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5593 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
5594 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
5595
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5596 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
5597 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
5598 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
5599 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
5600 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
5601 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
5602
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5603 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
5604
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5605 // 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
5606 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
5607 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
5608 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
5609 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
5610 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
5611 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
5612 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
5613 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
5614 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5615 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
5616 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
5617 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5618 } 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
5619 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
5620 } 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
5621 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
5622 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5623
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5624 // 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
5625 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
5626 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
5627 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
5628 } 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
5629 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
5630 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5631 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
5632
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5633 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
5634 "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
5635 "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
5636 "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
5637 "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
5638 "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
5639 "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
5640 "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
5641 "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
5642 "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
5643 "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
5644 "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
5645 "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
5646 "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
5647 "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
5648 "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
5649 "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
5650 "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
5651 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5652
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5653 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
5654 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
5655
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5656 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
5657 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
5658 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
5659
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5660 // 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
5661 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
5662 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
5663 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
5664 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
5665
ac5e97fc812d Make SQLcopyinto test work onder monetdbd
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents: 494
diff changeset
5666 String database = con.getClientInfo("database");
ac5e97fc812d Make SQLcopyinto test work onder monetdbd
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents: 494
diff changeset
5667 server.setDatabase(database);
ac5e97fc812d Make SQLcopyinto test work onder monetdbd
Joeri van Ruth <joeri.van.ruth@monetdbsolutions.com>
parents: 494
diff changeset
5668
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
5669 // 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
5670 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
5671 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
5672 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
5673 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
5674 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
5675 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5676 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5677 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
5678
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5679 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
5680 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
5681
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5682 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
5683 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
5684 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
5685
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5686 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
5687
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5688 // 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
5689 // 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
5690 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
5691 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
5692 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
5693 // 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
5694 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
5695 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
5696 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
5697 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5698 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
5699
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5700 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
5701 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
5702 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
5703
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5704 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
5705
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5706 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
5707 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
5708 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
5709
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5710 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
5711 } 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
5712 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
5713 } 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
5714 // 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
5715 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
5716 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5717
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5718 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
5719 }
d7bac8d0fb93 Converted and added example program SQLcopyinto() to JDBC_API_Tester.java
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 447
diff changeset
5720
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
5721
401
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5722 // 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
5723 private void showTblContents(String tblnm) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5724 Statement stmt = null;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5725 ResultSet rs = null;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5726 try {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5727 stmt = con.createStatement();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5728 rs = stmt.executeQuery("SELECT * FROM " + tblnm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5729 if (rs != null) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5730 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
5731 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
5732 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
5733 sb.append("\t").append(rsmd.getColumnLabel(col));
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5734 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5735 sb.append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5736 while (rs.next()) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5737 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
5738 sb.append("\t").append(rs.getString(col));
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5739 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5740 sb.append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5741 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5742 } else
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5743 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
5744 } catch (SQLException e) {
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5745 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
5746 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5747 closeStmtResSet(stmt, rs);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5748 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5749
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5750 private void showParams(PreparedStatement pstmt) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5751 try {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5752 // testing and showing parameter meta data
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5753 ParameterMetaData pmd = pstmt.getParameterMetaData();
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5754 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
5755 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
5756 sb.append("Param ").append(parm).append("\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5757 int nullable = pmd.isNullable(parm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5758 sb.append(" nullable ").append(nullable).append(" (");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5759 switch (nullable) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5760 case ParameterMetaData.parameterNoNulls: sb.append("NO"); break;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5761 case ParameterMetaData.parameterNullable: sb.append("YA"); break;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5762 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
5763 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
5764 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5765 sb.append(")\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5766 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
5767 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
5768 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
5769 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
5770 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
5771 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
5772 int mode = pmd.getParameterMode(parm);
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5773 sb.append(" mode ").append(mode).append(" (");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5774 switch (mode) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5775 case ParameterMetaData.parameterModeIn: sb.append("IN"); break;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5776 case ParameterMetaData.parameterModeInOut: sb.append("INOUT"); break;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5777 case ParameterMetaData.parameterModeOut: sb.append("OUT"); break;
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5778 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
5779 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
5780 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5781 sb.append(")\n");
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5782 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5783 } catch (SQLException e) {
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5784 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
5785 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5786 }
1850e0dfb5f7 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 400
diff changeset
5787
404
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5788 private void readExceptions(SQLException e) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5789 while (e != null) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5790 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
5791 e = e.getNextException();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5792 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5793 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5794
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5795 private void readWarnings(SQLWarning w) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5796 while (w != null) {
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5797 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
5798 w = w.getNextWarning();
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5799 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5800 }
559aa626b550 Improved code and implemented all tests.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 401
diff changeset
5801
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
5802 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
5803 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
5804 foundDifferences = true;
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
5805 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
5806 System.err.print(testname);
651
3b6139d35057 Extend tests by also calling ResultSetMetaData methods getColumnTypeName(), getColumnType(), getPrecision() and getScale() from compareResultSet().
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 650
diff changeset
5807 if (!testname.endsWith(")") && !testname.endsWith(";"))
469
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
5808 System.err.print("()");
53911f29093c Change output to stderr when differences are found.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 464
diff changeset
5809 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
5810 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
5811 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
5812 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
5813 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
5814 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
5815 }
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
5816 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
5817 System.err.println("Test '" + testname
400
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
5818 + "' produced output > " + sbInitLen
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
5819 + " chars! Enlarge sbInitLen to: " + sb.length());
20bdae942f99 Implemented some more tests
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 399
diff changeset
5820 }
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
5821 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5822
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5823 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
5824 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
5825 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
5826 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
5827 } 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
5828 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5829 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5830
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5831 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
5832 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
5833 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
5834 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
5835 } 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
5836 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5837 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
5838 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
5839 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
5840 } 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
5841 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5842 }
0eef53e06007 Add JDBC_API_Tester program to test JDBC Driver API methods and behavior of MonetDB server.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents:
diff changeset
5843 }