Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
0489024e
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
提交
0489024e
编写于
12月 31, 2020
作者:
P
Ping Xiao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-2354]<test>: add test case for cache last_row
上级
1170afdb
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
323 addition
and
2 deletion
+323
-2
tests/pytest/fulltest.sh
tests/pytest/fulltest.sh
+4
-2
tests/pytest/query/last_cache.py
tests/pytest/query/last_cache.py
+133
-0
tests/pytest/query/last_row_cache.py
tests/pytest/query/last_row_cache.py
+186
-0
未找到文件。
tests/pytest/fulltest.sh
浏览文件 @
0489024e
...
...
@@ -224,8 +224,10 @@ python3 ./test.py -f functions/function_twa_test2.py
python3 queryCount.py
python3 ./test.py
-f
query/queryGroupbyWithInterval.py
python3 client/twoClients.py
python3 test.py
-f
query/queryInterval.py
python3 test.py
-f
query/queryFillTest.py
python3 ./test.py
-f
query/queryInterval.py
python3 ./test.py
-f
query/queryFillTest.py
python3 ./test.py
-f
query/last_row_cache.py
python3 ./test.py
-f
query/last_cache.py
# tools
python3 test.py
-f
tools/taosdemoTest.py
...
...
tests/pytest/query/last_cache.py
0 → 100644
浏览文件 @
0489024e
###################################################################
# Copyright (c) 2016 by TAOS Technologies, Inc.
# All rights reserved.
#
# This file is proprietary and confidential to TAOS Technologies.
# No part of this file may be reproduced, stored, transmitted,
# disclosed or used in any form or by any means other than as
# expressly provided by the written permission from Jianhui Tao
#
###################################################################
# -*- coding: utf-8 -*-
import
sys
import
taos
from
util.log
import
tdLog
from
util.cases
import
tdCases
from
util.sql
import
tdSql
from
util.dnodes
import
tdDnodes
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
"start to execute %s"
%
__file__
)
tdSql
.
init
(
conn
.
cursor
(),
logSql
)
self
.
tables
=
10
self
.
rows
=
20
self
.
perfix
=
't'
self
.
ts
=
1601481600000
def
insertData
(
self
):
print
(
"==============step1"
)
tdSql
.
execute
(
"create table st (ts timestamp, c1 int) tags(t1 int)"
)
for
i
in
range
(
self
.
tables
):
tdSql
.
execute
(
"create table %s%d using st tags(%d)"
%
(
self
.
perfix
,
i
,
i
))
for
j
in
range
(
self
.
rows
):
tc
=
self
.
ts
+
j
*
60000
tdSql
.
execute
(
"insert into %s%d values(%d, %d)"
%
(
self
.
perfix
,
i
,
tc
,
j
))
def
executeQueries
(
self
):
print
(
"==============step2"
)
tdSql
.
query
(
"select last(c1) from %s%d"
%
(
self
.
perfix
,
1
))
tdSql
.
checkData
(
0
,
0
,
19
)
tdSql
.
query
(
"select last(c1) from %s%d where ts <= %d"
%
(
self
.
perfix
,
1
,
self
.
ts
+
4
*
60000
))
tdSql
.
checkData
(
0
,
0
,
4
)
tdSql
.
query
(
"select last(c1) as b from %s%d"
%
(
self
.
perfix
,
1
))
tdSql
.
checkData
(
0
,
0
,
19
)
tdSql
.
query
(
"select last(c1) from %s%d interval(1m)"
%
(
self
.
perfix
,
1
))
tdSql
.
checkData
(
1
,
1
,
1
)
tdSql
.
query
(
"select last(c1) from %s%d interval(1d)"
%
(
self
.
perfix
,
1
))
tdSql
.
checkData
(
0
,
1
,
19
)
tdSql
.
query
(
"select last(c1) from %s%d where ts <= %d interval(1m)"
%
(
self
.
perfix
,
1
,
self
.
ts
+
4
*
60000
))
tdSql
.
checkRows
(
5
)
tdSql
.
checkData
(
1
,
1
,
1
)
tdSql
.
query
(
"select last(c1) from st"
)
tdSql
.
checkData
(
0
,
0
,
19
)
tdSql
.
query
(
"select last(c1) as c from st where ts <= %d"
%
(
self
.
ts
+
4
*
60000
))
tdSql
.
checkData
(
0
,
0
,
4
)
tdSql
.
query
(
"select last(c1) as c from st where t1 <= 5"
)
tdSql
.
checkData
(
0
,
0
,
19
)
tdSql
.
query
(
"select last(c1) as c from st where t1 <= 5 and ts <= %d"
%
(
self
.
ts
+
4
*
60000
))
tdSql
.
checkData
(
0
,
0
,
4
)
tdSql
.
query
(
"select last(c1) from st interval(1m)"
)
tdSql
.
checkData
(
1
,
1
,
1
)
tdSql
.
query
(
"select last(c1) from st interval(1d)"
)
tdSql
.
checkData
(
0
,
1
,
19
)
tdSql
.
query
(
"select last(c1) from st group by t1"
)
tdSql
.
checkRows
(
10
)
tdSql
.
checkData
(
0
,
0
,
19
)
tdSql
.
query
(
"select last(c1) as c from st where ts <= %d interval(1m) group by t1"
%
(
self
.
ts
+
4
*
60000
))
tdSql
.
checkData
(
1
,
1
,
1
)
tdSql
.
checkRows
(
50
)
def
run
(
self
):
tdSql
.
prepare
()
# last_cache_0.sim
tdSql
.
execute
(
"create database test1 cachelast 0"
)
tdSql
.
execute
(
"use test1"
)
self
.
insertData
()
self
.
executeQueries
()
tdSql
.
execute
(
"alter database test1 cachelast 1"
)
self
.
executeQueries
()
tdDnodes
.
stop
(
1
)
tdDnodes
.
start
(
1
)
self
.
executeQueries
()
tdSql
.
execute
(
"alter database test1 cachelast 0"
)
self
.
executeQueries
()
tdDnodes
.
stop
(
1
)
tdDnodes
.
start
(
1
)
self
.
executeQueries
()
# last_cache_1.sim
tdSql
.
execute
(
"create database test2 cachelast 1"
)
tdSql
.
execute
(
"use test2"
)
self
.
insertData
()
self
.
executeQueries
()
tdSql
.
execute
(
"alter database test2 cachelast 0"
)
self
.
executeQueries
()
tdDnodes
.
stop
(
1
)
tdDnodes
.
start
(
1
)
self
.
executeQueries
()
tdSql
.
execute
(
"alter database test2 cachelast 1"
)
self
.
executeQueries
()
tdDnodes
.
stop
(
1
)
tdDnodes
.
start
(
1
)
self
.
executeQueries
()
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
tests/pytest/query/last_row_cache.py
0 → 100644
浏览文件 @
0489024e
###################################################################
# Copyright (c) 2016 by TAOS Technologies, Inc.
# All rights reserved.
#
# This file is proprietary and confidential to TAOS Technologies.
# No part of this file may be reproduced, stored, transmitted,
# disclosed or used in any form or by any means other than as
# expressly provided by the written permission from Jianhui Tao
#
###################################################################
# -*- coding: utf-8 -*-
import
sys
import
taos
from
util.log
import
tdLog
from
util.cases
import
tdCases
from
util.sql
import
tdSql
from
util.dnodes
import
tdDnodes
class
TDTestCase
:
def
init
(
self
,
conn
,
logSql
):
tdLog
.
debug
(
"start to execute %s"
%
__file__
)
tdSql
.
init
(
conn
.
cursor
(),
logSql
)
self
.
tables
=
10
self
.
rows
=
20
self
.
perfix
=
't'
self
.
ts
=
1601481600000
def
insertData
(
self
):
print
(
"==============step1"
)
tdSql
.
execute
(
"create table st (ts timestamp, c1 int) tags(t1 int)"
)
for
i
in
range
(
self
.
tables
):
tdSql
.
execute
(
"create table %s%d using st tags(%d)"
%
(
self
.
perfix
,
i
,
i
))
for
j
in
range
(
self
.
rows
):
tc
=
self
.
ts
+
j
*
60000
tdSql
.
execute
(
"insert into %s%d values(%d, %d)"
%
(
self
.
perfix
,
i
,
tc
,
j
))
def
executeQueries
(
self
):
print
(
"==============step2"
)
tdSql
.
query
(
"select last_row(c1) from %s%d"
%
(
self
.
perfix
,
1
))
tdSql
.
checkData
(
0
,
0
,
19
)
tdSql
.
query
(
"select last_row(c1) from %s%d where ts <= %d"
%
(
self
.
perfix
,
1
,
self
.
ts
+
4
*
60000
))
tdSql
.
checkData
(
0
,
0
,
4
)
tdSql
.
query
(
"select last_row(c1) as b from %s%d"
%
(
self
.
perfix
,
1
))
tdSql
.
checkData
(
0
,
0
,
19
)
tdSql
.
query
(
"select last_row(c1) from st"
)
tdSql
.
checkData
(
0
,
0
,
19
)
tdSql
.
query
(
"select last_row(c1) as c from st where ts <= %d"
%
(
self
.
ts
+
4
*
60000
))
tdSql
.
checkData
(
0
,
0
,
4
)
tdSql
.
query
(
"select last_row(c1) as c from st where t1 < 5"
)
tdSql
.
checkData
(
0
,
0
,
19
)
tdSql
.
query
(
"select last_row(c1) as c from st where t1 <= 5 and ts <= %d"
%
(
self
.
ts
+
4
*
60000
))
tdSql
.
checkData
(
0
,
0
,
4
)
tdSql
.
query
(
"select last_row(c1) as c from st group by t1"
)
tdSql
.
checkRows
(
10
)
tdSql
.
checkData
(
0
,
0
,
19
)
tc
=
self
.
ts
+
1
*
3600000
tdSql
.
execute
(
"insert into %s%d values(%d, %d)"
%
(
self
.
perfix
,
1
,
tc
,
10
))
tc
=
self
.
ts
+
3
*
3600000
tdSql
.
execute
(
"insert into %s%d values(%d, null)"
%
(
self
.
perfix
,
1
,
tc
))
tc
=
self
.
ts
+
5
*
3600000
tdSql
.
execute
(
"insert into %s%d values(%d, %d)"
%
(
self
.
perfix
,
1
,
tc
,
-
1
))
tc
=
self
.
ts
+
7
*
3600000
tdSql
.
execute
(
"insert into %s%d values(%d, null)"
%
(
self
.
perfix
,
1
,
tc
))
def
insertData2
(
self
):
tc
=
self
.
ts
+
1
*
3600000
tdSql
.
execute
(
"insert into %s%d values(%d, %d)"
%
(
self
.
perfix
,
1
,
tc
,
10
))
tc
=
self
.
ts
+
3
*
3600000
tdSql
.
execute
(
"insert into %s%d values(%d, null)"
%
(
self
.
perfix
,
1
,
tc
))
tc
=
self
.
ts
+
5
*
3600000
tdSql
.
execute
(
"insert into %s%d values(%d, %d)"
%
(
self
.
perfix
,
1
,
tc
,
-
1
))
tc
=
self
.
ts
+
7
*
3600000
tdSql
.
execute
(
"insert into %s%d values(%d, null)"
%
(
self
.
perfix
,
1
,
tc
))
def
executeQueries2
(
self
):
# For stable
tc
=
self
.
ts
+
6
*
3600000
tdSql
.
query
(
"select last_row(c1) from st where ts < %d "
%
tc
)
tdSql
.
checkData
(
0
,
0
,
-
1
)
tc
=
self
.
ts
+
8
*
3600000
tdSql
.
query
(
"select last_row(*) from st where ts < %d "
%
tc
)
tdSql
.
checkData
(
0
,
1
,
None
)
tdSql
.
query
(
"select last_row(*) from st"
)
tdSql
.
checkData
(
0
,
1
,
None
)
tc
=
self
.
ts
+
4
*
3600000
tdSql
.
query
(
"select last_row(*) from st where ts < %d "
%
tc
)
tdSql
.
checkData
(
0
,
1
,
None
)
tc1
=
self
.
ts
+
1
*
3600000
tc2
=
self
.
ts
+
4
*
3600000
tdSql
.
query
(
"select last_row(*) from st where ts > %d and ts <= %d"
%
(
tc1
,
tc2
))
tdSql
.
checkData
(
0
,
1
,
None
)
# For table
tc
=
self
.
ts
+
6
*
3600000
tdSql
.
query
(
"select last_row(*) from %s%d where ts <= %d"
%
(
self
.
perfix
,
1
,
tc
))
tdSql
.
checkData
(
0
,
1
,
-
1
)
tc
=
self
.
ts
+
8
*
3600000
tdSql
.
query
(
"select last_row(*) from %s%d where ts <= %d"
%
(
self
.
perfix
,
1
,
tc
))
tdSql
.
checkData
(
0
,
1
,
None
)
tdSql
.
query
(
"select last_row(*) from %s%d"
%
(
self
.
perfix
,
1
))
tdSql
.
checkData
(
0
,
1
,
None
)
tc
=
self
.
ts
+
4
*
3600000
tdSql
.
query
(
"select last_row(*) from %s%d where ts <= %d"
%
(
self
.
perfix
,
1
,
tc
))
tdSql
.
checkData
(
0
,
1
,
None
)
tc1
=
self
.
ts
+
1
*
3600000
tc2
=
self
.
ts
+
4
*
3600000
tdSql
.
query
(
"select last_row(*) from st where ts > %d and ts <= %d"
%
(
tc1
,
tc2
))
tdSql
.
checkData
(
0
,
1
,
None
)
def
run
(
self
):
tdSql
.
prepare
()
print
(
"============== last_row_cache_0.sim"
)
tdSql
.
execute
(
"create database test1 cachelast 0"
)
tdSql
.
execute
(
"use test1"
)
self
.
insertData
()
self
.
executeQueries
()
self
.
insertData2
()
self
.
executeQueries2
()
print
(
"============== alter last cache"
)
tdSql
.
execute
(
"alter database test1 cachelast 1"
)
self
.
executeQueries2
()
tdDnodes
.
stop
(
1
)
tdDnodes
.
start
(
1
)
self
.
executeQueries2
()
tdSql
.
execute
(
"alter database test1 cachelast 0"
)
self
.
executeQueries2
()
tdDnodes
.
stop
(
1
)
tdDnodes
.
start
(
1
)
self
.
executeQueries2
()
print
(
"============== last_row_cache_1.sim"
)
tdSql
.
execute
(
"create database test2 cachelast 1"
)
tdSql
.
execute
(
"use test2"
)
self
.
insertData
()
self
.
executeQueries
()
self
.
insertData2
()
self
.
executeQueries2
()
tdSql
.
execute
(
"alter database test2 cachelast 0"
)
self
.
executeQueries2
()
tdDnodes
.
stop
(
1
)
tdDnodes
.
start
(
1
)
self
.
executeQueries2
()
tdSql
.
execute
(
"alter database test2 cachelast 1"
)
self
.
executeQueries2
()
tdDnodes
.
stop
(
1
)
tdDnodes
.
start
(
1
)
self
.
executeQueries2
()
def
stop
(
self
):
tdSql
.
close
()
tdLog
.
success
(
"%s successfully executed"
%
__file__
)
tdCases
.
addWindows
(
__file__
,
TDTestCase
())
tdCases
.
addLinux
(
__file__
,
TDTestCase
())
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录