fix: fix table count operator groupId issue
This commit is contained in:
parent
e98b32a69f
commit
20c8a9031d
|
@ -3180,7 +3180,7 @@ static SSDataBlock* buildSysDbTableCount(SOperatorInfo* pOperator, STableCountSc
|
||||||
size_t perfdbTableNum;
|
size_t perfdbTableNum;
|
||||||
getPerfDbMeta(NULL, &perfdbTableNum);
|
getPerfDbMeta(NULL, &perfdbTableNum);
|
||||||
|
|
||||||
if (pSupp->groupByDbName) {
|
if (pSupp->groupByDbName || pSupp->groupByStbName) {
|
||||||
buildSysDbGroupedTableCount(pOperator, pInfo, pSupp, pRes, infodbTableNum, perfdbTableNum);
|
buildSysDbGroupedTableCount(pOperator, pInfo, pSupp, pRes, infodbTableNum, perfdbTableNum);
|
||||||
return (pRes->info.rows > 0) ? pRes : NULL;
|
return (pRes->info.rows > 0) ? pRes : NULL;
|
||||||
} else {
|
} else {
|
||||||
|
@ -3205,11 +3205,23 @@ static void buildSysDbGroupedTableCount(SOperatorInfo* pOperator, STableCountSca
|
||||||
STableCountScanSupp* pSupp, SSDataBlock* pRes, size_t infodbTableNum,
|
STableCountScanSupp* pSupp, SSDataBlock* pRes, size_t infodbTableNum,
|
||||||
size_t perfdbTableNum) {
|
size_t perfdbTableNum) {
|
||||||
if (pInfo->currGrpIdx == 0) {
|
if (pInfo->currGrpIdx == 0) {
|
||||||
uint64_t groupId = calcGroupId(TSDB_INFORMATION_SCHEMA_DB, strlen(TSDB_INFORMATION_SCHEMA_DB));
|
uint64_t groupId = 0;
|
||||||
|
if (pSupp->groupByDbName) {
|
||||||
|
groupId = calcGroupId(TSDB_INFORMATION_SCHEMA_DB, strlen(TSDB_INFORMATION_SCHEMA_DB));
|
||||||
|
} else {
|
||||||
|
groupId = calcGroupId("", 0);
|
||||||
|
}
|
||||||
|
|
||||||
pRes->info.id.groupId = groupId;
|
pRes->info.id.groupId = groupId;
|
||||||
fillTableCountScanDataBlock(pSupp, TSDB_INFORMATION_SCHEMA_DB, "", infodbTableNum, pRes);
|
fillTableCountScanDataBlock(pSupp, TSDB_INFORMATION_SCHEMA_DB, "", infodbTableNum, pRes);
|
||||||
} else if (pInfo->currGrpIdx == 1) {
|
} else if (pInfo->currGrpIdx == 1) {
|
||||||
uint64_t groupId = calcGroupId(TSDB_PERFORMANCE_SCHEMA_DB, strlen(TSDB_PERFORMANCE_SCHEMA_DB));
|
uint64_t groupId = 0;
|
||||||
|
if (pSupp->groupByDbName) {
|
||||||
|
groupId = calcGroupId(TSDB_PERFORMANCE_SCHEMA_DB, strlen(TSDB_PERFORMANCE_SCHEMA_DB));
|
||||||
|
} else {
|
||||||
|
groupId = calcGroupId("", 0);
|
||||||
|
}
|
||||||
|
|
||||||
pRes->info.id.groupId = groupId;
|
pRes->info.id.groupId = groupId;
|
||||||
fillTableCountScanDataBlock(pSupp, TSDB_PERFORMANCE_SCHEMA_DB, "", perfdbTableNum, pRes);
|
fillTableCountScanDataBlock(pSupp, TSDB_PERFORMANCE_SCHEMA_DB, "", perfdbTableNum, pRes);
|
||||||
} else {
|
} else {
|
||||||
|
@ -3247,7 +3259,7 @@ static SSDataBlock* buildVnodeDbTableCount(SOperatorInfo* pOperator, STableCount
|
||||||
tNameFromString(&sn, db, T_NAME_ACCT | T_NAME_DB);
|
tNameFromString(&sn, db, T_NAME_ACCT | T_NAME_DB);
|
||||||
tNameGetDbName(&sn, dbName);
|
tNameGetDbName(&sn, dbName);
|
||||||
|
|
||||||
if (pSupp->groupByDbName) {
|
if (pSupp->groupByDbName || pSupp->groupByStbName) {
|
||||||
buildVnodeGroupedTableCount(pOperator, pInfo, pSupp, pRes, vgId, dbName);
|
buildVnodeGroupedTableCount(pOperator, pInfo, pSupp, pRes, vgId, dbName);
|
||||||
} else {
|
} else {
|
||||||
buildVnodeFilteredTbCount(pOperator, pInfo, pSupp, pRes, dbName);
|
buildVnodeFilteredTbCount(pOperator, pInfo, pSupp, pRes, dbName);
|
||||||
|
@ -3308,7 +3320,10 @@ static void buildVnodeFilteredTbCount(SOperatorInfo* pOperator, STableCountScanO
|
||||||
static void buildVnodeGroupedNtbTableCount(STableCountScanOperatorInfo* pInfo, STableCountScanSupp* pSupp,
|
static void buildVnodeGroupedNtbTableCount(STableCountScanOperatorInfo* pInfo, STableCountScanSupp* pSupp,
|
||||||
SSDataBlock* pRes, char* dbName) {
|
SSDataBlock* pRes, char* dbName) {
|
||||||
char fullStbName[TSDB_TABLE_FNAME_LEN] = {0};
|
char fullStbName[TSDB_TABLE_FNAME_LEN] = {0};
|
||||||
snprintf(fullStbName, TSDB_TABLE_FNAME_LEN, "%s.%s", dbName, "");
|
if (pSupp->groupByDbName) {
|
||||||
|
snprintf(fullStbName, TSDB_TABLE_FNAME_LEN, "%s.%s", dbName, "");
|
||||||
|
}
|
||||||
|
|
||||||
uint64_t groupId = calcGroupId(fullStbName, strlen(fullStbName));
|
uint64_t groupId = calcGroupId(fullStbName, strlen(fullStbName));
|
||||||
pRes->info.id.groupId = groupId;
|
pRes->info.id.groupId = groupId;
|
||||||
int64_t ntbNum = metaGetNtbNum(pInfo->readHandle.meta);
|
int64_t ntbNum = metaGetNtbNum(pInfo->readHandle.meta);
|
||||||
|
@ -3323,7 +3338,12 @@ static void buildVnodeGroupedStbTableCount(STableCountScanOperatorInfo* pInfo, S
|
||||||
metaGetTableSzNameByUid(pInfo->readHandle.meta, stbUid, stbName);
|
metaGetTableSzNameByUid(pInfo->readHandle.meta, stbUid, stbName);
|
||||||
|
|
||||||
char fullStbName[TSDB_TABLE_FNAME_LEN] = {0};
|
char fullStbName[TSDB_TABLE_FNAME_LEN] = {0};
|
||||||
snprintf(fullStbName, TSDB_TABLE_FNAME_LEN, "%s.%s", dbName, stbName);
|
if (pSupp->groupByDbName) {
|
||||||
|
snprintf(fullStbName, TSDB_TABLE_FNAME_LEN, "%s.%s", dbName, stbName);
|
||||||
|
} else {
|
||||||
|
snprintf(fullStbName, TSDB_TABLE_FNAME_LEN, "%s", stbName);
|
||||||
|
}
|
||||||
|
|
||||||
uint64_t groupId = calcGroupId(fullStbName, strlen(fullStbName));
|
uint64_t groupId = calcGroupId(fullStbName, strlen(fullStbName));
|
||||||
pRes->info.id.groupId = groupId;
|
pRes->info.id.groupId = groupId;
|
||||||
|
|
||||||
|
|
|
@ -864,6 +864,7 @@
|
||||||
,,y,script,./test.sh -f tsim/query/forceFill.sim
|
,,y,script,./test.sh -f tsim/query/forceFill.sim
|
||||||
,,y,script,./test.sh -f tsim/query/emptyTsRange.sim
|
,,y,script,./test.sh -f tsim/query/emptyTsRange.sim
|
||||||
,,y,script,./test.sh -f tsim/query/partitionby.sim
|
,,y,script,./test.sh -f tsim/query/partitionby.sim
|
||||||
|
,,y,script,./test.sh -f tsim/query/tableCount.sim
|
||||||
,,y,script,./test.sh -f tsim/qnode/basic1.sim
|
,,y,script,./test.sh -f tsim/qnode/basic1.sim
|
||||||
,,y,script,./test.sh -f tsim/snode/basic1.sim
|
,,y,script,./test.sh -f tsim/snode/basic1.sim
|
||||||
,,y,script,./test.sh -f tsim/mnode/basic1.sim
|
,,y,script,./test.sh -f tsim/mnode/basic1.sim
|
||||||
|
|
Loading…
Reference in New Issue