提交 868185a3 编写于 作者: H Haojun Liao

refactor(query): do some internal refactor.

上级 b66e0e71
...@@ -602,48 +602,45 @@ SOperatorInfo* createTableSeqScanOperatorInfo(void* pReadHandle, SExecTaskInfo* ...@@ -602,48 +602,45 @@ SOperatorInfo* createTableSeqScanOperatorInfo(void* pReadHandle, SExecTaskInfo*
return pOperator; return pOperator;
} }
static SSDataBlock* doBlockInfoScan(SOperatorInfo* pOperator) { static int32_t doGetTableRowSize(void* pMeta, uint64_t uid) {
if (pOperator->status == OP_EXEC_DONE) { int32_t rowLen = 0;
return NULL;
}
SBlockDistInfo* pBlockScanInfo = pOperator->info;
STableBlockDistInfo blockDistInfo = {0};
blockDistInfo.maxRows = INT_MIN;
blockDistInfo.minRows = INT_MAX;
SMetaReader mr = {0}; SMetaReader mr = {0};
metaReaderInit(&mr, pBlockScanInfo->readHandle.meta, 0); metaReaderInit(&mr, pMeta, 0);
metaGetTableEntryByUid(&mr, pBlockScanInfo->uid); metaGetTableEntryByUid(&mr, uid);
if (mr.me.type == TSDB_SUPER_TABLE) { if (mr.me.type == TSDB_SUPER_TABLE) {
int32_t numOfCols = mr.me.stbEntry.schemaRow.nCols; int32_t numOfCols = mr.me.stbEntry.schemaRow.nCols;
int32_t rowLen = 0;
for(int32_t i = 0; i < numOfCols; ++i) { for(int32_t i = 0; i < numOfCols; ++i) {
rowLen += mr.me.stbEntry.schemaRow.pSchema[i].bytes; rowLen += mr.me.stbEntry.schemaRow.pSchema[i].bytes;
} }
blockDistInfo.rowSize = rowLen;
} else if (mr.me.type == TSDB_CHILD_TABLE) { } else if (mr.me.type == TSDB_CHILD_TABLE) {
uint64_t suid = mr.me.ctbEntry.suid; uint64_t suid = mr.me.ctbEntry.suid;
metaGetTableEntryByUid(&mr, suid); metaGetTableEntryByUid(&mr, suid);
int32_t numOfCols = mr.me.stbEntry.schemaRow.nCols; int32_t numOfCols = mr.me.stbEntry.schemaRow.nCols;
int32_t rowLen = 0;
for(int32_t i = 0; i < numOfCols; ++i) { for(int32_t i = 0; i < numOfCols; ++i) {
rowLen += mr.me.stbEntry.schemaRow.pSchema[i].bytes; rowLen += mr.me.stbEntry.schemaRow.pSchema[i].bytes;
} }
blockDistInfo.rowSize = rowLen;
} else if (mr.me.type == TSDB_NORMAL_TABLE) { } else if (mr.me.type == TSDB_NORMAL_TABLE) {
int32_t numOfCols = mr.me.ntbEntry.schemaRow.nCols; int32_t numOfCols = mr.me.ntbEntry.schemaRow.nCols;
int32_t rowLen = 0;
for(int32_t i = 0; i < numOfCols; ++i) { for(int32_t i = 0; i < numOfCols; ++i) {
rowLen += mr.me.ntbEntry.schemaRow.pSchema[i].bytes; rowLen += mr.me.ntbEntry.schemaRow.pSchema[i].bytes;
} }
blockDistInfo.rowSize = rowLen;
} }
metaReaderClear(&mr); metaReaderClear(&mr);
return rowLen;
}
static SSDataBlock* doBlockInfoScan(SOperatorInfo* pOperator) {
if (pOperator->status == OP_EXEC_DONE) {
return NULL;
}
SBlockDistInfo* pBlockScanInfo = pOperator->info;
STableBlockDistInfo blockDistInfo = {.minRows = INT_MAX, .maxRows = INT_MIN};
blockDistInfo.rowSize = doGetTableRowSize(pBlockScanInfo->readHandle.meta, pBlockScanInfo->uid);
tsdbGetFileBlocksDistInfo(pBlockScanInfo->pHandle, &blockDistInfo); tsdbGetFileBlocksDistInfo(pBlockScanInfo->pHandle, &blockDistInfo);
blockDistInfo.numOfInmemRows = (int32_t)tsdbGetNumOfRowsInMemTable(pBlockScanInfo->pHandle); blockDistInfo.numOfInmemRows = (int32_t)tsdbGetNumOfRowsInMemTable(pBlockScanInfo->pHandle);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册