From ed3fc6bdf16f0b578647484c595110b90d5d9002 Mon Sep 17 00:00:00 2001 From: kailixu Date: Fri, 17 Mar 2023 14:48:23 +0800 Subject: [PATCH] fix: select ins_columns from stb/ctb --- source/libs/executor/src/sysscanoperator.c | 12 ++++++------ tests/system-test/0-others/information_schema.py | 3 +-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/source/libs/executor/src/sysscanoperator.c b/source/libs/executor/src/sysscanoperator.c index 0744908167..f114c58a0b 100644 --- a/source/libs/executor/src/sysscanoperator.c +++ b/source/libs/executor/src/sysscanoperator.c @@ -547,21 +547,21 @@ static SSDataBlock* sysTableScanUserCols(SOperatorInfo* pOperator) { if (schema != NULL) { schemaRow = *(SSchemaWrapper**)schema; } else { - SMetaReader metaReader = {0}; - metaReaderInit(&metaReader, pInfo->readHandle.meta, 0); - int code = metaGetTableEntryByUid(&metaReader, suid); + SMetaReader smrSuperTable = {0}; + metaReaderInit(&smrSuperTable, pInfo->readHandle.meta, 0); + int code = metaGetTableEntryByUid(&smrSuperTable, suid); if (code != TSDB_CODE_SUCCESS) { // terrno has been set by metaGetTableEntryByName, therefore, return directly qError("sysTableScanUserCols get meta by suid:%" PRId64 " error, code:%d", suid, code); - metaReaderClear(&metaReader); + metaReaderClear(&smrSuperTable); blockDataDestroy(dataBlock); pInfo->loadInfo.totalRows = 0; return NULL; } - SSchemaWrapper* schemaWrapper = tCloneSSchemaWrapper(&metaReader.me.stbEntry.schemaRow); + SSchemaWrapper* schemaWrapper = tCloneSSchemaWrapper(&smrSuperTable.me.stbEntry.schemaRow); taosHashPut(pInfo->pSchema, &suid, sizeof(int64_t), &schemaWrapper, POINTER_BYTES); schemaRow = schemaWrapper; - metaReaderClear(&metaReader); + metaReaderClear(&smrSuperTable); } } else if (pInfo->pCur->mr.me.type == TSDB_NORMAL_TABLE) { qDebug("sysTableScanUserCols cursor get normal table"); diff --git a/tests/system-test/0-others/information_schema.py b/tests/system-test/0-others/information_schema.py index e0c48e9608..f4c07eec64 100644 --- a/tests/system-test/0-others/information_schema.py +++ b/tests/system-test/0-others/information_schema.py @@ -107,7 +107,6 @@ class TDTestCase: for i in range (5): self.stb4096 = 'create table db2.stb%d (ts timestamp' % (i) for j in range (4094 - i): - # for j in range (499): self.stb4096 += ', c%d int' % (j) self.stb4096 += ') tags (t1 int)' tdSql.execute(self.stb4096) @@ -125,7 +124,7 @@ class TDTestCase: self.ntb4096 += ')' tdSql.execute(self.ntb4096) tdSql.query(f'select * from information_schema.ins_columns where db_name="db2" and table_type=="NORMAL_TABLE"') - tdSql.checkEqual(204700,len(tdSql.queryResult)) + tdSql.checkEqual(20470,len(tdSql.queryResult)) def run(self): self.prepare_data()