comparison tests/Test_CisValid.java @ 0:a5a898f6886c

Copy of MonetDB java directory changeset e6e32756ad31.
author Sjoerd Mullender <sjoerd@acm.org>
date Wed, 21 Sep 2016 09:34:48 +0200 (2016-09-21)
parents
children 04fbf3655452
comparison
equal deleted inserted replaced
-1:000000000000 0:a5a898f6886c
1 /*
2 * This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 *
6 * Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V.
7 */
8
9 import java.sql.*;
10
11 public class Test_CisValid {
12 /* Test that after an error has occurred during a transaction, one can
13 * still test if the connection is valid or not.
14 * The function Connection.isValid() should only return TRUE or FALSE. It
15 * shall never alter the state of this connection */
16 public static void main(String[] args) throws Exception {
17 Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
18 Connection conn = DriverManager.getConnection(args[0]);
19 Statement stmt = conn.createStatement();
20
21 try {
22 conn.setAutoCommit(false); // start a transaction
23 stmt.execute("SELECT COUNT(*) FROM doesnotexist;"); // let's trigger an error
24 } catch (SQLException e) {
25 // e.printStackTrace();
26 System.err.println("Expected error: " + e);
27
28 try {
29 // test calling conn.isValid()
30 System.out.println("Validating connection: conn.isValid? " + conn.isValid(30));
31 // Can we rollback on this connection without causing an error?
32 conn.rollback();
33 } catch (SQLException e2) {
34 System.err.println("UnExpected error: " + e2);
35 }
36 }
37
38 stmt.close();
39 conn.close();
40 }
41 }