Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
aecd05cf
TDengine
项目概览
taosdata
/
TDengine
接近 2 年 前同步成功
通知
1192
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看板
提交
aecd05cf
编写于
12月 21, 2022
作者:
X
Xiaoyu Wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
enh: improve unit tests
上级
ad7f9b27
变更
8
显示空白变更内容
内联
并排
Showing
8 changed file
with
569 addition
and
23 deletion
+569
-23
include/libs/nodes/cmdnodes.h
include/libs/nodes/cmdnodes.h
+4
-4
include/libs/nodes/nodes.h
include/libs/nodes/nodes.h
+1
-1
source/libs/nodes/src/nodesCodeFuncs.c
source/libs/nodes/src/nodesCodeFuncs.c
+549
-3
source/libs/nodes/src/nodesUtilFuncs.c
source/libs/nodes/src/nodesUtilFuncs.c
+4
-4
source/libs/parser/src/parAstCreater.c
source/libs/parser/src/parAstCreater.c
+3
-3
source/libs/parser/src/parAstParser.c
source/libs/parser/src/parAstParser.c
+3
-3
source/libs/parser/src/parTranslater.c
source/libs/parser/src/parTranslater.c
+4
-4
source/libs/planner/src/planLogicCreater.c
source/libs/planner/src/planLogicCreater.c
+1
-1
未找到文件。
include/libs/nodes/cmdnodes.h
浏览文件 @
aecd05cf
...
...
@@ -171,10 +171,10 @@ typedef struct SCreateSubTableClause {
STableOptions
*
pOptions
;
}
SCreateSubTableClause
;
typedef
struct
SCreateMultiTableStmt
{
typedef
struct
SCreateMultiTable
s
Stmt
{
ENodeType
type
;
SNodeList
*
pSubTables
;
}
SCreateMultiTableStmt
;
}
SCreateMultiTable
s
Stmt
;
typedef
struct
SDropTableClause
{
ENodeType
type
;
...
...
@@ -209,14 +209,14 @@ typedef struct SAlterTableStmt {
typedef
struct
SCreateUserStmt
{
ENodeType
type
;
char
useName
[
TSDB_USER_LEN
];
char
use
r
Name
[
TSDB_USER_LEN
];
char
password
[
TSDB_USET_PASSWORD_LEN
];
int8_t
sysinfo
;
}
SCreateUserStmt
;
typedef
struct
SAlterUserStmt
{
ENodeType
type
;
char
useName
[
TSDB_USER_LEN
];
char
use
r
Name
[
TSDB_USER_LEN
];
int8_t
alterType
;
char
password
[
TSDB_USET_PASSWORD_LEN
];
int8_t
enable
;
...
...
include/libs/nodes/nodes.h
浏览文件 @
aecd05cf
...
...
@@ -125,7 +125,7 @@ typedef enum ENodeType {
QUERY_NODE_TRIM_DATABASE_STMT
,
QUERY_NODE_CREATE_TABLE_STMT
,
QUERY_NODE_CREATE_SUBTABLE_CLAUSE
,
QUERY_NODE_CREATE_MULTI_TABLE_STMT
,
QUERY_NODE_CREATE_MULTI_TABLE
S
_STMT
,
QUERY_NODE_DROP_TABLE_CLAUSE
,
QUERY_NODE_DROP_TABLE_STMT
,
QUERY_NODE_DROP_SUPER_TABLE_STMT
,
...
...
source/libs/nodes/src/nodesCodeFuncs.c
浏览文件 @
aecd05cf
...
...
@@ -79,6 +79,8 @@ const char* nodesNodeName(ENodeType type) {
return
"TableOptions"
;
case
QUERY_NODE_INDEX_OPTIONS
:
return
"IndexOptions"
;
case
QUERY_NODE_STREAM_OPTIONS
:
return
"StreamOptions"
;
case
QUERY_NODE_LEFT_VALUE
:
return
"LeftValue"
;
case
QUERY_NODE_WHEN_THEN
:
...
...
@@ -107,7 +109,7 @@ const char* nodesNodeName(ENodeType type) {
return
"CreateTableStmt"
;
case
QUERY_NODE_CREATE_SUBTABLE_CLAUSE
:
return
"CreateSubtableClause"
;
case
QUERY_NODE_CREATE_MULTI_TABLE_STMT
:
case
QUERY_NODE_CREATE_MULTI_TABLE
S
_STMT
:
return
"CreateMultiTableStmt"
;
case
QUERY_NODE_DROP_TABLE_CLAUSE
:
return
"DropTableClause"
;
...
...
@@ -141,6 +143,8 @@ const char* nodesNodeName(ENodeType type) {
return
"CreateQnodeStmt"
;
case
QUERY_NODE_DROP_QNODE_STMT
:
return
"DropQnodeStmt"
;
case
QUERY_NODE_CREATE_SNODE_STMT
:
return
"CreateSnodeStmt"
;
case
QUERY_NODE_DROP_SNODE_STMT
:
return
"DropSnodeStmt"
;
case
QUERY_NODE_DROP_MNODE_STMT
:
...
...
@@ -149,8 +153,14 @@ const char* nodesNodeName(ENodeType type) {
return
"CreateTopicStmt"
;
case
QUERY_NODE_DROP_TOPIC_STMT
:
return
"DropTopicStmt"
;
case
QUERY_NODE_DROP_CGROUP_STMT
:
return
"DropConsumerGroupStmt"
;
case
QUERY_NODE_ALTER_LOCAL_STMT
:
return
"AlterLocalStmt"
;
case
QUERY_NODE_DESCRIBE_STMT
:
return
"DescribeStmt"
;
case
QUERY_NODE_CREATE_STREAM_STMT
:
return
"CreateStreamStmt"
;
case
QUERY_NODE_DROP_STREAM_STMT
:
return
"DropStreamStmt"
;
case
QUERY_NODE_SPLIT_VGROUP_STMT
:
...
...
@@ -4004,6 +4014,45 @@ static int32_t jsonToSlotDescNode(const SJson* pJson, void* pObj) {
return
code
;
}
static
const
char
*
jkColumnDefColName
=
"ColName"
;
static
const
char
*
jkColumnDefDataType
=
"DataType"
;
static
const
char
*
jkColumnDefComments
=
"Comments"
;
static
const
char
*
jkColumnDefSma
=
"Sma"
;
static
int32_t
columnDefNodeToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
SColumnDefNode
*
pNode
=
(
const
SColumnDefNode
*
)
pObj
;
int32_t
code
=
tjsonAddStringToObject
(
pJson
,
jkColumnDefColName
,
pNode
->
colName
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddObject
(
pJson
,
jkColumnDefDataType
,
dataTypeToJson
,
&
pNode
->
dataType
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddStringToObject
(
pJson
,
jkColumnDefComments
,
pNode
->
comments
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddBoolToObject
(
pJson
,
jkColumnDefSma
,
pNode
->
sma
);
}
return
code
;
}
static
int32_t
jsonToColumnDefNode
(
const
SJson
*
pJson
,
void
*
pObj
)
{
SColumnDefNode
*
pNode
=
(
SColumnDefNode
*
)
pObj
;
int32_t
code
=
tjsonGetStringValue
(
pJson
,
jkColumnDefColName
,
pNode
->
colName
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonToObject
(
pJson
,
jkColumnDefDataType
,
jsonToDataType
,
&
pNode
->
dataType
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetStringValue
(
pJson
,
jkColumnDefComments
,
pNode
->
comments
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetBoolValue
(
pJson
,
jkColumnDefSma
,
&
pNode
->
sma
);
}
return
code
;
}
static
const
char
*
jkDownstreamSourceAddr
=
"Addr"
;
static
const
char
*
jkDownstreamSourceTaskId
=
"TaskId"
;
static
const
char
*
jkDownstreamSourceSchedId
=
"SchedId"
;
...
...
@@ -4194,6 +4243,119 @@ static int32_t jsonToDatabaseOptions(const SJson* pJson, void* pObj) {
return
code
;
}
static
const
char
*
jkTableOptionsComment
=
"Comment"
;
static
const
char
*
jkTableOptionsMaxDelay
=
"MaxDelay"
;
static
const
char
*
jkTableOptionsWatermark
=
"Watermark"
;
static
const
char
*
jkTableOptionsDeleteMark
=
"DeleteMark"
;
static
const
char
*
jkTableOptionsRollupFuncs
=
"RollupFuncs"
;
static
const
char
*
jkTableOptionsTtl
=
"Ttl"
;
static
const
char
*
jkTableOptionsSma
=
"Sma"
;
static
int32_t
tableOptionsToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
STableOptions
*
pNode
=
(
const
STableOptions
*
)
pObj
;
int32_t
code
=
tjsonAddStringToObject
(
pJson
,
jkTableOptionsComment
,
pNode
->
comment
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodeListToJson
(
pJson
,
jkTableOptionsMaxDelay
,
pNode
->
pMaxDelay
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodeListToJson
(
pJson
,
jkTableOptionsWatermark
,
pNode
->
pWatermark
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodeListToJson
(
pJson
,
jkTableOptionsDeleteMark
,
pNode
->
pDeleteMark
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodeListToJson
(
pJson
,
jkTableOptionsRollupFuncs
,
pNode
->
pRollupFuncs
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddIntegerToObject
(
pJson
,
jkTableOptionsTtl
,
pNode
->
ttl
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodeListToJson
(
pJson
,
jkTableOptionsSma
,
pNode
->
pSma
);
}
return
code
;
}
static
int32_t
jsonToTableOptions
(
const
SJson
*
pJson
,
void
*
pObj
)
{
STableOptions
*
pNode
=
(
STableOptions
*
)
pObj
;
int32_t
code
=
tjsonGetStringValue
(
pJson
,
jkTableOptionsComment
,
pNode
->
comment
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeList
(
pJson
,
jkTableOptionsMaxDelay
,
&
pNode
->
pMaxDelay
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeList
(
pJson
,
jkTableOptionsWatermark
,
&
pNode
->
pWatermark
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeList
(
pJson
,
jkTableOptionsDeleteMark
,
&
pNode
->
pDeleteMark
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeList
(
pJson
,
jkTableOptionsRollupFuncs
,
&
pNode
->
pRollupFuncs
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetIntValue
(
pJson
,
jkTableOptionsTtl
,
&
pNode
->
ttl
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeList
(
pJson
,
jkTableOptionsSma
,
&
pNode
->
pSma
);
}
return
code
;
}
static
const
char
*
jkStreamOptionsTriggerType
=
"TriggerType"
;
static
const
char
*
jkStreamOptionsDelay
=
"Delay"
;
static
const
char
*
jkStreamOptionsWatermark
=
"Watermark"
;
static
const
char
*
jkStreamOptionsDeleteMark
=
"DeleteMark"
;
static
const
char
*
jkStreamOptionsFillHistory
=
"FillHistory"
;
static
const
char
*
jkStreamOptionsIgnoreExpired
=
"IgnoreExpired"
;
static
int32_t
streamOptionsToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
SStreamOptions
*
pNode
=
(
const
SStreamOptions
*
)
pObj
;
int32_t
code
=
tjsonAddIntegerToObject
(
pJson
,
jkStreamOptionsTriggerType
,
pNode
->
triggerType
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddObject
(
pJson
,
jkStreamOptionsDelay
,
nodeToJson
,
pNode
->
pDelay
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddObject
(
pJson
,
jkStreamOptionsWatermark
,
nodeToJson
,
pNode
->
pWatermark
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddObject
(
pJson
,
jkStreamOptionsDeleteMark
,
nodeToJson
,
pNode
->
pDeleteMark
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddIntegerToObject
(
pJson
,
jkStreamOptionsFillHistory
,
pNode
->
fillHistory
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddIntegerToObject
(
pJson
,
jkStreamOptionsIgnoreExpired
,
pNode
->
ignoreExpired
);
}
return
code
;
}
static
int32_t
jsonToStreamOptions
(
const
SJson
*
pJson
,
void
*
pObj
)
{
SStreamOptions
*
pNode
=
(
SStreamOptions
*
)
pObj
;
int32_t
code
=
tjsonGetTinyIntValue
(
pJson
,
jkStreamOptionsTriggerType
,
&
pNode
->
triggerType
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeObject
(
pJson
,
jkStreamOptionsDelay
,
&
pNode
->
pDelay
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeObject
(
pJson
,
jkStreamOptionsWatermark
,
&
pNode
->
pWatermark
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeObject
(
pJson
,
jkStreamOptionsDeleteMark
,
&
pNode
->
pDeleteMark
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetTinyIntValue
(
pJson
,
jkStreamOptionsFillHistory
,
&
pNode
->
fillHistory
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetTinyIntValue
(
pJson
,
jkStreamOptionsIgnoreExpired
,
&
pNode
->
ignoreExpired
);
}
return
code
;
}
static
const
char
*
jkWhenThenWhen
=
"When"
;
static
const
char
*
jkWhenThenThen
=
"Then"
;
...
...
@@ -4562,6 +4724,138 @@ static int32_t jsonToTrimDatabaseStmt(const SJson* pJson, void* pObj) {
return
code
;
}
static
const
char
*
jkCreateTableStmtDbName
=
"DbName"
;
static
const
char
*
jkCreateTableStmtTableName
=
"TableName"
;
static
const
char
*
jkCreateTableStmtIgnoreExists
=
"IgnoreExists"
;
static
const
char
*
jkCreateTableStmtCols
=
"Cols"
;
static
const
char
*
jkCreateTableStmtTags
=
"Tags"
;
static
const
char
*
jkCreateTableStmtOptions
=
"Options"
;
static
int32_t
createTableStmtToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
SCreateTableStmt
*
pNode
=
(
const
SCreateTableStmt
*
)
pObj
;
int32_t
code
=
tjsonAddStringToObject
(
pJson
,
jkCreateTableStmtDbName
,
pNode
->
dbName
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddStringToObject
(
pJson
,
jkCreateTableStmtTableName
,
pNode
->
tableName
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddBoolToObject
(
pJson
,
jkCreateTableStmtIgnoreExists
,
pNode
->
ignoreExists
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodeListToJson
(
pJson
,
jkCreateTableStmtCols
,
pNode
->
pCols
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodeListToJson
(
pJson
,
jkCreateTableStmtTags
,
pNode
->
pTags
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddObject
(
pJson
,
jkCreateTableStmtOptions
,
nodeToJson
,
pNode
->
pOptions
);
}
return
code
;
}
static
int32_t
jsonToCreateTableStmt
(
const
SJson
*
pJson
,
void
*
pObj
)
{
SCreateTableStmt
*
pNode
=
(
SCreateTableStmt
*
)
pObj
;
int32_t
code
=
tjsonGetStringValue
(
pJson
,
jkCreateTableStmtDbName
,
pNode
->
dbName
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetStringValue
(
pJson
,
jkCreateTableStmtTableName
,
pNode
->
tableName
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetBoolValue
(
pJson
,
jkCreateTableStmtIgnoreExists
,
&
pNode
->
ignoreExists
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeList
(
pJson
,
jkCreateTableStmtCols
,
&
pNode
->
pCols
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeList
(
pJson
,
jkCreateTableStmtTags
,
&
pNode
->
pTags
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeObject
(
pJson
,
jkCreateTableStmtOptions
,
(
SNode
**
)
&
pNode
->
pOptions
);
}
return
code
;
}
static
const
char
*
jkCreateSubTableClauseDbName
=
"DbName"
;
static
const
char
*
jkCreateSubTableClauseTableName
=
"TableName"
;
static
const
char
*
jkCreateSubTableClauseUseDbName
=
"UseDbName"
;
static
const
char
*
jkCreateSubTableClauseUseTableName
=
"UseTableName"
;
static
const
char
*
jkCreateSubTableClauseIgnoreExists
=
"IgnoreExists"
;
static
const
char
*
jkCreateSubTableClauseSpecificTags
=
"SpecificTags"
;
static
const
char
*
jkCreateSubTableClauseValsOfTags
=
"ValsOfTags"
;
static
const
char
*
jkCreateSubTableClauseOptions
=
"Options"
;
static
int32_t
createSubTableClauseToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
SCreateSubTableClause
*
pNode
=
(
const
SCreateSubTableClause
*
)
pObj
;
int32_t
code
=
tjsonAddStringToObject
(
pJson
,
jkCreateSubTableClauseDbName
,
pNode
->
dbName
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddStringToObject
(
pJson
,
jkCreateSubTableClauseTableName
,
pNode
->
tableName
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddStringToObject
(
pJson
,
jkCreateSubTableClauseUseDbName
,
pNode
->
useDbName
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddStringToObject
(
pJson
,
jkCreateSubTableClauseUseTableName
,
pNode
->
useTableName
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddBoolToObject
(
pJson
,
jkCreateSubTableClauseIgnoreExists
,
pNode
->
ignoreExists
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodeListToJson
(
pJson
,
jkCreateSubTableClauseSpecificTags
,
pNode
->
pSpecificTags
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodeListToJson
(
pJson
,
jkCreateSubTableClauseValsOfTags
,
pNode
->
pValsOfTags
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddObject
(
pJson
,
jkCreateSubTableClauseOptions
,
nodeToJson
,
pNode
->
pOptions
);
}
return
code
;
}
static
int32_t
jsonToCreateSubTableClause
(
const
SJson
*
pJson
,
void
*
pObj
)
{
SCreateSubTableClause
*
pNode
=
(
SCreateSubTableClause
*
)
pObj
;
int32_t
code
=
tjsonGetStringValue
(
pJson
,
jkCreateSubTableClauseDbName
,
pNode
->
dbName
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetStringValue
(
pJson
,
jkCreateSubTableClauseTableName
,
pNode
->
tableName
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetStringValue
(
pJson
,
jkCreateSubTableClauseUseDbName
,
pNode
->
useDbName
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetStringValue
(
pJson
,
jkCreateSubTableClauseUseTableName
,
pNode
->
useTableName
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetBoolValue
(
pJson
,
jkCreateSubTableClauseIgnoreExists
,
&
pNode
->
ignoreExists
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeList
(
pJson
,
jkCreateSubTableClauseSpecificTags
,
&
pNode
->
pSpecificTags
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeList
(
pJson
,
jkCreateSubTableClauseValsOfTags
,
&
pNode
->
pValsOfTags
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeObject
(
pJson
,
jkCreateSubTableClauseOptions
,
(
SNode
**
)
&
pNode
->
pOptions
);
}
return
code
;
}
static
const
char
*
jkCreateMultiTablesStmtSubTables
=
"SubTables"
;
static
int32_t
createMultiTablesStmtToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
SCreateMultiTablesStmt
*
pNode
=
(
const
SCreateMultiTablesStmt
*
)
pObj
;
return
nodeListToJson
(
pJson
,
jkCreateMultiTablesStmtSubTables
,
pNode
->
pSubTables
);
}
static
int32_t
jsonToCreateMultiTablesStmt
(
const
SJson
*
pJson
,
void
*
pObj
)
{
SCreateMultiTablesStmt
*
pNode
=
(
SCreateMultiTablesStmt
*
)
pObj
;
return
jsonToNodeList
(
pJson
,
jkCreateMultiTablesStmtSubTables
,
&
pNode
->
pSubTables
);
}
static
const
char
*
jkDropTableClauseDbName
=
"DbName"
;
static
const
char
*
jkDropTableClauseTableName
=
"TableName"
;
static
const
char
*
jkDropTableClauseIgnoreNotExists
=
"IgnoreNotExists"
;
...
...
@@ -4705,6 +4999,38 @@ static int32_t jsonToAlterTableStmt(const SJson* pJson, void* pObj) {
return
code
;
}
static
const
char
*
jkCreateUserStmtUserName
=
"UserName"
;
static
const
char
*
jkCreateUserStmtPassword
=
"Password"
;
static
const
char
*
jkCreateUserStmtSysinfo
=
"Sysinfo"
;
static
int32_t
createUserStmtToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
SCreateUserStmt
*
pNode
=
(
const
SCreateUserStmt
*
)
pObj
;
int32_t
code
=
tjsonAddStringToObject
(
pJson
,
jkCreateUserStmtUserName
,
pNode
->
userName
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddStringToObject
(
pJson
,
jkCreateUserStmtPassword
,
pNode
->
password
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddIntegerToObject
(
pJson
,
jkCreateUserStmtSysinfo
,
pNode
->
sysinfo
);
}
return
code
;
}
static
int32_t
jsonToCreateUserStmt
(
const
SJson
*
pJson
,
void
*
pObj
)
{
SCreateUserStmt
*
pNode
=
(
SCreateUserStmt
*
)
pObj
;
int32_t
code
=
tjsonGetStringValue
(
pJson
,
jkCreateUserStmtUserName
,
pNode
->
userName
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetStringValue
(
pJson
,
jkCreateUserStmtPassword
,
pNode
->
password
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetTinyIntValue
(
pJson
,
jkCreateUserStmtSysinfo
,
&
pNode
->
sysinfo
);
}
return
code
;
}
static
const
char
*
jkDropUserStmtUserName
=
"UserName"
;
static
int32_t
dropUserStmtToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
...
...
@@ -4761,6 +5087,38 @@ static int32_t jsonToAlterDnodeStmt(const SJson* pJson, void* pObj) {
return
code
;
}
static
const
char
*
jkDropIndexStmtIgnoreNotExists
=
"IgnoreNotExists"
;
static
const
char
*
jkDropIndexStmtIndexDbName
=
"IndexDbName"
;
static
const
char
*
jkDropIndexStmtIndexName
=
"IndexName"
;
static
int32_t
dropIndexStmtToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
SDropIndexStmt
*
pNode
=
(
const
SDropIndexStmt
*
)
pObj
;
int32_t
code
=
tjsonAddBoolToObject
(
pJson
,
jkDropIndexStmtIgnoreNotExists
,
pNode
->
ignoreNotExists
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddStringToObject
(
pJson
,
jkDropIndexStmtIndexDbName
,
pNode
->
indexDbName
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddStringToObject
(
pJson
,
jkDropIndexStmtIndexName
,
pNode
->
indexName
);
}
return
code
;
}
static
int32_t
jsonToDropIndexStmt
(
const
SJson
*
pJson
,
void
*
pObj
)
{
SDropIndexStmt
*
pNode
=
(
SDropIndexStmt
*
)
pObj
;
int32_t
code
=
tjsonGetBoolValue
(
pJson
,
jkDropIndexStmtIgnoreNotExists
,
&
pNode
->
ignoreNotExists
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetStringValue
(
pJson
,
jkDropIndexStmtIndexDbName
,
pNode
->
indexDbName
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetStringValue
(
pJson
,
jkDropIndexStmtIndexName
,
pNode
->
indexName
);
}
return
code
;
}
static
const
char
*
jkDropComponentNodeStmtDnodeId
=
"DnodeId"
;
static
int32_t
dropComponentNodeStmtToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
...
...
@@ -4777,6 +5135,26 @@ static int32_t dropQnodeStmtToJson(const void* pObj, SJson* pJson) { return drop
static
int32_t
jsonToDropQnodeStmt
(
const
SJson
*
pJson
,
void
*
pObj
)
{
return
jsonToDropComponentNodeStmt
(
pJson
,
pObj
);
}
static
const
char
*
jkCreateComponentNodeStmtDnodeId
=
"DnodeId"
;
static
int32_t
createComponentNodeStmtToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
SCreateComponentNodeStmt
*
pNode
=
(
const
SCreateComponentNodeStmt
*
)
pObj
;
return
tjsonAddIntegerToObject
(
pJson
,
jkCreateComponentNodeStmtDnodeId
,
pNode
->
dnodeId
);
}
static
int32_t
jsonToCreateComponentNodeStmt
(
const
SJson
*
pJson
,
void
*
pObj
)
{
SCreateComponentNodeStmt
*
pNode
=
(
SCreateComponentNodeStmt
*
)
pObj
;
return
tjsonGetIntValue
(
pJson
,
jkCreateComponentNodeStmtDnodeId
,
&
pNode
->
dnodeId
);
}
static
int32_t
createSnodeStmtToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
return
createComponentNodeStmtToJson
(
pObj
,
pJson
);
}
static
int32_t
jsonToCreateSnodeStmt
(
const
SJson
*
pJson
,
void
*
pObj
)
{
return
jsonToCreateComponentNodeStmt
(
pJson
,
pObj
);
}
static
int32_t
dropSnodeStmtToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
return
dropComponentNodeStmtToJson
(
pObj
,
pJson
);
}
static
int32_t
jsonToDropSnodeStmt
(
const
SJson
*
pJson
,
void
*
pObj
)
{
return
jsonToDropComponentNodeStmt
(
pJson
,
pObj
);
}
...
...
@@ -4888,6 +5266,130 @@ static int32_t jsonToDropTopicStmt(const SJson* pJson, void* pObj) {
return
code
;
}
static
const
char
*
jkDropCGroupStmtTopicName
=
"TopicName"
;
static
const
char
*
jkDropCGroupStmtConsumerGroup
=
"ConsumerGroup"
;
static
const
char
*
jkDropCGroupStmtIgnoreNotExists
=
"IgnoreNotExists"
;
static
int32_t
dropConsumerGroupStmtToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
SDropCGroupStmt
*
pNode
=
(
const
SDropCGroupStmt
*
)
pObj
;
int32_t
code
=
tjsonAddStringToObject
(
pJson
,
jkDropCGroupStmtTopicName
,
pNode
->
topicName
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddStringToObject
(
pJson
,
jkDropCGroupStmtConsumerGroup
,
pNode
->
cgroup
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddBoolToObject
(
pJson
,
jkDropCGroupStmtIgnoreNotExists
,
pNode
->
ignoreNotExists
);
}
return
code
;
}
static
int32_t
jsonToDropConsumerGroupStmt
(
const
SJson
*
pJson
,
void
*
pObj
)
{
SDropCGroupStmt
*
pNode
=
(
SDropCGroupStmt
*
)
pObj
;
int32_t
code
=
tjsonGetStringValue
(
pJson
,
jkDropCGroupStmtTopicName
,
pNode
->
topicName
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetStringValue
(
pJson
,
jkDropCGroupStmtConsumerGroup
,
pNode
->
cgroup
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetBoolValue
(
pJson
,
jkDropCGroupStmtIgnoreNotExists
,
&
pNode
->
ignoreNotExists
);
}
return
code
;
}
static
const
char
*
jkDescribeStmtDbName
=
"DbName"
;
static
const
char
*
jkDescribeStmtTableName
=
"TableName"
;
static
int32_t
describeStmtToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
SDescribeStmt
*
pNode
=
(
const
SDescribeStmt
*
)
pObj
;
int32_t
code
=
tjsonAddStringToObject
(
pJson
,
jkDescribeStmtDbName
,
pNode
->
dbName
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddStringToObject
(
pJson
,
jkDescribeStmtTableName
,
pNode
->
tableName
);
}
return
code
;
}
static
int32_t
jsonToDescribeStmt
(
const
SJson
*
pJson
,
void
*
pObj
)
{
SDescribeStmt
*
pNode
=
(
SDescribeStmt
*
)
pObj
;
int32_t
code
=
tjsonGetStringValue
(
pJson
,
jkDescribeStmtDbName
,
pNode
->
dbName
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetStringValue
(
pJson
,
jkDescribeStmtTableName
,
pNode
->
tableName
);
}
return
code
;
}
static
const
char
*
jkCreateStreamStmtStreamName
=
"StreamName"
;
static
const
char
*
jkCreateStreamStmtTargetDbName
=
"TargetDbName"
;
static
const
char
*
jkCreateStreamStmtTargetTabName
=
"TargetTabName"
;
static
const
char
*
jkCreateStreamStmtIgnoreExists
=
"IgnoreExists"
;
static
const
char
*
jkCreateStreamStmtOptions
=
"Options"
;
static
const
char
*
jkCreateStreamStmtQuery
=
"Query"
;
static
const
char
*
jkCreateStreamStmtTags
=
"Tags"
;
static
const
char
*
jkCreateStreamStmtSubtable
=
"Subtable"
;
static
int32_t
createStreamStmtToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
SCreateStreamStmt
*
pNode
=
(
const
SCreateStreamStmt
*
)
pObj
;
int32_t
code
=
tjsonAddStringToObject
(
pJson
,
jkCreateStreamStmtStreamName
,
pNode
->
streamName
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddStringToObject
(
pJson
,
jkCreateStreamStmtTargetDbName
,
pNode
->
targetDbName
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddStringToObject
(
pJson
,
jkCreateStreamStmtTargetTabName
,
pNode
->
targetTabName
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddBoolToObject
(
pJson
,
jkCreateStreamStmtIgnoreExists
,
pNode
->
ignoreExists
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddObject
(
pJson
,
jkCreateStreamStmtOptions
,
nodeToJson
,
pNode
->
pOptions
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddObject
(
pJson
,
jkCreateStreamStmtQuery
,
nodeToJson
,
pNode
->
pQuery
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
nodeListToJson
(
pJson
,
jkCreateStreamStmtTags
,
pNode
->
pTags
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddObject
(
pJson
,
jkCreateStreamStmtSubtable
,
nodeToJson
,
pNode
->
pSubtable
);
}
return
code
;
}
static
int32_t
jsonToCreateStreamStmt
(
const
SJson
*
pJson
,
void
*
pObj
)
{
SCreateStreamStmt
*
pNode
=
(
SCreateStreamStmt
*
)
pObj
;
int32_t
code
=
tjsonGetStringValue
(
pJson
,
jkCreateStreamStmtStreamName
,
pNode
->
streamName
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetStringValue
(
pJson
,
jkCreateStreamStmtTargetDbName
,
pNode
->
targetDbName
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetStringValue
(
pJson
,
jkCreateStreamStmtTargetTabName
,
pNode
->
targetTabName
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetBoolValue
(
pJson
,
jkCreateStreamStmtIgnoreExists
,
&
pNode
->
ignoreExists
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeObject
(
pJson
,
jkCreateStreamStmtOptions
,
(
SNode
**
)
&
pNode
->
pOptions
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeObject
(
pJson
,
jkCreateStreamStmtQuery
,
&
pNode
->
pQuery
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeList
(
pJson
,
jkCreateStreamStmtTags
,
&
pNode
->
pTags
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
jsonToNodeObject
(
pJson
,
jkCreateStreamStmtSubtable
,
&
pNode
->
pSubtable
);
}
return
code
;
}
static
const
char
*
jkDropStreamStmtStreamName
=
"StreamName"
;
static
const
char
*
jkDropStreamStmtIgnoreNotExists
=
"IgnoreNotExists"
;
...
...
@@ -5295,11 +5797,15 @@ static int32_t specificNodeToJson(const void* pObj, SJson* pJson) {
case
QUERY_NODE_SLOT_DESC
:
return
slotDescNodeToJson
(
pObj
,
pJson
);
case
QUERY_NODE_COLUMN_DEF
:
break
;
return
columnDefNodeToJson
(
pObj
,
pJson
)
;
case
QUERY_NODE_DOWNSTREAM_SOURCE
:
return
downstreamSourceNodeToJson
(
pObj
,
pJson
);
case
QUERY_NODE_DATABASE_OPTIONS
:
return
databaseOptionsToJson
(
pObj
,
pJson
);
case
QUERY_NODE_TABLE_OPTIONS
:
return
tableOptionsToJson
(
pObj
,
pJson
);
case
QUERY_NODE_STREAM_OPTIONS
:
return
streamOptionsToJson
(
pObj
,
pJson
);
case
QUERY_NODE_LEFT_VALUE
:
return
TSDB_CODE_SUCCESS
;
// SLeftValueNode has no fields to serialize.
case
QUERY_NODE_WHEN_THEN
:
...
...
@@ -5321,7 +5827,11 @@ static int32_t specificNodeToJson(const void* pObj, SJson* pJson) {
case
QUERY_NODE_TRIM_DATABASE_STMT
:
return
trimDatabaseStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_CREATE_TABLE_STMT
:
break
;
return
createTableStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_CREATE_SUBTABLE_CLAUSE
:
return
createSubTableClauseToJson
(
pObj
,
pJson
);
case
QUERY_NODE_CREATE_MULTI_TABLES_STMT
:
return
createMultiTablesStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_DROP_TABLE_CLAUSE
:
return
dropTableClauseToJson
(
pObj
,
pJson
);
case
QUERY_NODE_DROP_TABLE_STMT
:
...
...
@@ -5330,6 +5840,8 @@ static int32_t specificNodeToJson(const void* pObj, SJson* pJson) {
return
dropStableStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_ALTER_TABLE_STMT
:
return
alterTableStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_CREATE_USER_STMT
:
return
createUserStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_DROP_USER_STMT
:
return
dropUserStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_USE_DATABASE_STMT
:
...
...
@@ -5338,8 +5850,12 @@ static int32_t specificNodeToJson(const void* pObj, SJson* pJson) {
return
dropDnodeStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_ALTER_DNODE_STMT
:
return
alterDnodeStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_DROP_INDEX_STMT
:
return
dropIndexStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_DROP_QNODE_STMT
:
return
dropQnodeStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_CREATE_SNODE_STMT
:
return
createSnodeStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_DROP_SNODE_STMT
:
return
dropSnodeStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_DROP_MNODE_STMT
:
...
...
@@ -5348,6 +5864,12 @@ static int32_t specificNodeToJson(const void* pObj, SJson* pJson) {
return
createTopicStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_DROP_TOPIC_STMT
:
return
dropTopicStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_DROP_CGROUP_STMT
:
return
dropConsumerGroupStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_DESCRIBE_STMT
:
return
describeStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_CREATE_STREAM_STMT
:
return
createStreamStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_DROP_STREAM_STMT
:
return
dropStreamStmtToJson
(
pObj
,
pJson
);
case
QUERY_NODE_SPLIT_VGROUP_STMT
:
...
...
@@ -5548,10 +6070,16 @@ static int32_t jsonToSpecificNode(const SJson* pJson, void* pObj) {
return
jsonToDataBlockDescNode
(
pJson
,
pObj
);
case
QUERY_NODE_SLOT_DESC
:
return
jsonToSlotDescNode
(
pJson
,
pObj
);
case
QUERY_NODE_COLUMN_DEF
:
return
jsonToColumnDefNode
(
pJson
,
pObj
);
case
QUERY_NODE_DOWNSTREAM_SOURCE
:
return
jsonToDownstreamSourceNode
(
pJson
,
pObj
);
case
QUERY_NODE_DATABASE_OPTIONS
:
return
jsonToDatabaseOptions
(
pJson
,
pObj
);
case
QUERY_NODE_TABLE_OPTIONS
:
return
jsonToTableOptions
(
pJson
,
pObj
);
case
QUERY_NODE_STREAM_OPTIONS
:
return
jsonToStreamOptions
(
pJson
,
pObj
);
case
QUERY_NODE_LEFT_VALUE
:
return
TSDB_CODE_SUCCESS
;
// SLeftValueNode has no fields to deserialize.
case
QUERY_NODE_WHEN_THEN
:
...
...
@@ -5570,6 +6098,12 @@ static int32_t jsonToSpecificNode(const SJson* pJson, void* pObj) {
return
jsonToAlterDatabaseStmt
(
pJson
,
pObj
);
case
QUERY_NODE_TRIM_DATABASE_STMT
:
return
jsonToTrimDatabaseStmt
(
pJson
,
pObj
);
case
QUERY_NODE_CREATE_TABLE_STMT
:
return
jsonToCreateTableStmt
(
pJson
,
pObj
);
case
QUERY_NODE_CREATE_SUBTABLE_CLAUSE
:
return
jsonToCreateSubTableClause
(
pJson
,
pObj
);
case
QUERY_NODE_CREATE_MULTI_TABLES_STMT
:
return
jsonToCreateMultiTablesStmt
(
pJson
,
pObj
);
case
QUERY_NODE_DROP_TABLE_CLAUSE
:
return
jsonToDropTableClause
(
pJson
,
pObj
);
case
QUERY_NODE_DROP_TABLE_STMT
:
...
...
@@ -5578,6 +6112,8 @@ static int32_t jsonToSpecificNode(const SJson* pJson, void* pObj) {
return
jsonToDropStableStmt
(
pJson
,
pObj
);
case
QUERY_NODE_ALTER_TABLE_STMT
:
return
jsonToAlterTableStmt
(
pJson
,
pObj
);
case
QUERY_NODE_CREATE_USER_STMT
:
return
jsonToCreateUserStmt
(
pJson
,
pObj
);
case
QUERY_NODE_DROP_USER_STMT
:
return
jsonToDropUserStmt
(
pJson
,
pObj
);
case
QUERY_NODE_USE_DATABASE_STMT
:
...
...
@@ -5586,8 +6122,12 @@ static int32_t jsonToSpecificNode(const SJson* pJson, void* pObj) {
return
jsonToDropDnodeStmt
(
pJson
,
pObj
);
case
QUERY_NODE_ALTER_DNODE_STMT
:
return
jsonToAlterDnodeStmt
(
pJson
,
pObj
);
case
QUERY_NODE_DROP_INDEX_STMT
:
return
jsonToDropIndexStmt
(
pJson
,
pObj
);
case
QUERY_NODE_DROP_QNODE_STMT
:
return
jsonToDropQnodeStmt
(
pJson
,
pObj
);
case
QUERY_NODE_CREATE_SNODE_STMT
:
return
jsonToCreateSnodeStmt
(
pJson
,
pObj
);
case
QUERY_NODE_DROP_SNODE_STMT
:
return
jsonToDropSnodeStmt
(
pJson
,
pObj
);
case
QUERY_NODE_DROP_MNODE_STMT
:
...
...
@@ -5596,6 +6136,12 @@ static int32_t jsonToSpecificNode(const SJson* pJson, void* pObj) {
return
jsonToCreateTopicStmt
(
pJson
,
pObj
);
case
QUERY_NODE_DROP_TOPIC_STMT
:
return
jsonToDropTopicStmt
(
pJson
,
pObj
);
case
QUERY_NODE_DROP_CGROUP_STMT
:
return
jsonToDropConsumerGroupStmt
(
pJson
,
pObj
);
case
QUERY_NODE_DESCRIBE_STMT
:
return
jsonToDescribeStmt
(
pJson
,
pObj
);
case
QUERY_NODE_CREATE_STREAM_STMT
:
return
jsonToCreateStreamStmt
(
pJson
,
pObj
);
case
QUERY_NODE_DROP_STREAM_STMT
:
return
jsonToDropStreamStmt
(
pJson
,
pObj
);
case
QUERY_NODE_SPLIT_VGROUP_STMT
:
...
...
source/libs/nodes/src/nodesUtilFuncs.c
浏览文件 @
aecd05cf
...
...
@@ -321,8 +321,8 @@ SNode* nodesMakeNode(ENodeType type) {
return
makeNode
(
type
,
sizeof
(
SCreateTableStmt
));
case
QUERY_NODE_CREATE_SUBTABLE_CLAUSE
:
return
makeNode
(
type
,
sizeof
(
SCreateSubTableClause
));
case
QUERY_NODE_CREATE_MULTI_TABLE_STMT
:
return
makeNode
(
type
,
sizeof
(
SCreateMultiTableStmt
));
case
QUERY_NODE_CREATE_MULTI_TABLE
S
_STMT
:
return
makeNode
(
type
,
sizeof
(
SCreateMultiTable
s
Stmt
));
case
QUERY_NODE_DROP_TABLE_CLAUSE
:
return
makeNode
(
type
,
sizeof
(
SDropTableClause
));
case
QUERY_NODE_DROP_TABLE_STMT
:
...
...
@@ -861,8 +861,8 @@ void nodesDestroyNode(SNode* pNode) {
nodesDestroyNode
((
SNode
*
)
pStmt
->
pOptions
);
break
;
}
case
QUERY_NODE_CREATE_MULTI_TABLE_STMT
:
nodesDestroyList
(((
SCreateMultiTableStmt
*
)
pNode
)
->
pSubTables
);
case
QUERY_NODE_CREATE_MULTI_TABLE
S
_STMT
:
nodesDestroyList
(((
SCreateMultiTable
s
Stmt
*
)
pNode
)
->
pSubTables
);
break
;
case
QUERY_NODE_DROP_TABLE_CLAUSE
:
// no pointer field
break
;
...
...
source/libs/parser/src/parAstCreater.c
浏览文件 @
aecd05cf
...
...
@@ -1208,7 +1208,7 @@ SNode* createCreateSubTableClause(SAstCreateContext* pCxt, bool ignoreExists, SN
SNode
*
createCreateMultiTableStmt
(
SAstCreateContext
*
pCxt
,
SNodeList
*
pSubTables
)
{
CHECK_PARSER_STATUS
(
pCxt
);
SCreateMultiTable
Stmt
*
pStmt
=
(
SCreateMultiTableStmt
*
)
nodesMakeNode
(
QUERY_NODE_CREATE_MULTI_TABLE
_STMT
);
SCreateMultiTable
sStmt
*
pStmt
=
(
SCreateMultiTablesStmt
*
)
nodesMakeNode
(
QUERY_NODE_CREATE_MULTI_TABLES
_STMT
);
CHECK_OUT_OF_MEM
(
pStmt
);
pStmt
->
pSubTables
=
pSubTables
;
return
(
SNode
*
)
pStmt
;
...
...
@@ -1430,7 +1430,7 @@ SNode* createCreateUserStmt(SAstCreateContext* pCxt, SToken* pUserName, const ST
}
SCreateUserStmt
*
pStmt
=
(
SCreateUserStmt
*
)
nodesMakeNode
(
QUERY_NODE_CREATE_USER_STMT
);
CHECK_OUT_OF_MEM
(
pStmt
);
COPY_STRING_FORM_ID_TOKEN
(
pStmt
->
useName
,
pUserName
);
COPY_STRING_FORM_ID_TOKEN
(
pStmt
->
use
r
Name
,
pUserName
);
strcpy
(
pStmt
->
password
,
password
);
pStmt
->
sysinfo
=
sysinfo
;
return
(
SNode
*
)
pStmt
;
...
...
@@ -1443,7 +1443,7 @@ SNode* createAlterUserStmt(SAstCreateContext* pCxt, SToken* pUserName, int8_t al
}
SAlterUserStmt
*
pStmt
=
(
SAlterUserStmt
*
)
nodesMakeNode
(
QUERY_NODE_ALTER_USER_STMT
);
CHECK_OUT_OF_MEM
(
pStmt
);
COPY_STRING_FORM_ID_TOKEN
(
pStmt
->
useName
,
pUserName
);
COPY_STRING_FORM_ID_TOKEN
(
pStmt
->
use
r
Name
,
pUserName
);
pStmt
->
alterType
=
alterType
;
switch
(
alterType
)
{
case
TSDB_ALTER_USER_PASSWD
:
{
...
...
source/libs/parser/src/parAstParser.c
浏览文件 @
aecd05cf
...
...
@@ -248,7 +248,7 @@ static int32_t collectMetaKeyFromCreateTable(SCollectMetaKeyCxt* pCxt, SCreateTa
return
code
;
}
static
int32_t
collectMetaKeyFromCreateMultiTable
(
SCollectMetaKeyCxt
*
pCxt
,
SCreateMultiTableStmt
*
pStmt
)
{
static
int32_t
collectMetaKeyFromCreateMultiTable
(
SCollectMetaKeyCxt
*
pCxt
,
SCreateMultiTable
s
Stmt
*
pStmt
)
{
int32_t
code
=
TSDB_CODE_SUCCESS
;
SNode
*
pNode
=
NULL
;
FOREACH
(
pNode
,
pStmt
->
pSubTables
)
{
...
...
@@ -584,8 +584,8 @@ static int32_t collectMetaKeyFromQuery(SCollectMetaKeyCxt* pCxt, SNode* pStmt) {
return
collectMetaKeyFromFlushDatabase
(
pCxt
,
(
SFlushDatabaseStmt
*
)
pStmt
);
case
QUERY_NODE_CREATE_TABLE_STMT
:
return
collectMetaKeyFromCreateTable
(
pCxt
,
(
SCreateTableStmt
*
)
pStmt
);
case
QUERY_NODE_CREATE_MULTI_TABLE_STMT
:
return
collectMetaKeyFromCreateMultiTable
(
pCxt
,
(
SCreateMultiTableStmt
*
)
pStmt
);
case
QUERY_NODE_CREATE_MULTI_TABLE
S
_STMT
:
return
collectMetaKeyFromCreateMultiTable
(
pCxt
,
(
SCreateMultiTable
s
Stmt
*
)
pStmt
);
case
QUERY_NODE_DROP_TABLE_STMT
:
return
collectMetaKeyFromDropTable
(
pCxt
,
(
SDropTableStmt
*
)
pStmt
);
case
QUERY_NODE_ALTER_TABLE_STMT
:
...
...
source/libs/parser/src/parTranslater.c
浏览文件 @
aecd05cf
...
...
@@ -5083,7 +5083,7 @@ static int32_t translateUseDatabase(STranslateContext* pCxt, SUseDatabaseStmt* p
static
int32_t
translateCreateUser
(
STranslateContext
*
pCxt
,
SCreateUserStmt
*
pStmt
)
{
SCreateUserReq
createReq
=
{
0
};
strcpy
(
createReq
.
user
,
pStmt
->
useName
);
strcpy
(
createReq
.
user
,
pStmt
->
use
r
Name
);
createReq
.
createType
=
0
;
createReq
.
superUser
=
0
;
createReq
.
sysInfo
=
pStmt
->
sysinfo
;
...
...
@@ -5095,7 +5095,7 @@ static int32_t translateCreateUser(STranslateContext* pCxt, SCreateUserStmt* pSt
static
int32_t
translateAlterUser
(
STranslateContext
*
pCxt
,
SAlterUserStmt
*
pStmt
)
{
SAlterUserReq
alterReq
=
{
0
};
strcpy
(
alterReq
.
user
,
pStmt
->
useName
);
strcpy
(
alterReq
.
user
,
pStmt
->
use
r
Name
);
alterReq
.
alterType
=
pStmt
->
alterType
;
alterReq
.
superUser
=
0
;
alterReq
.
enable
=
pStmt
->
enable
;
...
...
@@ -7029,7 +7029,7 @@ SArray* serializeVgroupsCreateTableBatch(SHashObj* pVgroupHashmap) {
}
static
int32_t
rewriteCreateMultiTable
(
STranslateContext
*
pCxt
,
SQuery
*
pQuery
)
{
SCreateMultiTable
Stmt
*
pStmt
=
(
SCreateMultiTable
Stmt
*
)
pQuery
->
pRoot
;
SCreateMultiTable
sStmt
*
pStmt
=
(
SCreateMultiTables
Stmt
*
)
pQuery
->
pRoot
;
SHashObj
*
pVgroupHashmap
=
taosHashInit
(
4
,
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_INT
),
false
,
HASH_NO_LOCK
);
if
(
NULL
==
pVgroupHashmap
)
{
...
...
@@ -7637,7 +7637,7 @@ static int32_t rewriteQuery(STranslateContext* pCxt, SQuery* pQuery) {
code
=
rewriteCreateTable
(
pCxt
,
pQuery
);
}
break
;
case
QUERY_NODE_CREATE_MULTI_TABLE_STMT
:
case
QUERY_NODE_CREATE_MULTI_TABLE
S
_STMT
:
code
=
rewriteCreateMultiTable
(
pCxt
,
pQuery
);
break
;
case
QUERY_NODE_DROP_TABLE_STMT
:
...
...
source/libs/planner/src/planLogicCreater.c
浏览文件 @
aecd05cf
...
...
@@ -1382,7 +1382,7 @@ static int32_t createSetOperatorLogicNode(SLogicPlanContext* pCxt, SSetOperator*
static
int32_t
getMsgType
(
ENodeType
sqlType
)
{
switch
(
sqlType
)
{
case
QUERY_NODE_CREATE_TABLE_STMT
:
case
QUERY_NODE_CREATE_MULTI_TABLE_STMT
:
case
QUERY_NODE_CREATE_MULTI_TABLE
S
_STMT
:
return
TDMT_VND_CREATE_TABLE
;
case
QUERY_NODE_DROP_TABLE_STMT
:
return
TDMT_VND_DROP_TABLE
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录