Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
0575cc26
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
未验证
提交
0575cc26
编写于
10月 03, 2022
作者:
S
Shengliang Guan
提交者:
GitHub
10月 03, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #17186 from taosdata/feat/3.0_parser_planner
fix: query information_schema.ins_tags error
上级
5aab7ab4
3d1bf6f5
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
14 addition
and
70 deletion
+14
-70
source/libs/parser/src/parTranslater.c
source/libs/parser/src/parTranslater.c
+9
-69
source/libs/parser/src/parUtil.c
source/libs/parser/src/parUtil.c
+5
-1
未找到文件。
source/libs/parser/src/parTranslater.c
浏览文件 @
0575cc26
...
...
@@ -2181,7 +2181,11 @@ static int32_t getTagsTableVgroupListImpl(STranslateContext* pCxt, SName* pTarge
}
if
(
TSDB_DB_NAME_T
==
pTargetName
->
type
)
{
return
getDBVgInfoImpl
(
pCxt
,
pTargetName
,
pVgroupList
);
int32_t
code
=
getDBVgInfoImpl
(
pCxt
,
pTargetName
,
pVgroupList
);
if
(
TSDB_CODE_MND_DB_NOT_EXIST
==
code
)
{
code
=
TSDB_CODE_SUCCESS
;
}
return
code
;
}
SVgroupInfo
vgInfo
=
{
0
};
...
...
@@ -2190,79 +2194,15 @@ static int32_t getTagsTableVgroupListImpl(STranslateContext* pCxt, SName* pTarge
*
pVgroupList
=
taosArrayInit
(
1
,
sizeof
(
SVgroupInfo
));
if
(
NULL
==
*
pVgroupList
)
{
code
=
TSDB_CODE_OUT_OF_MEMORY
;
}
else
{
taosArrayPush
(
*
pVgroupList
,
&
vgInfo
);
}
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
taosArrayPush
(
*
pVgroupList
,
&
vgInfo
);
}
else
if
(
TSDB_CODE_MND_DB_NOT_EXIST
==
code
)
{
code
=
TSDB_CODE_SUCCESS
;
}
return
code
;
}
// static int32_t getTagsTableTargetNameFromOp(STranslateContext* pCxt, SOperatorNode* pOper, SName* pName) {
// if (OP_TYPE_EQUAL != pOper->opType) {
// return TSDB_CODE_SUCCESS;
// }
// SColumnNode* pCol = NULL;
// SValueNode* pVal = NULL;
// if (QUERY_NODE_COLUMN == nodeType(pOper->pLeft)) {
// pCol = (SColumnNode*)pOper->pLeft;
// } else if (QUERY_NODE_VALUE == nodeType(pOper->pLeft)) {
// pVal = (SValueNode*)pOper->pLeft;
// }
// if (QUERY_NODE_COLUMN == nodeType(pOper->pRight)) {
// pCol = (SColumnNode*)pOper->pRight;
// } else if (QUERY_NODE_VALUE == nodeType(pOper->pRight)) {
// pVal = (SValueNode*)pOper->pRight;
// }
// if (NULL == pCol || NULL == pVal) {
// return TSDB_CODE_SUCCESS;
// }
// if (0 == strcmp(pCol->colName, "db_name")) {
// return tNameSetDbName(pName, pCxt->pParseCxt->acctId, pVal->literal, strlen(pVal->literal));
// } else if (0 == strcmp(pCol->colName, "table_name")) {
// return tNameAddTbName(pName, pVal->literal, strlen(pVal->literal));
// }
// return TSDB_CODE_SUCCESS;
// }
// static void getTagsTableTargetObjName(STranslateContext* pCxt, SNode* pNode, SName* pName) {
// if (QUERY_NODE_OPERATOR == nodeType(pNode)) {
// getTagsTableTargetNameFromOp(pCxt, (SOperatorNode*)pNode, pName);
// }
// }
// static int32_t getTagsTableTargetNameFromCond(STranslateContext* pCxt, SLogicConditionNode* pCond, SName* pName) {
// if (LOGIC_COND_TYPE_AND != pCond->condType) {
// return TSDB_CODE_SUCCESS;
// }
// SNode* pNode = NULL;
// FOREACH(pNode, pCond->pParameterList) { getTagsTableTargetObjName(pCxt, pNode, pName); }
// if ('\0' == pName->dbname[0]) {
// pName->type = 0;
// }
// return TSDB_CODE_SUCCESS;
// }
// static int32_t getTagsTableTargetName(STranslateContext* pCxt, SNode* pWhere, SName* pName) {
// if (NULL == pWhere) {
// return TSDB_CODE_SUCCESS;
// }
// if (QUERY_NODE_OPERATOR == nodeType(pWhere)) {
// return getTagsTableTargetNameFromOp(pCxt, (SOperatorNode*)pWhere, pName);
// }
// if (QUERY_NODE_LOGIC_CONDITION == nodeType(pWhere)) {
// return getTagsTableTargetNameFromCond(pCxt, (SLogicConditionNode*)pWhere, pName);
// }
// return TSDB_CODE_SUCCESS;
// }
static
int32_t
getTagsTableVgroupList
(
STranslateContext
*
pCxt
,
SName
*
pName
,
SArray
**
pVgroupList
)
{
if
(
!
isSelectStmt
(
pCxt
->
pCurrStmt
))
{
return
TSDB_CODE_SUCCESS
;
...
...
source/libs/parser/src/parUtil.c
浏览文件 @
0575cc26
...
...
@@ -475,7 +475,11 @@ int32_t getInsTagsTableTargetName(int32_t acctId, SNode* pWhere, SName* pName) {
}
if
(
QUERY_NODE_OPERATOR
==
nodeType
(
pWhere
))
{
return
getInsTagsTableTargetNameFromOp
(
acctId
,
(
SOperatorNode
*
)
pWhere
,
pName
);
int32_t
code
=
getInsTagsTableTargetNameFromOp
(
acctId
,
(
SOperatorNode
*
)
pWhere
,
pName
);
if
(
TSDB_CODE_SUCCESS
==
code
&&
'\0'
==
pName
->
dbname
[
0
])
{
pName
->
type
=
0
;
}
return
code
;
}
if
(
QUERY_NODE_LOGIC_CONDITION
==
nodeType
(
pWhere
))
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录