Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
bb82cb0e
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
bb82cb0e
编写于
7月 22, 2022
作者:
C
Cary Xu
浏览文件
操作
浏览文件
下载
差异文件
Merge branch '3.0' into feature/TD-11274-3.0
上级
84e006ee
c88c56a7
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
33 addition
and
13 deletion
+33
-13
docs/zh/02-intro.md
docs/zh/02-intro.md
+1
-1
source/libs/planner/src/planLogicCreater.c
source/libs/planner/src/planLogicCreater.c
+11
-3
source/libs/planner/src/planOptimizer.c
source/libs/planner/src/planOptimizer.c
+10
-1
tests/system-test/1-insert/update_data.py
tests/system-test/1-insert/update_data.py
+7
-3
tests/system-test/2-query/last.py
tests/system-test/2-query/last.py
+3
-3
tests/system-test/fulltest.sh
tests/system-test/fulltest.sh
+1
-2
未找到文件。
docs/zh/02-intro.md
浏览文件 @
bb82cb0e
...
...
@@ -52,7 +52,7 @@ TDengine的主要功能如下:
采用 TDengine,可将典型的物联网、车联网、工业互联网大数据平台的总拥有成本大幅降低。表现在几个方面:
1.
由于其超强性能,它能将系统需要的计算资源和存储资源大幅降低
2.
因为采用 SQL 接口,能与众多第三
放
软件无缝集成,学习迁移成本大幅下降
2.
因为采用 SQL 接口,能与众多第三
方
软件无缝集成,学习迁移成本大幅下降
3.
因为其 All In One 的特性,系统复杂度降低,能降研发成本
4.
因为运维维护简单,运营维护成本能大幅降低
...
...
source/libs/planner/src/planLogicCreater.c
浏览文件 @
bb82cb0e
...
...
@@ -884,9 +884,17 @@ static int32_t createDistinctLogicNode(SLogicPlanContext* pCxt, SSelectStmt* pSe
int32_t
code
=
TSDB_CODE_SUCCESS
;
// set grouyp keys, agg funcs and having conditions
pAgg
->
pGroupKeys
=
nodesCloneList
(
pSelect
->
pProjectionList
);
if
(
NULL
==
pAgg
->
pGroupKeys
)
{
code
=
TSDB_CODE_OUT_OF_MEMORY
;
SNodeList
*
pGroupKeys
=
NULL
;
SNode
*
pProjection
=
NULL
;
FOREACH
(
pProjection
,
pSelect
->
pProjectionList
)
{
code
=
nodesListMakeStrictAppend
(
&
pGroupKeys
,
createGroupingSetNode
(
pProjection
));
if
(
TSDB_CODE_SUCCESS
!=
code
)
{
nodesDestroyList
(
pGroupKeys
);
break
;
}
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
pAgg
->
pGroupKeys
=
pGroupKeys
;
}
// rewrite the expression in subsequent clauses
...
...
source/libs/planner/src/planOptimizer.c
浏览文件 @
bb82cb0e
...
...
@@ -2149,7 +2149,16 @@ static bool tagScanMayBeOptimized(SLogicNode* pNode) {
planOptNodeListHasCol
(
pAgg
->
pGroupKeys
)
||
!
planOptNodeListHasTbname
(
pAgg
->
pGroupKeys
))
{
return
false
;
}
SNode
*
pGroupKey
=
NULL
;
FOREACH
(
pGroupKey
,
pAgg
->
pGroupKeys
)
{
SNode
*
pGroup
=
NULL
;
FOREACH
(
pGroup
,
((
SGroupingSetNode
*
)
pGroupKey
)
->
pParameterList
)
{
if
(
QUERY_NODE_COLUMN
!=
nodeType
(
pGroup
))
{
return
false
;
}
}
}
return
true
;
}
...
...
tests/system-test/1-insert/update_data.py
浏览文件 @
bb82cb0e
...
...
@@ -13,6 +13,7 @@
import
random
import
string
from
datetime
import
datetime
from
util
import
constant
from
util.log
import
*
from
util.cases
import
*
...
...
@@ -55,7 +56,7 @@ class TDTestCase:
else
:
tdLog
.
exit
(
f
'
{
col_name
}
data check failure'
)
elif
col_type
.
lower
()
==
'timestamp'
:
tdSql
.
checkEqual
(
str
(
tdSql
.
queryResult
[
0
][
0
]),
str
(
datetime
.
datetime
.
fromtimestamp
(
value
/
1000
).
strftime
(
"%Y-%m-%d %H:%M:%S.%f"
)))
tdSql
.
checkEqual
(
str
(
tdSql
.
queryResult
[
0
][
0
]),
str
(
datetime
.
fromtimestamp
(
value
/
1000
).
strftime
(
"%Y-%m-%d %H:%M:%S.%f"
)))
else
:
tdSql
.
checkEqual
(
tdSql
.
queryResult
[
0
][
0
],
value
)
def
update_and_check_data
(
self
,
tbname
,
col_name
,
col_type
,
value
,
dbname
):
...
...
@@ -242,8 +243,11 @@ class TDTestCase:
self
.
error_check
(
self
.
ctbname
,
self
.
column_dict
,
'ctb'
,
self
.
stbname
)
def
run
(
self
):
self
.
update_check
()
self
.
update_check_error
()
#!bug TD-17708 and TD-17709
# for i in range(10):
self
.
update_check
()
self
.
update_check_error
()
# i+=1
def
stop
(
self
):
tdSql
.
close
()
...
...
tests/system-test/2-query/last.py
浏览文件 @
bb82cb0e
...
...
@@ -222,9 +222,9 @@ class TDTestCase:
if
vgroups_num
>=
2
:
tdLog
.
info
(
f
'This scene with
{
vgroups_num
}
vgroups is ok!'
)
continue
else
:
tdLog
.
exit
(
'This scene does not meet the requirements with {vgroups_num} vgroup!
\n
'
)
#
else:
#
tdLog.exit(
# f
'This scene does not meet the requirements with {vgroups_num} vgroup!\n')
for
i
in
range
(
self
.
tbnum
):
for
j
in
range
(
self
.
rowNum
):
...
...
tests/system-test/fulltest.sh
浏览文件 @
bb82cb0e
...
...
@@ -62,8 +62,7 @@ python3 ./test.py -f 2-query/char_length.py -R
python3 ./test.py
-f
2-query/check_tsdb.py
python3 ./test.py
-f
2-query/check_tsdb.py
-R
python3 ./test.py
-f
1-insert/update_data.py
# python3 ./test.py -f 1-insert/update_data.py
python3 ./test.py
-f
1-insert/delete_data.py
python3 ./test.py
-f
2-query/db.py
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录