fix: internal error when show normal db.tables like pattern
This commit is contained in:
parent
1088b80a46
commit
f659e36d2c
|
@ -8018,9 +8018,29 @@ static int32_t insertCondIntoSelectStmt(SSelectStmt* pSelect, SNode* pCond) {
|
||||||
if (pSelect->pWhere == NULL) {
|
if (pSelect->pWhere == NULL) {
|
||||||
pSelect->pWhere = pCond;
|
pSelect->pWhere = pCond;
|
||||||
} else {
|
} else {
|
||||||
SNode* pWhere = NULL;
|
SNodeList* pLogicCondListWhere = NULL;
|
||||||
createLogicCondNode(pSelect->pWhere, pCond, &pWhere, LOGIC_COND_TYPE_AND);
|
SNodeList* pLogicCondList2 = NULL;
|
||||||
pSelect->pWhere = pWhere;
|
if (nodeType(pSelect->pWhere) == QUERY_NODE_LOGIC_CONDITION &&
|
||||||
|
((SLogicConditionNode*)pSelect->pWhere)->condType == LOGIC_COND_TYPE_AND) {
|
||||||
|
pLogicCondListWhere = ((SLogicConditionNode*)pSelect->pWhere)->pParameterList;
|
||||||
|
} else {
|
||||||
|
nodesListMakeAppend(&pLogicCondListWhere, pSelect->pWhere);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nodeType(pCond) == QUERY_NODE_LOGIC_CONDITION &&
|
||||||
|
((SLogicConditionNode*)pCond)->condType == LOGIC_COND_TYPE_AND) {
|
||||||
|
pLogicCondList2 = ((SLogicConditionNode*)pCond)->pParameterList;
|
||||||
|
} else {
|
||||||
|
nodesListMakeAppend(&pLogicCondList2, pCond);
|
||||||
|
}
|
||||||
|
|
||||||
|
nodesListAppendList(pLogicCondListWhere, pLogicCondList2);
|
||||||
|
|
||||||
|
SLogicConditionNode* pWhere = (SLogicConditionNode*)nodesMakeNode(QUERY_NODE_LOGIC_CONDITION);
|
||||||
|
pWhere->condType = LOGIC_COND_TYPE_AND;
|
||||||
|
pWhere->pParameterList = pLogicCondListWhere;
|
||||||
|
|
||||||
|
pSelect->pWhere = (SNode*)pWhere;
|
||||||
}
|
}
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,4 +94,14 @@ print $rows
|
||||||
if $rows != 5 then
|
if $rows != 5 then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
sql show child db2.tables like '%'
|
||||||
|
print $rows
|
||||||
|
if $rows != 5 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
|
sql show normal db2.tables like '%'
|
||||||
|
print $rows
|
||||||
|
if $rows != 0 then
|
||||||
|
return -1
|
||||||
|
endi
|
||||||
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
system sh/exec.sh -n dnode1 -s stop -x SIGINT
|
||||||
|
|
Loading…
Reference in New Issue