Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
470e0f2d
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
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,发现更多精彩内容 >>
提交
470e0f2d
编写于
12月 05, 2022
作者:
G
Ganlin Zhao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix timetruncate test cases
上级
e18da31a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
37 addition
and
21 deletion
+37
-21
tests/system-test/2-query/timetruncate.py
tests/system-test/2-query/timetruncate.py
+37
-21
未找到文件。
tests/system-test/2-query/timetruncate.py
浏览文件 @
470e0f2d
...
...
@@ -30,7 +30,7 @@ class TDTestCase:
self
.
stbname
=
f
'
{
self
.
dbname
}
.stb'
self
.
ctbname
=
f
'
{
self
.
dbname
}
.ctb'
def
check_ms_timestamp
(
self
,
unit
,
date_time
):
def
check_ms_timestamp
(
self
,
unit
,
date_time
,
ignore_tz
):
if
unit
.
lower
()
==
'1a'
:
for
i
in
range
(
len
(
self
.
ts_str
)):
ts_result
=
self
.
get_time
.
get_ms_timestamp
(
str
(
tdSql
.
queryResult
[
i
][
0
]))
...
...
@@ -50,13 +50,17 @@ class TDTestCase:
elif
unit
.
lower
()
==
'1d'
:
for
i
in
range
(
len
(
self
.
ts_str
)):
ts_result
=
self
.
get_time
.
get_ms_timestamp
(
str
(
tdSql
.
queryResult
[
i
][
0
]))
tdSql
.
checkEqual
(
ts_result
,
int
(
date_time
[
i
]
/
1000
/
60
/
60
/
24
)
*
24
*
60
*
60
*
1000
)
if
ignore_tz
==
0
:
tdSql
.
checkEqual
(
ts_result
,
int
(
date_time
[
i
]
/
1000
/
60
/
60
/
24
)
*
24
*
60
*
60
*
1000
)
else
:
# assuming the client timezone is UTC+0800
tdSql
.
checkEqual
(
ts_result
,
int
(
date_time
[
i
]
-
(
date_time
[
i
]
+
8
*
3600
*
1000
)
%
(
86400
*
1000
)))
elif
unit
.
lower
()
==
'1w'
:
for
i
in
range
(
len
(
self
.
ts_str
)):
ts_result
=
self
.
get_time
.
get_ms_timestamp
(
str
(
tdSql
.
queryResult
[
i
][
0
]))
tdSql
.
checkEqual
(
ts_result
,
int
(
date_time
[
i
]
/
1000
/
60
/
60
/
24
/
7
)
*
7
*
24
*
60
*
60
*
1000
)
def
check_us_timestamp
(
self
,
unit
,
date_time
):
def
check_us_timestamp
(
self
,
unit
,
date_time
,
ignore_tz
):
if
unit
.
lower
()
==
'1u'
:
for
i
in
range
(
len
(
self
.
ts_str
)):
ts_result
=
self
.
get_time
.
get_us_timestamp
(
str
(
tdSql
.
queryResult
[
i
][
0
]))
...
...
@@ -80,13 +84,17 @@ class TDTestCase:
elif
unit
.
lower
()
==
'1d'
:
for
i
in
range
(
len
(
self
.
ts_str
)):
ts_result
=
self
.
get_time
.
get_us_timestamp
(
str
(
tdSql
.
queryResult
[
i
][
0
]))
tdSql
.
checkEqual
(
ts_result
,
int
(
date_time
[
i
]
/
1000
/
1000
/
60
/
60
/
24
)
*
24
*
60
*
60
*
1000
*
1000
)
if
ignore_tz
==
0
:
tdSql
.
checkEqual
(
ts_result
,
int
(
date_time
[
i
]
/
1000
/
1000
/
60
/
60
/
24
)
*
24
*
60
*
60
*
1000
*
1000
)
else
:
# assuming the client timezone is UTC+0800
tdSql
.
checkEqual
(
ts_result
,
int
(
date_time
[
i
]
-
(
date_time
[
i
]
+
8
*
3600
*
1000000
)
%
(
86400
*
1000000
)))
elif
unit
.
lower
()
==
'1w'
:
for
i
in
range
(
len
(
self
.
ts_str
)):
ts_result
=
self
.
get_time
.
get_us_timestamp
(
str
(
tdSql
.
queryResult
[
i
][
0
]))
tdSql
.
checkEqual
(
ts_result
,
int
(
date_time
[
i
]
/
1000
/
1000
/
60
/
60
/
24
/
7
)
*
7
*
24
*
60
*
60
*
1000
*
1000
)
def
check_ns_timestamp
(
self
,
unit
,
date_time
):
def
check_ns_timestamp
(
self
,
unit
,
date_time
,
ignore_tz
):
if
unit
.
lower
()
==
'1b'
:
for
i
in
range
(
len
(
self
.
ts_str
)):
if
self
.
rest_tag
!=
'rest'
:
...
...
@@ -114,21 +122,26 @@ class TDTestCase:
elif
unit
.
lower
()
==
'1d'
:
for
i
in
range
(
len
(
self
.
ts_str
)):
if
self
.
rest_tag
!=
'rest'
:
tdSql
.
checkEqual
(
tdSql
.
queryResult
[
i
][
0
],
int
(
date_time
[
i
]
*
1000
/
1000
/
1000
/
1000
/
1000
/
60
/
60
/
24
)
*
24
*
60
*
60
*
1000
*
1000
*
1000
)
if
ignore_tz
==
0
:
tdSql
.
checkEqual
(
tdSql
.
queryResult
[
i
][
0
],
int
(
date_time
[
i
]
*
1000
/
1000
/
1000
/
1000
/
1000
/
60
/
60
/
24
)
*
24
*
60
*
60
*
1000
*
1000
*
1000
)
else
:
# assuming the client timezone is UTC+0800
tdSql
.
checkEqual
(
tdSql
.
queryResult
[
i
][
0
],
int
(
date_time
[
i
]
-
(
date_time
[
i
]
+
8
*
3600
*
1000000
)
%
(
86400
*
1000000
)))
elif
unit
.
lower
()
==
'1w'
:
for
i
in
range
(
len
(
self
.
ts_str
)):
if
self
.
rest_tag
!=
'rest'
:
tdSql
.
checkEqual
(
tdSql
.
queryResult
[
i
][
0
],
int
(
date_time
[
i
]
*
1000
/
1000
/
1000
/
1000
/
1000
/
60
/
60
/
24
/
7
)
*
7
*
24
*
60
*
60
*
1000
*
1000
*
1000
)
def
check_tb_type
(
self
,
unit
,
tb_type
):
def
check_tb_type
(
self
,
unit
,
tb_type
,
ignore_tz
):
if
tb_type
.
lower
()
==
'ntb'
:
tdSql
.
query
(
f
'select timetruncate(ts,
{
unit
}
) from
{
self
.
ntbname
}
'
)
tdSql
.
query
(
f
'select timetruncate(ts,
{
unit
}
,
{
ignore_tz
}
) from
{
self
.
ntbname
}
'
)
elif
tb_type
.
lower
()
==
'ctb'
:
tdSql
.
query
(
f
'select timetruncate(ts,
{
unit
}
) from
{
self
.
ctbname
}
'
)
tdSql
.
query
(
f
'select timetruncate(ts,
{
unit
}
,
{
ignore_tz
}
) from
{
self
.
ctbname
}
'
)
elif
tb_type
.
lower
()
==
'stb'
:
tdSql
.
query
(
f
'select timetruncate(ts,
{
unit
}
) from
{
self
.
stbname
}
'
)
tdSql
.
query
(
f
'select timetruncate(ts,
{
unit
}
,
{
ignore_tz
}
) from
{
self
.
stbname
}
'
)
def
data_check
(
self
,
date_time
,
precision
,
tb_type
):
tz_options
=
[
0
,
1
]
for
unit
in
self
.
time_unit
:
if
(
unit
.
lower
()
==
'1u'
and
precision
.
lower
()
==
'ms'
)
or
(
unit
.
lower
()
==
'1b'
and
precision
.
lower
()
==
'us'
)
or
(
unit
.
lower
()
==
'1b'
and
precision
.
lower
()
==
'ms'
):
if
tb_type
.
lower
()
==
'ntb'
:
...
...
@@ -138,17 +151,20 @@ class TDTestCase:
elif
tb_type
.
lower
()
==
'stb'
:
tdSql
.
error
(
f
'select timetruncate(ts,
{
unit
}
) from
{
self
.
stbname
}
'
)
elif
precision
.
lower
()
==
'ms'
:
self
.
check_tb_type
(
unit
,
tb_type
)
tdSql
.
checkRows
(
len
(
self
.
ts_str
))
self
.
check_ms_timestamp
(
unit
,
date_time
)
for
ignore_tz
in
tz_options
:
self
.
check_tb_type
(
unit
,
tb_type
,
ignore_tz
)
tdSql
.
checkRows
(
len
(
self
.
ts_str
))
self
.
check_ms_timestamp
(
unit
,
date_time
,
ignore_tz
)
elif
precision
.
lower
()
==
'us'
:
self
.
check_tb_type
(
unit
,
tb_type
)
tdSql
.
checkRows
(
len
(
self
.
ts_str
))
self
.
check_us_timestamp
(
unit
,
date_time
)
for
ignore_tz
in
tz_options
:
self
.
check_tb_type
(
unit
,
tb_type
,
ignore_tz
)
tdSql
.
checkRows
(
len
(
self
.
ts_str
))
self
.
check_us_timestamp
(
unit
,
date_time
,
ignore_tz
)
elif
precision
.
lower
()
==
'ns'
:
self
.
check_tb_type
(
unit
,
tb_type
)
tdSql
.
checkRows
(
len
(
self
.
ts_str
))
self
.
check_ns_timestamp
(
unit
,
date_time
)
for
ignore_tz
in
tz_options
:
self
.
check_tb_type
(
unit
,
tb_type
,
ignore_tz
)
tdSql
.
checkRows
(
len
(
self
.
ts_str
))
self
.
check_ns_timestamp
(
unit
,
date_time
,
ignore_tz
)
for
unit
in
self
.
error_unit
:
if
tb_type
.
lower
()
==
'ntb'
:
tdSql
.
error
(
f
'select timetruncate(ts,
{
unit
}
) from
{
self
.
ntbname
}
'
)
...
...
@@ -181,8 +197,8 @@ class TDTestCase:
date_time
=
self
.
get_time
.
time_transform
(
self
.
ts_str
,
precision
)
self
.
data_check
(
date_time
,
precision
,
'ctb'
)
self
.
data_check
(
date_time
,
precision
,
'stb'
)
def
run
(
self
):
self
.
function_check_ntb
()
self
.
function_check_stb
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录