Skip to content

Commit 096426d

Browse files
committed
fix
1 parent 5c77190 commit 096426d

File tree

2 files changed

+19
-9
lines changed

2 files changed

+19
-9
lines changed

databend-jdbc/src/test/java/com/databend/jdbc/TestPrepareStatement.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -724,6 +724,7 @@ public void testSelectWithPreparedStatement()
724724
ResultSet r = statement.executeQuery();
725725
r.next();
726726
Assert.assertEquals(r.getString(1), "2021-01-01 00:00:00.000000");
727+
Assert.assertFalse(r.next());
727728
}
728729
}
729730
}

databend-jdbc/src/test/java/com/databend/jdbc/TestTypes.java

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,34 +38,43 @@ public void testGetTimestamp(boolean sameTZ)
3838
if (Compatibility.skipBugLowerThenOrEqualTo("1.2.844", "0.4.2")) {
3939
return;
4040
}
41-
calTz = "Asia/Shanghai";
41+
calTz = "America/Los_Angeles"; // -8/-7
4242
sessionTz = "Europe/Moscow"; // +3
4343
}
4444
TimeZone targetZone = TimeZone.getTimeZone(calTz);
4545
Calendar cal = Calendar.getInstance(targetZone);
46+
System.out.println("testGetTimestamp sameTZ=" + sameTZ);
4647

4748

4849
try (Connection connection = Utils.createConnectionWithPresignedUrlDisable();
4950
Statement statement = connection.createStatement()) {
5051

5152
statement.execute(String.format("set timezone='%s'", sessionTz));
52-
ResultSet r;
53-
Instant exp;
5453

5554
Object[][] cases = new Object[][]{
5655
// use tz in string, ignore session timezone
57-
{"2021-07-12T21:30:55+0700", "2021-07-12T14:30:55.000Z"},
56+
{"2021-07-12T21:30:55+0700", "2021-07-12T14:30:55.000Z", "same"},
5857
// use tz in string, ignore session timezone
59-
{"2022-07-12 14:30:55Z", "2022-07-12T14:30:55.000Z"},
60-
{"2023-07-12 14:30:55", "2023-07-12T06:30:55.000Z"},
58+
{"2022-07-12 14:30:55Z", "2022-07-12T14:30:55.000Z", "same"},
59+
{"2023-07-12 14:30:55", "2023-07-12T06:30:55.000Z", "2023-07-12T11:30:55.000Z"},
6160
};
6261

6362
for (int i = 0; i < cases.length; i++) {
6463
String sql = String.format("SELECT '%s'::timestamp", cases[i][0]);
65-
r = statement.executeQuery(sql);
64+
ResultSet r = statement.executeQuery(sql);
6665
r.next();
67-
exp = Instant.parse((String) cases[i][1]);
66+
String expS;
67+
if (sameTZ) {
68+
expS = (String) cases[i][1];
69+
} else {
70+
expS = (String) cases[i][2];
71+
if (expS.equals("same")) {
72+
expS = (String) cases[i][1];
73+
}
74+
}
75+
Instant exp = Instant.parse(expS);
6876
Assert.assertEquals(exp, r.getTimestamp(1).toInstant());
77+
// ignore cal
6978
Assert.assertEquals(exp, r.getTimestamp(1, cal).toInstant());
7079
r.close();
7180
}
@@ -135,7 +144,7 @@ public void testTypeTimestampTz()
135144

136145
r = statement.executeQuery("SELECT '1983-07-12 21:30:55 +0700'::timestamp_tz");
137146
r.next();
138-
Instant exp = Instant.parse("1983-07-12 14:30:55.000Z");
147+
Instant exp = Instant.parse("1983-07-12T14:30:55.000Z");
139148
Assert.assertEquals(exp, r.getTimestamp(1).toInstant());
140149
r.close();
141150

0 commit comments

Comments
 (0)