fix: print multi dataDir for show variables
This commit is contained in:
parent
42b52ef9d7
commit
6720f850b0
|
@ -267,7 +267,11 @@ int32_t dumpConfToDataBlock(SSDataBlock* pBlock, int32_t startCol) {
|
||||||
|
|
||||||
int8_t locked = 0;
|
int8_t locked = 0;
|
||||||
|
|
||||||
TAOS_CHECK_GOTO(blockDataEnsureCapacity(pBlock, cfgGetSize(pConf)), NULL, _exit);
|
SConfigItem* pDataDirItem = cfgGetItem(pConf, "dataDir");
|
||||||
|
size_t exSize = TMAX(taosArrayGetSize(pDataDirItem->array), 1) - 1;
|
||||||
|
size_t index = 0;
|
||||||
|
|
||||||
|
TAOS_CHECK_GOTO(blockDataEnsureCapacity(pBlock, cfgGetSize(pConf) + exSize), NULL, _exit);
|
||||||
|
|
||||||
TAOS_CHECK_GOTO(cfgCreateIter(pConf, &pIter), NULL, _exit);
|
TAOS_CHECK_GOTO(cfgCreateIter(pConf, &pIter), NULL, _exit);
|
||||||
|
|
||||||
|
@ -275,6 +279,7 @@ int32_t dumpConfToDataBlock(SSDataBlock* pBlock, int32_t startCol) {
|
||||||
locked = 1;
|
locked = 1;
|
||||||
|
|
||||||
while ((pItem = cfgNextIter(pIter)) != NULL) {
|
while ((pItem = cfgNextIter(pIter)) != NULL) {
|
||||||
|
_start:
|
||||||
col = startCol;
|
col = startCol;
|
||||||
|
|
||||||
// GRANT_CFG_SKIP;
|
// GRANT_CFG_SKIP;
|
||||||
|
@ -291,7 +296,17 @@ int32_t dumpConfToDataBlock(SSDataBlock* pBlock, int32_t startCol) {
|
||||||
|
|
||||||
char value[TSDB_CONFIG_VALUE_LEN + VARSTR_HEADER_SIZE] = {0};
|
char value[TSDB_CONFIG_VALUE_LEN + VARSTR_HEADER_SIZE] = {0};
|
||||||
int32_t valueLen = 0;
|
int32_t valueLen = 0;
|
||||||
TAOS_CHECK_GOTO(cfgDumpItemValue(pItem, &value[VARSTR_HEADER_SIZE], TSDB_CONFIG_VALUE_LEN, &valueLen), NULL, _exit);
|
|
||||||
|
if (strcasecmp(pItem->name, "dataDir") == 0 && exSize > 0) {
|
||||||
|
char* buf = &value[VARSTR_HEADER_SIZE];
|
||||||
|
SDiskCfg* pDiskCfg = taosArrayGet(pItem->array, index);
|
||||||
|
valueLen = snprintf(buf, TSDB_CONFIG_VALUE_LEN, "%s l:%d p:%d d:%" PRIi8, pDiskCfg->dir, pDiskCfg->level,
|
||||||
|
pDiskCfg->primary, pDiskCfg->disable);
|
||||||
|
index++;
|
||||||
|
} else {
|
||||||
|
TAOS_CHECK_GOTO(cfgDumpItemValue(pItem, &value[VARSTR_HEADER_SIZE], TSDB_CONFIG_VALUE_LEN, &valueLen), NULL,
|
||||||
|
_exit);
|
||||||
|
}
|
||||||
varDataSetLen(value, valueLen);
|
varDataSetLen(value, valueLen);
|
||||||
|
|
||||||
pColInfo = taosArrayGet(pBlock->pDataBlock, col++);
|
pColInfo = taosArrayGet(pBlock->pDataBlock, col++);
|
||||||
|
@ -314,7 +329,10 @@ int32_t dumpConfToDataBlock(SSDataBlock* pBlock, int32_t startCol) {
|
||||||
TAOS_CHECK_GOTO(colDataSetVal(pColInfo, numOfRows, scope, false), NULL, _exit);
|
TAOS_CHECK_GOTO(colDataSetVal(pColInfo, numOfRows, scope, false), NULL, _exit);
|
||||||
|
|
||||||
numOfRows++;
|
numOfRows++;
|
||||||
}
|
if (index > 0 && index <= exSize) {
|
||||||
|
goto _start;
|
||||||
|
}
|
||||||
|
}
|
||||||
pBlock->info.rows = numOfRows;
|
pBlock->info.rows = numOfRows;
|
||||||
_exit:
|
_exit:
|
||||||
if (locked) cfgUnLock(pConf);
|
if (locked) cfgUnLock(pConf);
|
||||||
|
|
Loading…
Reference in New Issue