Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
loser646
TDengine
提交
6bc71839
T
TDengine
项目概览
loser646
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6bc71839
编写于
6月 23, 2021
作者:
Y
yihaoDeng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-4098]<feature> refactor IN filter
上级
ad651eff
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
74 addition
and
58 deletion
+74
-58
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+17
-1
tests/pytest/insert/in_function.py
tests/pytest/insert/in_function.py
+57
-57
未找到文件。
src/client/src/tscSQLParser.c
浏览文件 @
6bc71839
...
@@ -176,18 +176,32 @@ bool serializeExprListToVariant(SArray* pList, tVariant **dst, int16_t colType,
...
@@ -176,18 +176,32 @@ bool serializeExprListToVariant(SArray* pList, tVariant **dst, int16_t colType,
break
;
break
;
}
}
if
((
colType
==
TSDB_DATA_TYPE_BOOL
||
IS_SIGNED_NUMERIC_TYPE
(
colType
)))
{
if
((
colType
==
TSDB_DATA_TYPE_BOOL
||
IS_SIGNED_NUMERIC_TYPE
(
colType
)))
{
if
(
var
->
nType
!=
TSDB_DATA_TYPE_BOOL
&&
!
IS_SIGNED_NUMERIC_TYPE
(
var
->
nType
))
{
break
;
}
tbufWriteInt64
(
&
bw
,
var
->
i64
);
tbufWriteInt64
(
&
bw
,
var
->
i64
);
}
else
if
(
IS_UNSIGNED_NUMERIC_TYPE
(
colType
))
{
}
else
if
(
IS_UNSIGNED_NUMERIC_TYPE
(
colType
))
{
if
(
IS_SIGNED_NUMERIC_TYPE
(
var
->
nType
)
&&
IS_UNSIGNED_NUMERIC_TYPE
(
var
->
nType
))
{
break
;
}
tbufWriteUint64
(
&
bw
,
var
->
u64
);
tbufWriteUint64
(
&
bw
,
var
->
u64
);
}
else
if
(
colType
==
TSDB_DATA_TYPE_DOUBLE
||
colType
==
TSDB_DATA_TYPE_FLOAT
)
{
}
else
if
(
colType
==
TSDB_DATA_TYPE_DOUBLE
||
colType
==
TSDB_DATA_TYPE_FLOAT
)
{
if
(
IS_SIGNED_NUMERIC_TYPE
(
var
->
nType
)
||
IS_UNSIGNED_NUMERIC_TYPE
(
var
->
nType
))
{
if
(
IS_SIGNED_NUMERIC_TYPE
(
var
->
nType
)
||
IS_UNSIGNED_NUMERIC_TYPE
(
var
->
nType
))
{
tbufWriteDouble
(
&
bw
,
(
double
)(
var
->
i64
));
tbufWriteDouble
(
&
bw
,
(
double
)(
var
->
i64
));
}
else
{
}
else
if
(
var
->
nType
==
TSDB_DATA_TYPE_DOUBLE
||
var
->
nType
==
TSDB_DATA_TYPE_FLOAT
)
{
tbufWriteDouble
(
&
bw
,
var
->
dKey
);
tbufWriteDouble
(
&
bw
,
var
->
dKey
);
}
else
{
break
;
}
}
}
else
if
(
colType
==
TSDB_DATA_TYPE_BINARY
)
{
}
else
if
(
colType
==
TSDB_DATA_TYPE_BINARY
)
{
if
(
var
->
nType
!=
TSDB_DATA_TYPE_BINARY
)
{
break
;
}
tbufWriteBinary
(
&
bw
,
var
->
pz
,
var
->
nLen
);
tbufWriteBinary
(
&
bw
,
var
->
pz
,
var
->
nLen
);
}
else
if
(
colType
==
TSDB_DATA_TYPE_NCHAR
)
{
}
else
if
(
colType
==
TSDB_DATA_TYPE_NCHAR
)
{
if
(
var
->
nType
!=
TSDB_DATA_TYPE_BINARY
)
{
break
;
}
char
*
buf
=
(
char
*
)
calloc
(
1
,
(
var
->
nLen
+
1
)
*
TSDB_NCHAR_SIZE
);
char
*
buf
=
(
char
*
)
calloc
(
1
,
(
var
->
nLen
+
1
)
*
TSDB_NCHAR_SIZE
);
if
(
tVariantDump
(
var
,
buf
,
colType
,
false
)
!=
TSDB_CODE_SUCCESS
)
{
if
(
tVariantDump
(
var
,
buf
,
colType
,
false
)
!=
TSDB_CODE_SUCCESS
)
{
free
(
buf
);
free
(
buf
);
...
@@ -203,6 +217,8 @@ bool serializeExprListToVariant(SArray* pList, tVariant **dst, int16_t colType,
...
@@ -203,6 +217,8 @@ bool serializeExprListToVariant(SArray* pList, tVariant **dst, int16_t colType,
tbufWriteInt64
(
&
bw
,
var
->
i64
);
tbufWriteInt64
(
&
bw
,
var
->
i64
);
}
else
if
(
var
->
nType
==
TSDB_DATA_TYPE_BIGINT
)
{
}
else
if
(
var
->
nType
==
TSDB_DATA_TYPE_BIGINT
)
{
tbufWriteInt64
(
&
bw
,
var
->
i64
);
tbufWriteInt64
(
&
bw
,
var
->
i64
);
}
else
{
break
;
}
}
}
else
{
}
else
{
break
;
break
;
...
...
tests/pytest/insert/in_function.py
浏览文件 @
6bc71839
...
@@ -621,65 +621,65 @@ class TDTestCase:
...
@@ -621,65 +621,65 @@ class TDTestCase:
tdLog
.
info
(
cmd1
)
tdLog
.
info
(
cmd1
)
tdSql
.
execute
(
cmd1
)
tdSql
.
execute
(
cmd1
)
#
cmd2 = 'select * from in_stable_4 where in_float in (\'888\');'
cmd2
=
'select * from in_stable_4 where in_float in (
\'
888
\'
);'
#
tdLog.info(cmd2)
tdLog
.
info
(
cmd2
)
#
tdSql.error(cmd2)
tdSql
.
error
(
cmd2
)
#
try:
try
:
#
tdSql.execute(cmd2)
tdSql
.
execute
(
cmd2
)
#
tdLog.exit("invalid operation: not supported filter condition")
tdLog
.
exit
(
"invalid operation: not supported filter condition"
)
#
except Exception as e:
except
Exception
as
e
:
#
tdLog.info(repr(e))
tdLog
.
info
(
repr
(
e
))
#
tdLog.info("invalid operation: not supported filter condition")
tdLog
.
info
(
"invalid operation: not supported filter condition"
)
#
cmd3 = 'select * from in_stable_4 where in_double in (\'66666\');'
cmd3
=
'select * from in_stable_4 where in_double in (
\'
66666
\'
);'
#
tdLog.info(cmd3)
tdLog
.
info
(
cmd3
)
#
tdSql.error(cmd3)
tdSql
.
error
(
cmd3
)
#
try:
try
:
#
tdSql.execute(cmd3)
tdSql
.
execute
(
cmd3
)
#
tdLog.exit("invalid operation: not supported filter condition")
tdLog
.
exit
(
"invalid operation: not supported filter condition"
)
#
except Exception as e:
except
Exception
as
e
:
#
tdLog.info(repr(e))
tdLog
.
info
(
repr
(
e
))
#
tdLog.info("invalid operation: not supported filter condition")
tdLog
.
info
(
"invalid operation: not supported filter condition"
)
#
cmd4 = 'select * from in_stable_4 where tin_float in (\'666\');'
cmd4
=
'select * from in_stable_4 where tin_float in (
\'
666
\'
);'
#
tdLog.info(cmd4)
tdLog
.
info
(
cmd4
)
#
tdSql.error(cmd4)
tdSql
.
error
(
cmd4
)
#
try:
try
:
#
tdSql.execute(cmd4)
tdSql
.
execute
(
cmd4
)
#
tdLog.exit("invalid operation: not supported filter condition")
tdLog
.
exit
(
"invalid operation: not supported filter condition"
)
#
except Exception as e:
except
Exception
as
e
:
#
tdLog.info(repr(e))
tdLog
.
info
(
repr
(
e
))
#
tdLog.info("invalid operation: not supported filter condition")
tdLog
.
info
(
"invalid operation: not supported filter condition"
)
#
cmd5 = 'select * from in_stable_4 where tin_double in (\'88888\');'
cmd5
=
'select * from in_stable_4 where tin_double in (
\'
88888
\'
);'
#
tdLog.info(cmd5)
tdLog
.
info
(
cmd5
)
#
tdSql.error(cmd5)
tdSql
.
error
(
cmd5
)
#
try:
try
:
#
tdSql.execute(cmd5)
tdSql
.
execute
(
cmd5
)
#
tdLog.exit("invalid operation: not supported filter condition")
tdLog
.
exit
(
"invalid operation: not supported filter condition"
)
#
except Exception as e:
except
Exception
as
e
:
#
tdLog.info(repr(e))
tdLog
.
info
(
repr
(
e
))
#
tdLog.info("invalid operation: not supported filter condition")
tdLog
.
info
(
"invalid operation: not supported filter condition"
)
#
cmd6 = 'select * from in_float_double_1 where in_float in (\'888\');'
cmd6
=
'select * from in_float_double_1 where in_float in (
\'
888
\'
);'
#
tdLog.info(cmd6)
tdLog
.
info
(
cmd6
)
#
tdSql.error(cmd6)
tdSql
.
error
(
cmd6
)
#
try:
try
:
#
tdSql.execute(cmd6)
tdSql
.
execute
(
cmd6
)
#
tdLog.exit("invalid operation: not supported filter condition")
tdLog
.
exit
(
"invalid operation: not supported filter condition"
)
#
except Exception as e:
except
Exception
as
e
:
#
tdLog.info(repr(e))
tdLog
.
info
(
repr
(
e
))
#
tdLog.info("invalid operation: not supported filter condition")
tdLog
.
info
(
"invalid operation: not supported filter condition"
)
#
#
cmd7 = 'select * from in_float_double_1 where in_double in (\'66666\');'
cmd7
=
'select * from in_float_double_1 where in_double in (
\'
66666
\'
);'
#
tdLog.info(cmd7)
tdLog
.
info
(
cmd7
)
#
tdSql.error(cmd7)
tdSql
.
error
(
cmd7
)
#
try:
try
:
#
tdSql.execute(cmd7)
tdSql
.
execute
(
cmd7
)
#
tdLog.exit("invalid operation: not supported filter condition")
tdLog
.
exit
(
"invalid operation: not supported filter condition"
)
#
except Exception as e:
except
Exception
as
e
:
#
tdLog.info(repr(e))
tdLog
.
info
(
repr
(
e
))
#
tdLog.info("invalid operation: not supported filter condition")
tdLog
.
info
(
"invalid operation: not supported filter condition"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录