Merge pull request #13804 from taosdata/fix/mnode
enh: show db status such as creating and dropping
This commit is contained in:
commit
0cf6de865d
|
@ -1366,7 +1366,7 @@ char *buildRetension(SArray *pRetension) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, int32_t rows, int64_t numOfTables,
|
static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, int32_t rows, int64_t numOfTables,
|
||||||
bool sysDb) {
|
bool sysDb, ESdbStatus objStatus) {
|
||||||
int32_t cols = 0;
|
int32_t cols = 0;
|
||||||
|
|
||||||
int32_t bytes = pShow->pMeta->pSchemas[cols].bytes;
|
int32_t bytes = pShow->pMeta->pSchemas[cols].bytes;
|
||||||
|
@ -1379,6 +1379,8 @@ static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, in
|
||||||
}
|
}
|
||||||
|
|
||||||
char *status = "ready";
|
char *status = "ready";
|
||||||
|
if (objStatus == SDB_STATUS_CREATING) status = "creating";
|
||||||
|
if (objStatus == SDB_STATUS_DROPPING) status = "dropping";
|
||||||
char statusB[24] = {0};
|
char statusB[24] = {0};
|
||||||
STR_WITH_SIZE_TO_VARSTR(statusB, status, strlen(status));
|
STR_WITH_SIZE_TO_VARSTR(statusB, status, strlen(status));
|
||||||
|
|
||||||
|
@ -1503,8 +1505,8 @@ static void dumpDbInfoData(SSDataBlock *pBlock, SDbObj *pDb, SShowObj *pShow, in
|
||||||
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
|
pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
|
||||||
colDataAppend(pColInfo, rows, (const char *)statusB, false);
|
colDataAppend(pColInfo, rows, (const char *)statusB, false);
|
||||||
|
|
||||||
// pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
|
// pColInfo = taosArrayGet(pBlock->pDataBlock, cols++);
|
||||||
// colDataAppend(pColInfo, rows, (const char *)&pDb->cfg.schemaless, false);
|
// colDataAppend(pColInfo, rows, (const char *)&pDb->cfg.schemaless, false);
|
||||||
|
|
||||||
char *p = buildRetension(pDb->cfg.pRetensions);
|
char *p = buildRetension(pDb->cfg.pRetensions);
|
||||||
|
|
||||||
|
@ -1548,29 +1550,30 @@ static bool mndGetTablesOfDbFp(SMnode *pMnode, void *pObj, void *p1, void *p2, v
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t mndRetrieveDbs(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBlock, int32_t rowsCapacity) {
|
static int32_t mndRetrieveDbs(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBlock, int32_t rowsCapacity) {
|
||||||
SMnode *pMnode = pReq->info.node;
|
SMnode *pMnode = pReq->info.node;
|
||||||
SSdb *pSdb = pMnode->pSdb;
|
SSdb *pSdb = pMnode->pSdb;
|
||||||
int32_t numOfRows = 0;
|
int32_t numOfRows = 0;
|
||||||
SDbObj *pDb = NULL;
|
SDbObj *pDb = NULL;
|
||||||
|
ESdbStatus objStatus = 0;
|
||||||
|
|
||||||
// Append the information_schema database into the result.
|
// Append the information_schema database into the result.
|
||||||
if (!pShow->sysDbRsp) {
|
if (!pShow->sysDbRsp) {
|
||||||
SDbObj infoschemaDb = {0};
|
SDbObj infoschemaDb = {0};
|
||||||
setInformationSchemaDbCfg(&infoschemaDb);
|
setInformationSchemaDbCfg(&infoschemaDb);
|
||||||
dumpDbInfoData(pBlock, &infoschemaDb, pShow, numOfRows, 14, true);
|
dumpDbInfoData(pBlock, &infoschemaDb, pShow, numOfRows, 14, true, 0);
|
||||||
|
|
||||||
numOfRows += 1;
|
numOfRows += 1;
|
||||||
|
|
||||||
SDbObj perfschemaDb = {0};
|
SDbObj perfschemaDb = {0};
|
||||||
setPerfSchemaDbCfg(&perfschemaDb);
|
setPerfSchemaDbCfg(&perfschemaDb);
|
||||||
dumpDbInfoData(pBlock, &perfschemaDb, pShow, numOfRows, 3, true);
|
dumpDbInfoData(pBlock, &perfschemaDb, pShow, numOfRows, 3, true, 0);
|
||||||
|
|
||||||
numOfRows += 1;
|
numOfRows += 1;
|
||||||
pShow->sysDbRsp = true;
|
pShow->sysDbRsp = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (numOfRows < rowsCapacity) {
|
while (numOfRows < rowsCapacity) {
|
||||||
pShow->pIter = sdbFetch(pSdb, SDB_DB, pShow->pIter, (void **)&pDb);
|
pShow->pIter = sdbFetchAll(pSdb, SDB_DB, pShow->pIter, (void **)&pDb, &objStatus);
|
||||||
if (pShow->pIter == NULL) {
|
if (pShow->pIter == NULL) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1578,7 +1581,7 @@ static int32_t mndRetrieveDbs(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pBloc
|
||||||
int32_t numOfTables = 0;
|
int32_t numOfTables = 0;
|
||||||
sdbTraverse(pSdb, SDB_VGROUP, mndGetTablesOfDbFp, &numOfTables, NULL, NULL);
|
sdbTraverse(pSdb, SDB_VGROUP, mndGetTablesOfDbFp, &numOfTables, NULL, NULL);
|
||||||
|
|
||||||
dumpDbInfoData(pBlock, pDb, pShow, numOfRows, numOfTables, false);
|
dumpDbInfoData(pBlock, pDb, pShow, numOfRows, numOfTables, false, objStatus);
|
||||||
numOfRows++;
|
numOfRows++;
|
||||||
sdbRelease(pSdb, pDb);
|
sdbRelease(pSdb, pDb);
|
||||||
}
|
}
|
||||||
|
|
|
@ -659,7 +659,7 @@ static int32_t mndRetrieveMnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
|
||||||
int32_t numOfRows = 0;
|
int32_t numOfRows = 0;
|
||||||
int32_t cols = 0;
|
int32_t cols = 0;
|
||||||
SMnodeObj *pObj = NULL;
|
SMnodeObj *pObj = NULL;
|
||||||
ESdbStatus objStatus;
|
ESdbStatus objStatus = 0;
|
||||||
char *pWrite;
|
char *pWrite;
|
||||||
int64_t curMs = taosGetTimestampMs();
|
int64_t curMs = taosGetTimestampMs();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue