Mercurial > hg > monetdb-java
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 } |