Test/td 5626 (#7103)
* [TD-5626]<test>: add timezone test case for jdbc * change * change * change * change * [TD-5614]<hotfix>: handle client and server time not synchronized * change * do not test TimeZone Case * insert two rows
This commit is contained in:
parent
bdc83f0210
commit
d1112228cd
|
@ -122,6 +122,7 @@
|
|||
<exclude>**/TSDBJNIConnectorTest.java</exclude>
|
||||
<exclude>**/TaosInfoMonitorTest.java</exclude>
|
||||
<exclude>**/UnsignedNumberJniTest.java</exclude>
|
||||
<exclude>**/TimeZoneTest.java</exclude>
|
||||
</excludes>
|
||||
<testFailureIgnore>true</testFailureIgnore>
|
||||
</configuration>
|
||||
|
|
|
@ -80,7 +80,8 @@ public class TSDBJNIConnector {
|
|||
|
||||
this.taos = this.connectImp(host, port, dbName, user, password);
|
||||
if (this.taos == TSDBConstants.JNI_NULL_POINTER) {
|
||||
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_JNI_CONNECTION_NULL);
|
||||
String errMsg = this.getErrMsg(0);
|
||||
throw TSDBError.createSQLException(TSDBErrorNumbers.ERROR_JNI_CONNECTION_NULL, errMsg);
|
||||
}
|
||||
// invoke connectImp only here
|
||||
taosInfo.conn_open_increment();
|
||||
|
|
|
@ -34,9 +34,8 @@ public class QueryDataTest {
|
|||
|
||||
String createTableSql = "create table " + stbName + "(ts timestamp, name binary(64))";
|
||||
statement.executeUpdate(createTableSql);
|
||||
|
||||
} catch (SQLException e) {
|
||||
return;
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
package com.taosdata.jdbc.cases;
|
||||
|
||||
import com.taosdata.jdbc.TSDBDriver;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.sql.*;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.util.Properties;
|
||||
|
||||
public class TimeZoneTest {
|
||||
|
||||
private String url = "jdbc:TAOS://127.0.0.1:6030/?user=root&password=taosdata";
|
||||
|
||||
@Test
|
||||
public void javaTimeZone() {
|
||||
LocalDateTime localDateTime = LocalDateTime.of(1970, 1, 1, 0, 0, 0);
|
||||
|
||||
Instant instant = localDateTime.atZone(ZoneId.of("UTC-8")).toInstant();
|
||||
System.out.println("UTC-8: " + instant.getEpochSecond() + "," + instant);
|
||||
|
||||
instant = localDateTime.atZone(ZoneId.of("UT")).toInstant();
|
||||
System.out.println("UTC: " + instant.getEpochSecond() + "," + instant);
|
||||
|
||||
|
||||
instant = localDateTime.atZone(ZoneId.of("UTC+8")).toInstant();
|
||||
System.out.println("UTC+8: " + instant.getEpochSecond() + "," + instant);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void taosTimeZone() {
|
||||
// given
|
||||
Properties props = new Properties();
|
||||
props.setProperty(TSDBDriver.PROPERTY_KEY_TIME_ZONE, "UTC-8");
|
||||
|
||||
// when and then
|
||||
try (Connection connection = DriverManager.getConnection(url, props)) {
|
||||
Statement stmt = connection.createStatement();
|
||||
|
||||
stmt.execute("drop database if exists timezone_test");
|
||||
stmt.execute("create database if not exists timezone_test keep 365000");
|
||||
stmt.execute("use timezone_test");
|
||||
stmt.execute("create table weather(ts timestamp, temperature float)");
|
||||
|
||||
stmt.execute("insert into timezone_test.weather(ts, temperature) values('1970-01-01 00:00:00', 1.0)");
|
||||
|
||||
ResultSet rs = stmt.executeQuery("select * from timezone_test.weather");
|
||||
while (rs.next()) {
|
||||
Timestamp ts = rs.getTimestamp("ts");
|
||||
System.out.println("ts: " + ts.getTime() + "," + ts);
|
||||
}
|
||||
|
||||
stmt.execute("insert into timezone_test.weather(ts, temperature, humidity) values('1970-01-02 00:00:00', 1.0, 2.0)");
|
||||
|
||||
rs = stmt.executeQuery("select * from timezone_test.weather");
|
||||
while (rs.next()) {
|
||||
Timestamp ts = rs.getTimestamp("ts");
|
||||
System.out.println("ts: " + ts.getTime() + "," + ts);
|
||||
}
|
||||
|
||||
|
||||
stmt.execute("drop database if exists timezone_test");
|
||||
|
||||
stmt.close();
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue