Merge pull request #20863 from taosdata/fix/TD-23556
fix: fix max/min(tag) random result
This commit is contained in:
commit
3493fffa2f
|
@ -329,7 +329,7 @@ static int32_t loadDataBlock(SOperatorInfo* pOperator, STableScanBase* pTableSca
|
|||
} else if (*status == FUNC_DATA_REQUIRED_NOT_LOAD) {
|
||||
qDebug("%s data block skipped, brange:%" PRId64 "-%" PRId64 ", rows:%" PRId64 ", uid:%" PRIu64, GET_TASKID(pTaskInfo),
|
||||
pBlockInfo->window.skey, pBlockInfo->window.ekey, pBlockInfo->rows, pBlockInfo->id.uid);
|
||||
doSetTagColumnData(pTableScanInfo, pBlock, pTaskInfo, 1);
|
||||
doSetTagColumnData(pTableScanInfo, pBlock, pTaskInfo, pBlock->info.rows);
|
||||
pCost->skipBlocks += 1;
|
||||
tsdbReleaseDataBlock(pTableScanInfo->dataReader);
|
||||
return TSDB_CODE_SUCCESS;
|
||||
|
@ -340,7 +340,7 @@ static int32_t loadDataBlock(SOperatorInfo* pOperator, STableScanBase* pTableSca
|
|||
if (success) { // failed to load the block sma data, data block statistics does not exist, load data block instead
|
||||
qDebug("%s data block SMA loaded, brange:%" PRId64 "-%" PRId64 ", rows:%" PRId64 , GET_TASKID(pTaskInfo),
|
||||
pBlockInfo->window.skey, pBlockInfo->window.ekey, pBlockInfo->rows);
|
||||
doSetTagColumnData(pTableScanInfo, pBlock, pTaskInfo, 1);
|
||||
doSetTagColumnData(pTableScanInfo, pBlock, pTaskInfo, pBlock->info.rows);
|
||||
tsdbReleaseDataBlock(pTableScanInfo->dataReader);
|
||||
return TSDB_CODE_SUCCESS;
|
||||
} else {
|
||||
|
|
|
@ -20,8 +20,8 @@ class TDTestCase:
|
|||
intData = []
|
||||
floatData = []
|
||||
tdSql.execute(f'''create table {dbname}.stb(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 tinyint unsigned, col6 smallint unsigned,
|
||||
col7 int unsigned, col8 bigint unsigned, col9 float, col10 double, col11 bool, col12 binary(20), col13 nchar(20)) tags(loc nchar(20))''')
|
||||
tdSql.execute(f"create table {dbname}.stb_1 using {dbname}.stb tags('beijing')")
|
||||
col7 int unsigned, col8 bigint unsigned, col9 float, col10 double, col11 bool, col12 binary(20), col13 nchar(20)) tags(t0 tinyint, t1 float, loc nchar(20))''')
|
||||
tdSql.execute(f"create table {dbname}.stb_1 using {dbname}.stb tags(5, 5.5, 'beijing')")
|
||||
for i in range(self.rowNum):
|
||||
tdSql.execute(f"insert into {dbname}.stb_1 values(%d, %d, %d, %d, %d, %d, %d, %d, %d, %f, %f, %d, '{self.binary_str}%d', '{self.nchar_str}%d')"
|
||||
% (self.ts + i, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 1, i + 0.1, i + 0.1, i % 2, i + 1, i + 1))
|
||||
|
@ -55,13 +55,20 @@ class TDTestCase:
|
|||
tdSql.checkData(0, 1, np.max(intData))
|
||||
|
||||
tdSql.query(f"select ts, min(col9) from {dbname}.stb")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 1, np.min(floatData))
|
||||
|
||||
tdSql.query(f"select ts, min(col9) from {dbname}.stb_1")
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkRows(1)
|
||||
tdSql.checkData(0, 1, np.min(floatData))
|
||||
|
||||
# check tags
|
||||
tdSql.query(f"select max(t0) from {dbname}.stb")
|
||||
tdSql.checkData(0,0,5)
|
||||
|
||||
tdSql.query(f"select max(t1) from {dbname}.stb")
|
||||
tdSql.checkData(0,0,5.5)
|
||||
|
||||
def max_check_ntb_base(self, dbname="db"):
|
||||
tdSql.prepare()
|
||||
intData = []
|
||||
|
|
Loading…
Reference in New Issue