Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
b4d14504
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看板
提交
b4d14504
编写于
2月 26, 2022
作者:
X
Xiaoyu Wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
TD-13495 physical plan refactoring
上级
7377c273
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
627 addition
and
32 deletion
+627
-32
include/util/tjson.h
include/util/tjson.h
+21
-2
source/libs/nodes/src/nodesCodeFuncs.c
source/libs/nodes/src/nodesCodeFuncs.c
+492
-29
source/util/src/tjson.c
source/util/src/tjson.c
+114
-1
未找到文件。
include/util/tjson.h
浏览文件 @
b4d14504
...
...
@@ -28,23 +28,42 @@ SJson* tjsonCreateObject();
void
tjsonDelete
(
SJson
*
pJson
);
SJson
*
tjsonAddArrayToObject
(
SJson
*
pJson
,
const
char
*
pName
);
int32_t
tjsonAddIntegerToObject
(
SJson
*
pJson
,
const
char
*
pName
,
const
uint64_t
number
);
int32_t
tjsonAddDoubleToObject
(
SJson
*
pJson
,
const
char
*
pName
,
const
double
number
);
int32_t
tjsonAddBoolToObject
(
SJson
*
pJson
,
const
char
*
pName
,
const
bool
boolean
);
int32_t
tjsonAddStringToObject
(
SJson
*
pJson
,
const
char
*
pName
,
const
char
*
pVal
);
int32_t
tjsonAddItemToObject
(
SJson
*
pJson
,
const
char
*
pName
,
SJson
*
pItem
);
int32_t
tjsonAddItemToArray
(
SJson
*
pJson
,
SJson
*
pItem
);
SJson
*
tjsonGetObjectItem
(
const
SJson
*
pJson
,
const
char
*
pName
);
int32_t
tjsonGetStringValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
char
*
pVal
);
int32_t
tjsonDupStringValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
char
**
pVal
);
int32_t
tjsonGetBigIntValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
int64_t
*
pVal
);
int32_t
tjsonGetIntValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
int32_t
*
pVal
);
int32_t
tjsonGetSmallIntValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
int16_t
*
pVal
);
int32_t
tjsonGetTinyIntValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
int8_t
*
pVal
);
int32_t
tjsonGetUBigIntValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
uint64_t
*
pVal
);
int32_t
tjsonGetUTinyIntValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
uint8_t
*
pVal
);
int32_t
tjsonGetBoolValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
bool
*
pVal
);
int32_t
tjsonGetDoubleValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
double
*
pVal
);
int32_t
tjsonGetArraySize
(
const
SJson
*
pJson
);
SJson
*
tjsonGetArrayItem
(
const
SJson
*
pJson
,
int32_t
index
);
typedef
int32_t
(
*
FToJson
)(
const
void
*
pObj
,
SJson
*
pJson
);
int32_t
tjsonAddObject
(
SJson
*
pJson
,
const
char
*
pName
,
FToJson
func
,
const
void
*
pObj
);
int32_t
tjsonAddItem
(
SJson
*
pJson
,
FToJson
func
,
const
void
*
pObj
);
typedef
int32_t
(
*
FFromJson
)(
const
SJson
*
pJson
,
void
*
pObj
);
typedef
int32_t
(
*
FToObject
)(
const
SJson
*
pJson
,
void
*
pObj
);
int32_t
tjsonToObject
(
const
SJson
*
pJson
,
const
char
*
pName
,
FToObject
func
,
void
*
pObj
);
char
*
tjsonToString
(
const
SJson
*
pJson
);
char
*
tjsonToUnformattedString
(
const
SJson
*
pJson
);
SJson
*
tjsonParse
(
const
char
*
pStr
);
#ifdef __cplusplus
}
#endif
...
...
source/libs/nodes/src/nodesCodeFuncs.c
浏览文件 @
b4d14504
此差异已折叠。
点击以展开。
source/util/src/tjson.c
浏览文件 @
b4d14504
...
...
@@ -36,6 +36,10 @@ int32_t tjsonAddDoubleToObject(SJson* pJson, const char* pName, const double num
return
(
NULL
==
cJSON_AddNumberToObject
((
cJSON
*
)
pJson
,
pName
,
number
)
?
TSDB_CODE_FAILED
:
TSDB_CODE_SUCCESS
);
}
int32_t
tjsonAddBoolToObject
(
SJson
*
pJson
,
const
char
*
pName
,
const
bool
boolean
)
{
return
(
NULL
==
cJSON_AddBoolToObject
((
cJSON
*
)
pJson
,
pName
,
boolean
)
?
TSDB_CODE_FAILED
:
TSDB_CODE_SUCCESS
);
}
int32_t
tjsonAddStringToObject
(
SJson
*
pJson
,
const
char
*
pName
,
const
char
*
pVal
)
{
return
(
NULL
==
cJSON_AddStringToObject
((
cJSON
*
)
pJson
,
pName
,
pVal
)
?
TSDB_CODE_FAILED
:
TSDB_CODE_SUCCESS
);
}
...
...
@@ -81,4 +85,113 @@ char* tjsonToString(const SJson* pJson) {
char
*
tjsonToUnformattedString
(
const
SJson
*
pJson
)
{
return
cJSON_PrintUnformatted
((
cJSON
*
)
pJson
);
}
\ No newline at end of file
}
SJson
*
tjsonGetObjectItem
(
const
SJson
*
pJson
,
const
char
*
pName
)
{
return
cJSON_GetObjectItem
(
pJson
,
pName
);
}
int32_t
tjsonGetStringValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
char
*
pVal
)
{
char
*
p
=
cJSON_GetStringValue
(
tjsonGetObjectItem
((
cJSON
*
)
pJson
,
pName
));
if
(
NULL
==
p
)
{
return
TSDB_CODE_FAILED
;
}
strcpy
(
pVal
,
p
);
return
TSDB_CODE_SUCCESS
;
}
int32_t
tjsonDupStringValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
char
**
pVal
)
{
char
*
p
=
cJSON_GetStringValue
(
tjsonGetObjectItem
((
cJSON
*
)
pJson
,
pName
));
if
(
NULL
==
p
)
{
return
TSDB_CODE_FAILED
;
}
*
pVal
=
strdup
(
p
);
return
TSDB_CODE_SUCCESS
;
}
int32_t
tjsonGetBigIntValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
int64_t
*
pVal
)
{
char
*
p
=
cJSON_GetStringValue
(
tjsonGetObjectItem
((
cJSON
*
)
pJson
,
pName
));
if
(
NULL
==
p
)
{
return
TSDB_CODE_FAILED
;
}
char
*
pEnd
=
NULL
;
*
pVal
=
strtol
(
p
,
&
pEnd
,
10
);
return
(
NULL
==
pEnd
?
TSDB_CODE_SUCCESS
:
TSDB_CODE_FAILED
);
}
int32_t
tjsonGetIntValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
int32_t
*
pVal
)
{
int64_t
val
=
0
;
int32_t
code
=
tjsonGetBigIntValue
(
pJson
,
pName
,
&
val
);
*
pVal
=
val
;
return
code
;
}
int32_t
tjsonGetSmallIntValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
int16_t
*
pVal
)
{
int64_t
val
=
0
;
int32_t
code
=
tjsonGetBigIntValue
(
pJson
,
pName
,
&
val
);
*
pVal
=
val
;
return
code
;
}
int32_t
tjsonGetTinyIntValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
int8_t
*
pVal
)
{
int64_t
val
=
0
;
int32_t
code
=
tjsonGetBigIntValue
(
pJson
,
pName
,
&
val
);
*
pVal
=
val
;
return
code
;
}
int32_t
tjsonGetUBigIntValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
uint64_t
*
pVal
)
{
char
*
p
=
cJSON_GetStringValue
(
tjsonGetObjectItem
((
cJSON
*
)
pJson
,
pName
));
if
(
NULL
==
p
)
{
return
TSDB_CODE_FAILED
;
}
char
*
pEnd
=
NULL
;
*
pVal
=
strtoul
(
p
,
&
pEnd
,
10
);
return
(
NULL
==
pEnd
?
TSDB_CODE_SUCCESS
:
TSDB_CODE_FAILED
);
}
int32_t
tjsonGetUTinyIntValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
uint8_t
*
pVal
)
{
uint64_t
val
=
0
;
int32_t
code
=
tjsonGetUBigIntValue
(
pJson
,
pName
,
&
val
);
*
pVal
=
val
;
return
code
;
}
int32_t
tjsonGetBoolValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
bool
*
pVal
)
{
const
SJson
*
pObject
=
tjsonGetObjectItem
(
pJson
,
pName
);
if
(
cJSON_IsBool
(
pObject
))
{
return
TSDB_CODE_FAILED
;
}
*
pVal
=
cJSON_IsTrue
(
pObject
)
?
true
:
false
;
return
TSDB_CODE_SUCCESS
;
}
int32_t
tjsonGetDoubleValue
(
const
SJson
*
pJson
,
const
char
*
pName
,
double
*
pVal
)
{
const
SJson
*
pObject
=
tjsonGetObjectItem
(
pJson
,
pName
);
if
(
!
cJSON_IsNumber
(
pObject
))
{
return
TSDB_CODE_FAILED
;
}
*
pVal
=
cJSON_GetNumberValue
(
pObject
);
return
TSDB_CODE_SUCCESS
;
}
int32_t
tjsonGetArraySize
(
const
SJson
*
pJson
)
{
return
cJSON_GetArraySize
(
pJson
);
}
SJson
*
tjsonGetArrayItem
(
const
SJson
*
pJson
,
int32_t
index
)
{
return
cJSON_GetArrayItem
(
pJson
,
index
);
}
int32_t
tjsonToObject
(
const
SJson
*
pJson
,
const
char
*
pName
,
FToObject
func
,
void
*
pObj
)
{
SJson
*
pJsonObj
=
tjsonGetObjectItem
(
pJson
,
pName
);
if
(
NULL
==
pJsonObj
)
{
return
TSDB_CODE_FAILED
;
}
return
func
(
pJsonObj
,
pObj
);
}
SJson
*
tjsonParse
(
const
char
*
pStr
)
{
return
cJSON_Parse
(
pStr
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录