Merge pull request #24472 from taosdata/coverage/TD-28251-3.0
fix: add csum unsigned type test
This commit is contained in:
commit
e0569525ce
|
@ -7,7 +7,7 @@
|
|||
"password": "taosdata",
|
||||
"connection_pool_size": 8,
|
||||
"num_of_records_per_req": 4000,
|
||||
"prepared_rand": 1000,
|
||||
"prepared_rand": 10000,
|
||||
"thread_count": 3,
|
||||
"create_table_thread_count": 1,
|
||||
"confirm_parameter_prompt": "no",
|
||||
|
|
|
@ -41,6 +41,7 @@ class TDTestCase(TBase):
|
|||
etool.benchMark(json=jfile)
|
||||
|
||||
tdSql.execute(f"use {self.db}")
|
||||
tdSql.execute("select database();")
|
||||
# set insert data information
|
||||
self.childtable_count = 6
|
||||
self.insert_rows = 100000
|
||||
|
@ -50,10 +51,29 @@ class TDTestCase(TBase):
|
|||
def doQuery(self):
|
||||
tdLog.info(f"do query.")
|
||||
|
||||
# top bottom
|
||||
sql = f"select top(uti, 5) from {self.stb} "
|
||||
# __group_key
|
||||
sql = f"select count(*),_group_key(uti),uti from {self.stb} partition by uti;"
|
||||
tdSql.execute(sql)
|
||||
tdSql.checkRows(251)
|
||||
|
||||
sql = f"select count(*),_group_key(usi) from {self.stb} group by usi;"
|
||||
tdSql.execute(sql)
|
||||
tdSql.checkRows(997)
|
||||
|
||||
# tail
|
||||
sql1 = "select ts,ui from d0 order by ts desc limit 5 offset 2;"
|
||||
sql2 = "select ts,tail(ui,5,2) from d0;"
|
||||
self.checkSameResult(sql1, sql2)
|
||||
|
||||
# uninqe
|
||||
sql1 = "select distinct uti from d0 order by uti;"
|
||||
sql2 = "select UNIQUE(uti) from d0 order by uti asc;"
|
||||
self.checkSameResult(sql1, sql2)
|
||||
|
||||
# top
|
||||
sql1 = "select top(bi,10) from stb;"
|
||||
sql2 = "select bi from stb where bi is not null order by bi desc limit 10;"
|
||||
self.checkSameResult(sql1, sql2)
|
||||
|
||||
# run
|
||||
def run(self):
|
||||
|
|
|
@ -16,6 +16,7 @@ import os
|
|||
import time
|
||||
import datetime
|
||||
import random
|
||||
import copy
|
||||
|
||||
from frame.log import *
|
||||
from frame.sql import *
|
||||
|
@ -183,6 +184,46 @@ class TBase:
|
|||
sql = f"select {col} from {self.stb} order by _c0 asc limit 1"
|
||||
tdSql.checkFirstValue(sql, expect)
|
||||
|
||||
|
||||
# check sql1 is same result with sql2
|
||||
def checkSameResult(self, sql1, sql2):
|
||||
tdLog.info(f"sql1={sql1}")
|
||||
tdLog.info(f"sql2={sql2}")
|
||||
tdLog.info("compare sql1 same with sql2 ...")
|
||||
|
||||
# sql
|
||||
rows1 = tdSql.query(sql1,queryTimes=2)
|
||||
res1 = copy.deepcopy(tdSql.queryResult)
|
||||
|
||||
tdSql.query(sql2,queryTimes=2)
|
||||
res2 = tdSql.queryResult
|
||||
|
||||
rowlen1 = len(res1)
|
||||
rowlen2 = len(res2)
|
||||
errCnt = 0
|
||||
|
||||
if rowlen1 != rowlen2:
|
||||
tdLog.exit(f"both row count not equal. rowlen1={rowlen1} rowlen2={rowlen2} ")
|
||||
return False
|
||||
|
||||
for i in range(rowlen1):
|
||||
row1 = res1[i]
|
||||
row2 = res2[i]
|
||||
collen1 = len(row1)
|
||||
collen2 = len(row2)
|
||||
if collen1 != collen2:
|
||||
tdLog.exit(f"both col count not equal. collen1={collen1} collen2={collen2}")
|
||||
return False
|
||||
for j in range(collen1):
|
||||
if row1[j] != row2[j]:
|
||||
tdLog.info(f"error both column value not equal. row={i} col={j} col1={row1[j]} col2={row2[j]} .")
|
||||
errCnt += 1
|
||||
|
||||
if errCnt > 0:
|
||||
tdLog.exit(f"sql2 column value different with sql1. different count ={errCnt} ")
|
||||
|
||||
tdLog.info("sql1 same result with sql2.")
|
||||
|
||||
#
|
||||
# get db information
|
||||
#
|
||||
|
|
|
@ -162,6 +162,16 @@ class TDTestCase:
|
|||
case6 = {"col": "c9"}
|
||||
self.checkcsum(**case6)
|
||||
|
||||
# unsigned check
|
||||
case61 = {"col": "c11"}
|
||||
self.checkcsum(**case61)
|
||||
case62 = {"col": "c12"}
|
||||
self.checkcsum(**case62)
|
||||
case63 = {"col": "c13"}
|
||||
self.checkcsum(**case63)
|
||||
case64 = {"col": "c14"}
|
||||
self.checkcsum(**case64)
|
||||
|
||||
# case7~8: nested query
|
||||
case7 = {"table_expr": "(select ts,c1 from db.stb1 order by ts, tbname )"}
|
||||
self.checkcsum(**case7)
|
||||
|
@ -317,14 +327,14 @@ class TDTestCase:
|
|||
f"insert into t{i} values ("
|
||||
f"{basetime + (j+1)*10 + i * msec_per_min}, {random.randint(-200, -1)}, {random.uniform(200, -1)}, {basetime + random.randint(-200, -1)}, "
|
||||
f"'binary_{j}', {random.uniform(-200, -1)}, {random.choice([0,1])}, {random.randint(-200,-1)}, "
|
||||
f"{random.randint(-200, -1)}, {random.randint(-127, -1)}, 'nchar_{j}' )"
|
||||
f"{random.randint(-200, -1)}, {random.randint(-127, -1)}, 'nchar_{j}', {j},{j},{j},{j} )"
|
||||
)
|
||||
|
||||
tdSql.execute(
|
||||
f"insert into t{i} values ("
|
||||
f"{basetime - (j+1) * 10 + i * msec_per_min}, {random.randint(1, 200)}, {random.uniform(1, 200)}, {basetime - random.randint(1, 200)}, "
|
||||
f"'binary_{j}_1', {random.uniform(1, 200)}, {random.choice([0, 1])}, {random.randint(1,200)}, "
|
||||
f"{random.randint(1,200)}, {random.randint(1,127)}, 'nchar_{j}_1' )"
|
||||
f"{random.randint(1,200)}, {random.randint(1,127)}, 'nchar_{j}_1', {j*2},{j*2},{j*2},{j*2} )"
|
||||
)
|
||||
tdSql.execute(
|
||||
f"insert into tt{i} values ( {basetime-(j+1) * 10 + i * msec_per_min}, {random.randint(1, 200)} )"
|
||||
|
@ -340,8 +350,8 @@ class TDTestCase:
|
|||
tdSql.execute(
|
||||
"create stable db.stb1 (\
|
||||
ts timestamp, c1 int, c2 float, c3 timestamp, c4 binary(16), c5 double, c6 bool, \
|
||||
c7 bigint, c8 smallint, c9 tinyint, c10 nchar(16)\
|
||||
) \
|
||||
c7 bigint, c8 smallint, c9 tinyint, c10 nchar(16),\
|
||||
c11 int unsigned, c12 smallint unsigned, c13 tinyint unsigned, c14 bigint unsigned) \
|
||||
tags(st1 int)"
|
||||
)
|
||||
tdSql.execute(
|
||||
|
@ -373,10 +383,10 @@ class TDTestCase:
|
|||
|
||||
tdLog.printNoPrefix("######## insert data in the range near the max(bigint/double):")
|
||||
self.csum_test_table(tbnum)
|
||||
tdSql.execute(f"insert into db.t1(ts, c1,c2,c5,c7) values "
|
||||
f"({nowtime - (per_table_rows + 1) * 10 + i * msec_per_min}, {2**31-1}, {3.4*10**38}, {1.7*10**308}, {2**63-1})")
|
||||
tdSql.execute(f"insert into db.t1(ts, c1,c2,c5,c7) values "
|
||||
f"({nowtime - (per_table_rows + 2) * 10 + i * msec_per_min}, {2**31-1}, {3.4*10**38}, {1.7*10**308}, {2**63-1})")
|
||||
tdSql.execute(f"insert into db.t1(ts, c1,c2,c5,c7,c11) values "
|
||||
f"({nowtime - (per_table_rows + 1) * 10 + i * msec_per_min}, {2**31-1}, {3.4*10**38}, {1.7*10**308}, {2**63-1}, 128)")
|
||||
tdSql.execute(f"insert into db.t1(ts, c1,c2,c5,c7,c11) values "
|
||||
f"({nowtime - (per_table_rows + 2) * 10 + i * msec_per_min}, {2**31-1}, {3.4*10**38}, {1.7*10**308}, {2**63-1}, 129)")
|
||||
self.csum_current_query()
|
||||
self.csum_error_query()
|
||||
|
||||
|
@ -460,7 +470,7 @@ class TDTestCase:
|
|||
tdSql.checkRows(40)
|
||||
|
||||
# bug need fix
|
||||
tdSql.query("select tbname , csum(c1) from db.stb1 partition by tbname")
|
||||
tdSql.query("select tbname , csum(c1), csum(c12) from db.stb1 partition by tbname")
|
||||
tdSql.checkRows(40)
|
||||
tdSql.query("select tbname , csum(st1) from db.stb1 partition by tbname")
|
||||
tdSql.checkRows(70)
|
||||
|
@ -468,7 +478,7 @@ class TDTestCase:
|
|||
tdSql.checkRows(7)
|
||||
|
||||
# partition by tags
|
||||
tdSql.query("select st1 , csum(c1) from db.stb1 partition by st1")
|
||||
tdSql.query("select st1 , csum(c1), csum(c13) from db.stb1 partition by st1")
|
||||
tdSql.checkRows(40)
|
||||
tdSql.query("select csum(c1) from db.stb1 partition by st1")
|
||||
tdSql.checkRows(40)
|
||||
|
|
|
@ -245,6 +245,10 @@ class TDTestCase:
|
|||
# stddev
|
||||
tdSql.checkData(0, 5, 0, True)
|
||||
|
||||
sql = f"select twa({col}) from {dbname}.d0"
|
||||
tdSql.query(sql)
|
||||
tdSql.checkData(0, 0, 1, True)
|
||||
|
||||
i += 1
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue