Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
7de84b9d
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
Star
22018
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看板
提交
7de84b9d
编写于
3月 11, 2022
作者:
A
Alex Duan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TS-207]<fix>(query): fixed doCompare with tag and case
上级
0408e5fa
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
25 addition
and
49 deletion
+25
-49
src/util/src/tcompare.c
src/util/src/tcompare.c
+4
-29
tests/pytest/query/bug2117.py
tests/pytest/query/bug2117.py
+4
-4
tests/pytest/query/bug2143.py
tests/pytest/query/bug2143.py
+9
-9
tests/pytest/query/filterOtherTypes.py
tests/pytest/query/filterOtherTypes.py
+2
-2
tests/script/general/parser/columnValue_unsign.sim
tests/script/general/parser/columnValue_unsign.sim
+4
-4
tests/script/general/parser/groupby.sim
tests/script/general/parser/groupby.sim
+2
-1
未找到文件。
src/util/src/tcompare.c
浏览文件 @
7de84b9d
...
...
@@ -203,7 +203,7 @@ int32_t compareLenPrefixedWStr(const void *pLeft, const void *pRight) {
int32_t
len1
=
varDataLen
(
pLeft
);
int32_t
len2
=
varDataLen
(
pRight
);
int32_t
ret
=
tasoUcs4Compare
(
varDataVal
(
pLeft
),
varDataVal
(
pRight
),
len1
>
len2
?
len2
:
len1
);
int32_t
ret
=
memcmp
(
varDataVal
(
pLeft
),
varDataVal
(
pRight
),
len1
>
len2
?
len2
:
len1
);
if
(
ret
==
0
)
{
if
(
len1
>
len2
)
return
1
;
...
...
@@ -772,33 +772,8 @@ int32_t doCompare(const char* f1, const char* f2, int32_t type, size_t size) {
case
TSDB_DATA_TYPE_USMALLINT
:
DEFAULT_COMP
(
GET_UINT16_VAL
(
f1
),
GET_UINT16_VAL
(
f2
));
case
TSDB_DATA_TYPE_UINT
:
DEFAULT_COMP
(
GET_UINT32_VAL
(
f1
),
GET_UINT32_VAL
(
f2
));
case
TSDB_DATA_TYPE_UBIGINT
:
DEFAULT_COMP
(
GET_UINT64_VAL
(
f1
),
GET_UINT64_VAL
(
f2
));
case
TSDB_DATA_TYPE_NCHAR
:{
tstr
*
t1
=
(
tstr
*
)
f1
;
tstr
*
t2
=
(
tstr
*
)
f2
;
if
(
t1
->
len
!=
t2
->
len
)
{
return
t1
->
len
>
t2
->
len
?
1
:-
1
;
}
int32_t
ret
=
memcmp
((
wchar_t
*
)
t1
,
(
wchar_t
*
)
t2
,
t2
->
len
);
if
(
ret
==
0
)
{
return
ret
;
}
return
(
ret
<
0
)
?
-
1
:
1
;
}
default:
{
// todo refactor
tstr
*
t1
=
(
tstr
*
)
f1
;
tstr
*
t2
=
(
tstr
*
)
f2
;
if
(
t1
->
len
!=
t2
->
len
)
{
return
t1
->
len
>
t2
->
len
?
1
:-
1
;
}
else
{
int32_t
ret
=
strncmp
(
t1
->
data
,
t2
->
data
,
t1
->
len
);
if
(
ret
==
0
)
{
return
0
;
}
else
{
return
ret
<
0
?
-
1
:
1
;
}
}
}
case
TSDB_DATA_TYPE_NCHAR
:
return
compareLenPrefixedWStr
(
f1
,
f2
);
default:
// BINARY AND NULL AND SO ON
return
compareLenPrefixedStr
(
f1
,
f2
);
}
}
tests/pytest/query/bug2117.py
浏览文件 @
7de84b9d
...
...
@@ -49,13 +49,13 @@ class TDTestCase:
tdSql
.
query
(
'select last(*) from mt0 group by c8'
)
tdSql
.
checkData
(
0
,
3
,
5
)
tdSql
.
checkData
(
0
,
4
,
20
)
tdSql
.
checkData
(
3
,
1
,
92
)
tdSql
.
checkData
(
3
,
9
,
'涛思
8
'
)
tdSql
.
checkData
(
3
,
1
,
57
)
tdSql
.
checkData
(
3
,
9
,
'涛思
14
'
)
tdSql
.
query
(
'select last(*) from mt0 group by c9'
)
tdSql
.
checkData
(
0
,
3
,
0
)
tdSql
.
checkData
(
0
,
8
,
'taos38'
)
tdSql
.
checkData
(
40
,
1
,
83
)
tdSql
.
checkData
(
40
,
3
,
40
)
tdSql
.
checkData
(
35
,
1
,
83
)
tdSql
.
checkData
(
35
,
3
,
40
)
def
stop
(
self
):
tdSql
.
close
()
...
...
tests/pytest/query/bug2143.py
浏览文件 @
7de84b9d
...
...
@@ -51,19 +51,19 @@ class TDTestCase:
tdSql
.
checkRows
(
0
)
tdSql
.
query
(
'select max(c1),min(c1),first(c1),last(c1) from mt0 group by c3 limit 70 offset 3'
)
tdSql
.
checkRows
(
38
)
tdSql
.
query
(
'select max(c1),min(c1),first(c1),last(c1) from mt0 group by c8 limit 3 offset 2'
)
tdSql
.
query
(
'select max(c1),min(c1),first(c1),last(c1) from mt0 group by c8 limit 3 offset
1
2'
)
tdSql
.
checkData
(
0
,
0
,
91
)
tdSql
.
checkData
(
0
,
1
,
2
)
tdSql
.
checkData
(
0
,
2
,
2
)
tdSql
.
checkData
(
0
,
3
,
91
)
tdSql
.
checkData
(
1
,
0
,
9
2
)
tdSql
.
checkData
(
2
,
1
,
4
)
tdSql
.
query
(
'select max(c1),min(c1),first(c1),last(c1) from mt0 group by c9 limit 2 offset 9'
)
tdSql
.
checkData
(
0
,
0
,
96
)
tdSql
.
checkData
(
0
,
1
,
1
)
tdSql
.
checkData
(
0
,
2
,
9
)
tdSql
.
checkData
(
0
,
3
,
9
3
)
tdSql
.
checkData
(
1
,
0
,
97
)
tdSql
.
checkData
(
1
,
0
,
9
4
)
tdSql
.
checkData
(
2
,
1
,
7
)
tdSql
.
query
(
'select max(c1),min(c1),first(c1),last(c1) from mt0 group by c9 limit 2 offset
3
9'
)
tdSql
.
checkData
(
1
,
0
,
96
)
tdSql
.
checkData
(
1
,
1
,
1
)
tdSql
.
checkData
(
1
,
2
,
9
)
tdSql
.
checkData
(
0
,
3
,
9
2
)
tdSql
.
checkData
(
0
,
0
,
95
)
def
stop
(
self
):
tdSql
.
close
()
...
...
tests/pytest/query/filterOtherTypes.py
浏览文件 @
7de84b9d
...
...
@@ -303,11 +303,11 @@ class TDTestCase:
tdSql
.
checkRows
(
10
)
# > for binary type on tag
tdSql
.
query
(
"select * from st where tagcol3
>
'表'"
)
tdSql
.
query
(
"select * from st where tagcol3
<
'表'"
)
tdSql
.
checkRows
(
10
)
# >= for binary type on tag
tdSql
.
query
(
"select * from st where tagcol3
>
= '表'"
)
tdSql
.
query
(
"select * from st where tagcol3
<
= '表'"
)
tdSql
.
checkRows
(
10
)
# = for binary type on tag
...
...
tests/script/general/parser/columnValue_unsign.sim
浏览文件 @
7de84b9d
...
...
@@ -116,7 +116,7 @@ if $data00 != NULL then
return -1
endi
sql select count(*), a from mt_unsigned_1 group by a;
sql select count(*), a from mt_unsigned_1 group by a
order by a desc
;
if $rows != 2 then
return -1
endi
...
...
@@ -137,7 +137,7 @@ if $data11 != 1 then
return -1
endi
sql select count(*), b from mt_unsigned_1 group by b;
sql select count(*), b from mt_unsigned_1 group by b
order by b desc
;
if $rows != 2 then
return -1
endi
...
...
@@ -158,7 +158,7 @@ if $data11 != 2 then
return -1
endi
sql select count(*), c from mt_unsigned_1 group by c;
sql select count(*), c from mt_unsigned_1 group by c
order by c desc
;
if $rows != 2 then
return -1
endi
...
...
@@ -179,7 +179,7 @@ if $data11 != 3 then
return -1
endi
sql select count(*), d from mt_unsigned_1 group by d;
sql select count(*), d from mt_unsigned_1 group by d
order by d desc
;
if $rows != 2 then
return -1
endi
...
...
tests/script/general/parser/groupby.sim
浏览文件 @
7de84b9d
...
...
@@ -594,7 +594,8 @@ if $data10 != @{slop:0.000000, intercept:1.000000}@ then
return -1
endi
if $data90 != @{slop:0.000000, intercept:9.000000}@ then
if $data90 != @{slop:0.000000, intercept:17.000000}@ then
print " data90 expect: {slop:0.000000, intercept:17.000000} real:"$data90
return -1
endi
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录