Mercurial > hg > monetdb-java
comparison tests/Test_Rtimedate.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_Rtimedate { | |
12 public static void main(String[] args) throws Exception { | |
13 Class.forName("nl.cwi.monetdb.jdbc.MonetDriver"); | |
14 Connection con = DriverManager.getConnection(args[0]); | |
15 Statement stmt = con.createStatement(); | |
16 ResultSet rs = null; | |
17 //DatabaseMetaData dbmd = con.getMetaData(); | |
18 | |
19 con.setAutoCommit(false); | |
20 // >> false: auto commit should be off now | |
21 System.out.println("false\t" + con.getAutoCommit()); | |
22 | |
23 try { | |
24 stmt.executeUpdate("CREATE TABLE table_Test_Rtimedate ( id int, ts timestamp, t time, d date, vc varchar(30), PRIMARY KEY (id) )"); | |
25 | |
26 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, ts) VALUES (1, timestamp '2004-04-24 11:43:53.000')"); | |
27 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, t) VALUES (2, time '11:43:53.000')"); | |
28 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, d) VALUES (3, date '2004-04-24')"); | |
29 | |
30 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, vc) VALUES (4, '2004-04-24 11:43:53.000000')"); | |
31 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, vc) VALUES (5, '11:43:53')"); | |
32 stmt.executeUpdate("INSERT INTO table_Test_Rtimedate(id, vc) VALUES (6, '2004-04-24')"); | |
33 | |
34 rs = stmt.executeQuery("SELECT * FROM table_Test_Rtimedate"); | |
35 | |
36 rs.next(); | |
37 readWarnings(rs.getWarnings()); | |
38 rs.clearWarnings(); | |
39 // the next three should all go well | |
40 System.out.println("1. " + rs.getString("id") + ", " + rs.getString("ts") + ", " + rs.getTimestamp("ts")); | |
41 readWarnings(rs.getWarnings()); | |
42 rs.clearWarnings(); | |
43 System.out.println("2. " + rs.getString("id") + ", " + rs.getString("ts") + ", " + rs.getTime("ts")); | |
44 readWarnings(rs.getWarnings()); | |
45 rs.clearWarnings(); | |
46 System.out.println("3. " + rs.getString("id") + ", " + rs.getString("ts") + ", " + rs.getDate("ts")); | |
47 readWarnings(rs.getWarnings()); | |
48 rs.clearWarnings(); | |
49 rs.next(); | |
50 readWarnings(rs.getWarnings()); | |
51 rs.clearWarnings(); | |
52 // the next two should go fine | |
53 System.out.println("4. " + rs.getString("id") + ", " + rs.getString("t") + ", " + rs.getTimestamp("t")); | |
54 readWarnings(rs.getWarnings()); | |
55 rs.clearWarnings(); | |
56 System.out.println("5. " + rs.getString("id") + ", " + rs.getString("t") + ", " + rs.getTime("t")); | |
57 readWarnings(rs.getWarnings()); | |
58 rs.clearWarnings(); | |
59 // this one should return 0 | |
60 System.out.println("6. " + rs.getString("id") + ", " + rs.getString("t") + ", " + rs.getDate("t")); | |
61 readWarnings(rs.getWarnings()); | |
62 rs.clearWarnings(); | |
63 rs.next(); | |
64 readWarnings(rs.getWarnings()); | |
65 rs.clearWarnings(); | |
66 // the next one passes | |
67 System.out.println("7. " + rs.getString("id") + ", " + rs.getString("d") + ", " + rs.getTimestamp("d")); | |
68 readWarnings(rs.getWarnings()); | |
69 rs.clearWarnings(); | |
70 // this one should return 0 | |
71 System.out.println("8. " + rs.getString("id") + ", " + rs.getString("d") + ", " + rs.getTime("d")); | |
72 readWarnings(rs.getWarnings()); | |
73 rs.clearWarnings(); | |
74 // and this one should pass again | |
75 System.out.println("9. " + rs.getString("id") + ", " + rs.getString("d") + ", " + rs.getDate("d")); | |
76 readWarnings(rs.getWarnings()); | |
77 rs.clearWarnings(); | |
78 | |
79 // in the tests below a bare string is parsed | |
80 // everything will fail except the ones commented on | |
81 rs.next(); | |
82 readWarnings(rs.getWarnings()); | |
83 rs.clearWarnings(); | |
84 // timestamp -> timestamp should go | |
85 System.out.println("1. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTimestamp("vc")); | |
86 readWarnings(rs.getWarnings()); | |
87 rs.clearWarnings(); | |
88 System.out.println("2. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTime("vc")); | |
89 readWarnings(rs.getWarnings()); | |
90 rs.clearWarnings(); | |
91 // timestamp -> date goes because the begin is the same | |
92 System.out.println("3. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getDate("vc")); | |
93 readWarnings(rs.getWarnings()); | |
94 rs.clearWarnings(); | |
95 rs.next(); | |
96 readWarnings(rs.getWarnings()); | |
97 rs.clearWarnings(); | |
98 System.out.println("4. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTimestamp("vc")); | |
99 readWarnings(rs.getWarnings()); | |
100 rs.clearWarnings(); | |
101 // time -> time should fit | |
102 System.out.println("5. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTime("vc")); | |
103 readWarnings(rs.getWarnings()); | |
104 rs.clearWarnings(); | |
105 System.out.println("6. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getDate("vc")); | |
106 readWarnings(rs.getWarnings()); | |
107 rs.clearWarnings(); | |
108 rs.next(); | |
109 readWarnings(rs.getWarnings()); | |
110 rs.clearWarnings(); | |
111 System.out.println("7. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTimestamp("vc")); | |
112 readWarnings(rs.getWarnings()); | |
113 rs.clearWarnings(); | |
114 System.out.println("8. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getTime("vc")); | |
115 readWarnings(rs.getWarnings()); | |
116 rs.clearWarnings(); | |
117 // date -> date should be fine | |
118 System.out.println("9. " + rs.getString("id") + ", " + rs.getString("vc") + ", " + rs.getDate("vc")); | |
119 readWarnings(rs.getWarnings()); | |
120 rs.clearWarnings(); | |
121 | |
122 readWarnings(stmt.getWarnings()); | |
123 readWarnings(con.getWarnings()); | |
124 } catch (SQLException e) { | |
125 System.out.println("failed :( "+ e.getMessage()); | |
126 System.out.println("ABORTING TEST!!!"); | |
127 } | |
128 | |
129 con.rollback(); | |
130 con.close(); | |
131 } | |
132 | |
133 private static void readWarnings(SQLWarning w) { | |
134 while (w != null) { | |
135 System.out.println("warning: " + w.toString()); | |
136 w = w.getNextWarning(); | |
137 } | |
138 } | |
139 } |