Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
eb7654c0
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1181
Star
22014
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
eb7654c0
编写于
3月 10, 2021
作者:
sangshuduo
提交者:
GitHub
3月 10, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #5396 from taosdata/feature/TD-2975
[TD-2975]<feature>: jdbc support datetime before 1970
上级
7881ff72
aa7ea589
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
71 addition
and
5 deletion
+71
-5
src/connector/jdbc/src/main/java/com/taosdata/jdbc/AbstractDriver.java
.../jdbc/src/main/java/com/taosdata/jdbc/AbstractDriver.java
+2
-4
src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/DatetimeBefore1970Test.java
.../java/com/taosdata/jdbc/cases/DatetimeBefore1970Test.java
+68
-0
src/connector/jdbc/src/test/java/com/taosdata/jdbc/utils/TimestampUtil.java
.../src/test/java/com/taosdata/jdbc/utils/TimestampUtil.java
+1
-1
未找到文件。
src/connector/jdbc/src/main/java/com/taosdata/jdbc/AbstractDriver.java
浏览文件 @
eb7654c0
...
...
@@ -57,10 +57,8 @@ public abstract class AbstractDriver implements Driver {
}
protected
void
loadTaosConfig
(
Properties
info
)
{
if
((
info
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_HOST
)
==
null
||
info
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_HOST
).
isEmpty
())
&&
(
info
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_PORT
)
==
null
||
info
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_PORT
).
isEmpty
()))
{
if
((
info
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_HOST
)
==
null
||
info
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_HOST
).
isEmpty
())
&&
(
info
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_PORT
)
==
null
||
info
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_PORT
).
isEmpty
()))
{
File
cfgDir
=
loadConfigDir
(
info
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_CONFIG_DIR
));
File
cfgFile
=
cfgDir
.
listFiles
((
dir
,
name
)
->
TAOS_CFG_FILENAME
.
equalsIgnoreCase
(
name
))[
0
];
List
<
String
>
endpoints
=
loadConfigEndpoints
(
cfgFile
);
...
...
src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/DatetimeBefore1970Test.java
0 → 100644
浏览文件 @
eb7654c0
package
com.taosdata.jdbc.cases
;
import
com.taosdata.jdbc.utils.TimestampUtil
;
import
org.junit.AfterClass
;
import
org.junit.BeforeClass
;
import
org.junit.Test
;
import
java.sql.*
;
public
class
DatetimeBefore1970Test
{
private
static
Connection
conn
;
@Test
public
void
test
()
{
try
(
Statement
stmt
=
conn
.
createStatement
())
{
stmt
.
executeUpdate
(
"insert into weather(ts) values('1969-12-31 23:59:59.999')"
);
stmt
.
executeUpdate
(
"insert into weather(ts) values('1970-01-01 00:00:00.000')"
);
stmt
.
executeUpdate
(
"insert into weather(ts) values('1970-01-01 08:00:00.000')"
);
stmt
.
executeUpdate
(
"insert into weather(ts) values('1970-01-01 07:59:59.999')"
);
ResultSet
rs
=
stmt
.
executeQuery
(
"select * from weather"
);
while
(
rs
.
next
())
{
Timestamp
ts
=
rs
.
getTimestamp
(
"ts"
);
System
.
out
.
println
(
"long: "
+
ts
.
getTime
()
+
", string: "
+
TimestampUtil
.
longToDatetime
(
ts
.
getTime
()));
}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"timestamp: "
+
Long
.
MAX_VALUE
+
", string: "
+
TimestampUtil
.
longToDatetime
(
Long
.
MAX_VALUE
));
System
.
out
.
println
(
"timestamp: "
+
Long
.
MIN_VALUE
+
", string: "
+
TimestampUtil
.
longToDatetime
(
Long
.
MIN_VALUE
));
System
.
out
.
println
(
"timestamp: "
+
0
+
", string: "
+
TimestampUtil
.
longToDatetime
(
0
));
System
.
out
.
println
(
"timestamp: "
+
-
1
+
", string: "
+
TimestampUtil
.
longToDatetime
(-
1
));
String
datetime
=
"1970-01-01 00:00:00.000"
;
System
.
out
.
println
(
"timestamp: "
+
TimestampUtil
.
datetimeToLong
(
datetime
)
+
", string: "
+
datetime
);
datetime
=
"1969-12-31 23:59:59.999"
;
System
.
out
.
println
(
"timestamp: "
+
TimestampUtil
.
datetimeToLong
(
datetime
)
+
", string: "
+
datetime
);
}
@BeforeClass
public
static
void
beforeClass
()
{
try
{
Class
.
forName
(
"com.taosdata.jdbc.TSDBDriver"
);
conn
=
DriverManager
.
getConnection
(
"jdbc:TAOS://127.0.0.1:6030/?user=root&password=taosdata"
);
Statement
stmt
=
conn
.
createStatement
();
stmt
.
execute
(
"drop database if exists test_timestamp"
);
stmt
.
execute
(
"create database if not exists test_timestamp keep 36500"
);
stmt
.
execute
(
"use test_timestamp"
);
stmt
.
execute
(
"create table weather(ts timestamp,f1 float)"
);
stmt
.
close
();
}
catch
(
ClassNotFoundException
|
SQLException
e
)
{
e
.
printStackTrace
();
}
}
@AfterClass
public
static
void
afterClass
()
{
try
{
if
(
conn
!=
null
)
conn
.
close
();
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
}
src/connector/jdbc/src/test/java/com/taosdata/jdbc/utils/Time
S
tampUtil.java
→
src/connector/jdbc/src/test/java/com/taosdata/jdbc/utils/Time
s
tampUtil.java
浏览文件 @
eb7654c0
...
...
@@ -4,7 +4,7 @@ import java.text.ParseException;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
public
class
Time
S
tampUtil
{
public
class
Time
s
tampUtil
{
private
static
final
String
datetimeFormat
=
"yyyy-MM-dd HH:mm:ss.SSS"
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录