Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
51b5e359
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1184
Star
22015
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
51b5e359
编写于
5月 31, 2022
作者:
wmmhello
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:add new logic for new tag format
上级
f6b700ff
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
26 addition
and
15 deletion
+26
-15
include/common/tdataformat.h
include/common/tdataformat.h
+1
-1
source/dnode/vnode/src/meta/metaQuery.c
source/dnode/vnode/src/meta/metaQuery.c
+9
-7
source/dnode/vnode/src/meta/metaTable.c
source/dnode/vnode/src/meta/metaTable.c
+10
-4
source/libs/parser/src/parUtil.c
source/libs/parser/src/parUtil.c
+6
-3
未找到文件。
include/common/tdataformat.h
浏览文件 @
51b5e359
...
...
@@ -120,6 +120,7 @@ struct SColVal {
uint8_t
*
pData
;
};
#pragma pack(push, 1)
struct
STagVal
{
union
{
int16_t
cid
;
...
...
@@ -135,7 +136,6 @@ struct STagVal {
};
};
#pragma pack(push, 1)
#define TD_TAG_JSON ((int8_t)0x40) // distinguish JSON string and JSON value with the highest bit
#define TD_TAG_LARGE ((int8_t)0x20)
struct
STag
{
...
...
source/dnode/vnode/src/meta/metaQuery.c
浏览文件 @
51b5e359
...
...
@@ -567,14 +567,16 @@ SArray *metaGetSmaTbUids(SMeta *pMeta) {
const
void
*
metaGetTableTagVal
(
SMetaEntry
*
pEntry
,
int16_t
type
,
STagVal
*
val
)
{
ASSERT
(
pEntry
->
type
==
TSDB_CHILD_TABLE
);
STag
*
tag
=
(
STag
*
)
pEntry
->
ctbEntry
.
pTags
;
tTagGet
(
tag
,
val
);
if
(
val
->
type
==
TSDB_DATA_TYPE_NULL
){
if
(
type
==
TSDB_DATA_TYPE_JSON
){
if
(
tag
->
nTag
==
0
){
return
NULL
;
}
if
(
type
==
TSDB_DATA_TYPE_JSON
){
return
tag
;
}
else
{
return
val
;
}
bool
find
=
tTagGet
(
tag
,
val
);
if
(
!
find
){
return
NULL
;
}
return
val
;
}
\ No newline at end of file
source/dnode/vnode/src/meta/metaTable.c
浏览文件 @
51b5e359
...
...
@@ -787,10 +787,16 @@ static int metaUpdateTagIdx(SMeta *pMeta, const SMetaEntry *pCtbEntry) {
pTagColumn
=
&
stbEntry
.
stbEntry
.
schemaTag
.
pSchema
[
0
];
if
(
pTagColumn
->
type
!=
TSDB_DATA_TYPE_JSON
){
STagVal
tagVal
=
{.
cid
=
pTagColumn
->
colId
};
tTagGet
((
const
STag
*
)
pCtbEntry
->
ctbEntry
.
pTags
,
&
tagVal
);
pTagData
=
tagVal
.
pData
;
nTagData
=
(
int32_t
)
tagVal
.
nData
;
}
else
{
//pTagData = pCtbEntry->ctbEntry.pTags;
//nTagData = ((const STag *)pCtbEntry->ctbEntry.pTags)->len;
}
// update tag index
#ifdef USE_INVERTED_INDEX
...
...
source/libs/parser/src/parUtil.c
浏览文件 @
51b5e359
...
...
@@ -330,6 +330,9 @@ static bool isValidateTag(char* input) {
int32_t
parseJsontoTagData
(
const
char
*
json
,
SArray
*
pTagVals
,
STag
**
ppTag
,
SMsgBuf
*
pMsgBuf
)
{
int32_t
retCode
=
TSDB_CODE_SUCCESS
;
cJSON
*
root
=
NULL
;
SHashObj
*
keyHash
=
NULL
;
int32_t
size
=
0
;
// set json NULL data
if
(
!
json
||
strtrim
((
char
*
)
json
)
==
0
||
strcasecmp
(
json
,
TSDB_DATA_NULL_STR_L
)
==
0
)
{
retCode
=
TSDB_CODE_SUCCESS
;
...
...
@@ -337,19 +340,19 @@ int32_t parseJsontoTagData(const char* json, SArray* pTagVals, STag **ppTag, SMs
}
// set json real data
cJSON
*
root
=
cJSON_Parse
(
json
);
root
=
cJSON_Parse
(
json
);
if
(
root
==
NULL
)
{
retCode
=
buildSyntaxErrMsg
(
pMsgBuf
,
"json parse error"
,
json
);
goto
end
;
}
int32_t
size
=
cJSON_GetArraySize
(
root
);
size
=
cJSON_GetArraySize
(
root
);
if
(
!
cJSON_IsObject
(
root
))
{
retCode
=
buildSyntaxErrMsg
(
pMsgBuf
,
"json error invalide value"
,
json
);
goto
end
;
}
SHashObj
*
keyHash
=
taosHashInit
(
8
,
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_BINARY
),
false
,
false
);
keyHash
=
taosHashInit
(
8
,
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_BINARY
),
false
,
false
);
for
(
int32_t
i
=
0
;
i
<
size
;
i
++
)
{
cJSON
*
item
=
cJSON_GetArrayItem
(
root
,
i
);
if
(
!
item
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录