annotate tests/Test_PSlargebatchval.java @ 261:d4baf8a4b43a

Update Copyright year to 2019
author Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
date Thu, 03 Jan 2019 14:43:44 +0100 (2019-01-03)
parents 361fc7902a94
children 54137aeb1f92
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
1 /*
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
2 * This Source Code Form is subject to the terms of the Mozilla Public
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
5 *
261
d4baf8a4b43a Update Copyright year to 2019
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 201
diff changeset
6 * Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
7 */
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
8
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
9 import java.sql.*;
201
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
10 import java.io.StringReader;
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
11 import java.util.*;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
12 import java.nio.charset.Charset;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
13
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
14 public class Test_PSlargebatchval {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
15 public static void main(String[] args) throws Exception {
27
04fbf3655452 Disable Class.forName("nl.cwi.monetdb.jdbc.MonetDriver"); code
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 0
diff changeset
16 // Class.forName("nl.cwi.monetdb.jdbc.MonetDriver"); // not needed anymore for self registering JDBC drivers
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
17 Connection con = DriverManager.getConnection(args[0]);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
18 Statement stmt = con.createStatement();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
19 PreparedStatement pstmt;
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
20
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
21 // >> true: auto commit should be on
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
22 System.out.println("0. true\t" + con.getAutoCommit());
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
23
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
24 byte[] errorBytes = new byte[] { (byte) 0xe2, (byte) 0x80, (byte) 0xa7 };
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
25 String errorStr = new String(errorBytes, Charset.forName("UTF-8"));
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
26 StringBuilder repeatedErrorStr = new StringBuilder();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
27 for (int i = 0; i < 8170;i++) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
28 repeatedErrorStr.append(errorStr);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
29 }
201
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
30 String largeStr = repeatedErrorStr.toString();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
31
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
32 try {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
33 stmt.execute("CREATE TABLE x (c INT, a CLOB, b DOUBLE)");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
34 pstmt = con.prepareStatement("INSERT INTO x VALUES (?,?,?)");
201
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
35
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
36 pstmt.setLong(1, 1L);
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
37 pstmt.setString(2, largeStr);
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
38 pstmt.setDouble(3, 1.0);
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
39 pstmt.addBatch();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
40 pstmt.executeBatch();
201
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
41
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
42 /* test issue reported at https://www.monetdb.org/bugzilla/show_bug.cgi?id=3470 */
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
43 pstmt.setLong(1, -2L);
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
44 pstmt.setClob(2, new StringReader(largeStr));
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
45 pstmt.setDouble(3, -2.0);
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
46 pstmt.addBatch();
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
47 pstmt.executeBatch();
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
48
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
49 Clob myClob = con.createClob();
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
50 myClob.setString(1L, largeStr);
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
51
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
52 pstmt.setLong(1, 123456789L);
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
53 pstmt.setClob(2, myClob);
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
54 pstmt.setDouble(3, 12345678901.98765);
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
55 pstmt.addBatch();
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
56 pstmt.executeBatch();
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
57
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
58 pstmt.close();
201
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
59
361fc7902a94 Extend PreparedStatement test with calling setClob(int, Clob) and setClob(int, Reader) methods.
Martin van Dinther <martin.van.dinther@monetdbsolutions.com>
parents: 200
diff changeset
60 stmt.execute("DROP TABLE x");
0
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
61 stmt.close();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
62 } catch (SQLException e) {
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
63 System.out.println("FAILED :( "+ e.getMessage());
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
64 while ((e = e.getNextException()) != null)
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
65 System.out.println("FAILED :( " + e.getMessage());
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
66 System.out.println("ABORTING TEST!!!");
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
67 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
68
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
69 con.close();
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
70 }
a5a898f6886c Copy of MonetDB java directory changeset e6e32756ad31.
Sjoerd Mullender <sjoerd@acm.org>
parents:
diff changeset
71 }