Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
e907d58d
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看板
提交
e907d58d
编写于
6月 07, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
差异文件
Merge branch '3.0' of
https://github.com/taosdata/TDengine
into feat/row_refact
上级
aa4e866a
f335ffe8
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
3323 addition
and
3308 deletion
+3323
-3308
source/libs/scalar/src/sclvector.c
source/libs/scalar/src/sclvector.c
+15
-4
source/libs/scalar/test/scalar/scalarTests.cpp
source/libs/scalar/test/scalar/scalarTests.cpp
+3301
-3301
tests/system-test/2-query/json_tag.py
tests/system-test/2-query/json_tag.py
+7
-3
未找到文件。
source/libs/scalar/src/sclvector.c
浏览文件 @
e907d58d
...
...
@@ -373,9 +373,6 @@ static FORCE_INLINE void ncharToVar(char* buf, SScalarParam* pOut, int32_t rowIn
//TODO opt performance, tmp is not needed.
int32_t
vectorConvertFromVarData
(
const
SScalarParam
*
pIn
,
SScalarParam
*
pOut
,
int32_t
inType
,
int32_t
outType
)
{
int32_t
bufSize
=
pIn
->
columnData
->
info
.
bytes
;
char
*
tmp
=
taosMemoryMalloc
(
bufSize
+
VARSTR_HEADER_SIZE
);
bool
vton
=
false
;
_bufConverteFunc
func
=
NULL
;
...
...
@@ -423,6 +420,12 @@ int32_t vectorConvertFromVarData(const SScalarParam* pIn, SScalarParam* pOut, in
continue
;
}
}
int32_t
bufSize
=
pIn
->
columnData
->
info
.
bytes
;
char
*
tmp
=
taosMemoryMalloc
(
varDataTLen
(
data
));
if
(
!
tmp
){
sclError
(
"out of memory in vectorConvertFromVarData"
);
return
TSDB_CODE_OUT_OF_MEMORY
;
}
if
(
vton
)
{
memcpy
(
tmp
,
data
,
varDataTLen
(
data
));
}
else
{
...
...
@@ -444,9 +447,9 @@ int32_t vectorConvertFromVarData(const SScalarParam* pIn, SScalarParam* pOut, in
}
(
*
func
)(
tmp
,
pOut
,
i
);
taosMemoryFreeClear
(
tmp
);
}
taosMemoryFreeClear
(
tmp
);
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -1674,6 +1677,14 @@ void vectorNotNull(SScalarParam* pLeft, SScalarParam* pRight, SScalarParam *pOut
void
vectorIsTrue
(
SScalarParam
*
pLeft
,
SScalarParam
*
pRight
,
SScalarParam
*
pOut
,
int32_t
_ord
)
{
vectorConvertImpl
(
pLeft
,
pOut
);
for
(
int32_t
i
=
0
;
i
<
pOut
->
numOfRows
;
++
i
)
{
if
(
colDataIsNull_s
(
pOut
->
columnData
,
i
))
{
int8_t
v
=
0
;
colDataAppendInt8
(
pOut
->
columnData
,
i
,
&
v
);
colDataSetNotNull_f
(
pOut
->
columnData
->
nullbitmap
,
i
);
}
}
pOut
->
columnData
->
hasNull
=
false
;
}
STagVal
getJsonValue
(
char
*
json
,
char
*
key
,
bool
*
isExist
)
{
...
...
source/libs/scalar/test/scalar/scalarTests.cpp
浏览文件 @
e907d58d
此差异已折叠。
点击以展开。
tests/system-test/2-query/json_tag.py
浏览文件 @
e907d58d
...
...
@@ -109,9 +109,6 @@ class TDTestCase:
# print("============== STEP 3 ===== query table")
# # test error syntax
tdSql
.
error
(
"select * from jsons1 where jtag->tag1='beijing'"
)
#tdSql.error("select * from jsons1 where jtag->'location'")
#tdSql.error("select * from jsons1 where jtag->''")
#tdSql.error("select * from jsons1 where jtag->''=9")
tdSql
.
error
(
"select -> from jsons1"
)
tdSql
.
error
(
"select * from jsons1 where contains"
)
tdSql
.
error
(
"select * from jsons1 where jtag->"
)
...
...
@@ -341,6 +338,13 @@ class TDTestCase:
# tdSql.checkRows(3)
# tdSql.query("select * from jsons1 where jtag->'tag1' between 'femail' and 'beijing'")
# tdSql.checkRows(2)
# test is true
tdSql
.
query
(
"select * from jsons1 where jtag->'location'"
)
tdSql
.
checkRows
(
0
)
tdSql
.
query
(
"select * from jsons1 where jtag->'tag1'"
)
tdSql
.
checkRows
(
3
)
#
# # test with tbname/normal column
tdSql
.
query
(
"select * from jsons1 where tbname = 'jsons1_1'"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录