Merge pull request #15847 from taosdata/feature/3.0_wxy
fix: sql command 'show cluster' error
This commit is contained in:
commit
125c73590d
|
@ -657,12 +657,17 @@ typedef struct SqlParseWrapper {
|
||||||
SQuery *pQuery;
|
SQuery *pQuery;
|
||||||
} SqlParseWrapper;
|
} SqlParseWrapper;
|
||||||
|
|
||||||
|
static void destoryTablesReq(void *p) {
|
||||||
|
STablesReq *pRes = (STablesReq *)p;
|
||||||
|
taosArrayDestroy(pRes->pTables);
|
||||||
|
}
|
||||||
|
|
||||||
static void destorySqlParseWrapper(SqlParseWrapper *pWrapper) {
|
static void destorySqlParseWrapper(SqlParseWrapper *pWrapper) {
|
||||||
taosArrayDestroy(pWrapper->catalogReq.pDbVgroup);
|
taosArrayDestroy(pWrapper->catalogReq.pDbVgroup);
|
||||||
taosArrayDestroy(pWrapper->catalogReq.pDbCfg);
|
taosArrayDestroy(pWrapper->catalogReq.pDbCfg);
|
||||||
taosArrayDestroy(pWrapper->catalogReq.pDbInfo);
|
taosArrayDestroy(pWrapper->catalogReq.pDbInfo);
|
||||||
taosArrayDestroy(pWrapper->catalogReq.pTableMeta);
|
taosArrayDestroyEx(pWrapper->catalogReq.pTableMeta, destoryTablesReq);
|
||||||
taosArrayDestroy(pWrapper->catalogReq.pTableHash);
|
taosArrayDestroyEx(pWrapper->catalogReq.pTableHash, destoryTablesReq);
|
||||||
taosArrayDestroy(pWrapper->catalogReq.pUdf);
|
taosArrayDestroy(pWrapper->catalogReq.pUdf);
|
||||||
taosArrayDestroy(pWrapper->catalogReq.pIndex);
|
taosArrayDestroy(pWrapper->catalogReq.pIndex);
|
||||||
taosArrayDestroy(pWrapper->catalogReq.pUser);
|
taosArrayDestroy(pWrapper->catalogReq.pUser);
|
||||||
|
|
|
@ -1082,7 +1082,7 @@ _return:
|
||||||
ctgReleaseVgInfoToCache(pCtg, dbCache);
|
ctgReleaseVgInfoToCache(pCtg, dbCache);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pTask->res) {
|
if (pTask->res || code) {
|
||||||
ctgHandleTaskEnd(pTask, code);
|
ctgHandleTaskEnd(pTask, code);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -392,6 +392,9 @@ static void destroyDataSinkNode(SDataSinkNode* pNode) { nodesDestroyNode((SNode*
|
||||||
static void destroyExprNode(SExprNode* pExpr) { taosArrayDestroy(pExpr->pAssociation); }
|
static void destroyExprNode(SExprNode* pExpr) { taosArrayDestroy(pExpr->pAssociation); }
|
||||||
|
|
||||||
static void destroyTableCfg(STableCfg* pCfg) {
|
static void destroyTableCfg(STableCfg* pCfg) {
|
||||||
|
if (NULL == pCfg) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
taosArrayDestroy(pCfg->pFuncs);
|
taosArrayDestroy(pCfg->pFuncs);
|
||||||
taosMemoryFree(pCfg->pComment);
|
taosMemoryFree(pCfg->pComment);
|
||||||
taosMemoryFree(pCfg->pSchemas);
|
taosMemoryFree(pCfg->pSchemas);
|
||||||
|
|
|
@ -339,6 +339,11 @@ static int32_t collectMetaKeyFromShowBnodes(SCollectMetaKeyCxt* pCxt, SShowStmt*
|
||||||
pCxt->pMetaCache);
|
pCxt->pMetaCache);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int32_t collectMetaKeyFromShowCluster(SCollectMetaKeyCxt* pCxt, SShowStmt* pStmt) {
|
||||||
|
return reserveTableMetaInCache(pCxt->pParseCxt->acctId, TSDB_INFORMATION_SCHEMA_DB, TSDB_INS_TABLE_CLUSTER,
|
||||||
|
pCxt->pMetaCache);
|
||||||
|
}
|
||||||
|
|
||||||
static int32_t collectMetaKeyFromShowDatabases(SCollectMetaKeyCxt* pCxt, SShowStmt* pStmt) {
|
static int32_t collectMetaKeyFromShowDatabases(SCollectMetaKeyCxt* pCxt, SShowStmt* pStmt) {
|
||||||
return reserveTableMetaInCache(pCxt->pParseCxt->acctId, TSDB_INFORMATION_SCHEMA_DB, TSDB_INS_TABLE_DATABASES,
|
return reserveTableMetaInCache(pCxt->pParseCxt->acctId, TSDB_INFORMATION_SCHEMA_DB, TSDB_INS_TABLE_DATABASES,
|
||||||
pCxt->pMetaCache);
|
pCxt->pMetaCache);
|
||||||
|
@ -547,6 +552,8 @@ static int32_t collectMetaKeyFromQuery(SCollectMetaKeyCxt* pCxt, SNode* pStmt) {
|
||||||
return collectMetaKeyFromShowSnodes(pCxt, (SShowStmt*)pStmt);
|
return collectMetaKeyFromShowSnodes(pCxt, (SShowStmt*)pStmt);
|
||||||
case QUERY_NODE_SHOW_BNODES_STMT:
|
case QUERY_NODE_SHOW_BNODES_STMT:
|
||||||
return collectMetaKeyFromShowBnodes(pCxt, (SShowStmt*)pStmt);
|
return collectMetaKeyFromShowBnodes(pCxt, (SShowStmt*)pStmt);
|
||||||
|
case QUERY_NODE_SHOW_CLUSTER_STMT:
|
||||||
|
return collectMetaKeyFromShowCluster(pCxt, (SShowStmt*)pStmt);
|
||||||
case QUERY_NODE_SHOW_DATABASES_STMT:
|
case QUERY_NODE_SHOW_DATABASES_STMT:
|
||||||
return collectMetaKeyFromShowDatabases(pCxt, (SShowStmt*)pStmt);
|
return collectMetaKeyFromShowDatabases(pCxt, (SShowStmt*)pStmt);
|
||||||
case QUERY_NODE_SHOW_FUNCTIONS_STMT:
|
case QUERY_NODE_SHOW_FUNCTIONS_STMT:
|
||||||
|
|
|
@ -119,6 +119,12 @@ void generateInformationSchema(MockCatalogService* mcs) {
|
||||||
.addColumn("dnode_id", TSDB_DATA_TYPE_INT);
|
.addColumn("dnode_id", TSDB_DATA_TYPE_INT);
|
||||||
builder.done();
|
builder.done();
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
ITableBuilder& builder =
|
||||||
|
mcs->createTableBuilder(TSDB_INFORMATION_SCHEMA_DB, TSDB_INS_TABLE_CLUSTER, TSDB_SYSTEM_TABLE, 1)
|
||||||
|
.addColumn("id", TSDB_DATA_TYPE_BIGINT);
|
||||||
|
builder.done();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void generatePerformanceSchema(MockCatalogService* mcs) {
|
void generatePerformanceSchema(MockCatalogService* mcs) {
|
||||||
|
|
|
@ -25,6 +25,15 @@ class ParserShowToUseTest : public ParserDdlTest {};
|
||||||
// todo SHOW apps
|
// todo SHOW apps
|
||||||
// todo SHOW connections
|
// todo SHOW connections
|
||||||
|
|
||||||
|
TEST_F(ParserShowToUseTest, showCluster) {
|
||||||
|
useDb("root", "test");
|
||||||
|
|
||||||
|
setCheckDdlFunc(
|
||||||
|
[&](const SQuery* pQuery, ParserStage stage) { ASSERT_EQ(nodeType(pQuery->pRoot), QUERY_NODE_SELECT_STMT); });
|
||||||
|
|
||||||
|
run("SHOW CLUSTER");
|
||||||
|
}
|
||||||
|
|
||||||
TEST_F(ParserShowToUseTest, showConsumers) {
|
TEST_F(ParserShowToUseTest, showConsumers) {
|
||||||
useDb("root", "test");
|
useDb("root", "test");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue