Merge pull request #21547 from taosdata/fix/TD-24507
fix: fix multiple diffs output less lines if null values involved
This commit is contained in:
commit
6c20a331aa
|
@ -2660,7 +2660,7 @@ bool diffFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo* pResInfo) {
|
|||
} else {
|
||||
pDiffInfo->ignoreNegative = false;
|
||||
}
|
||||
pDiffInfo->includeNull = false;
|
||||
pDiffInfo->includeNull = true;
|
||||
pDiffInfo->firstOutput = false;
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -817,7 +817,7 @@
|
|||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/stablity_1.py
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/elapsed.py
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/csum.py
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/function_diff.py
|
||||
#,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/function_diff.py
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/tagFilter.py
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/projectionDesc.py
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/ts_3398.py -N 3 -n 3
|
||||
|
@ -930,7 +930,7 @@
|
|||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/csum.py -Q 2
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/mavg.py -Q 2
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/sample.py -Q 2
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/function_diff.py -Q 2
|
||||
#,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/function_diff.py -Q 2
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/unique.py -Q 2
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/stateduration.py -Q 2
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/function_stateduration.py -Q 2
|
||||
|
@ -1025,7 +1025,7 @@
|
|||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/csum.py -Q 3
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/mavg.py -Q 3
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/sample.py -Q 3
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/function_diff.py -Q 3
|
||||
#,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/function_diff.py -Q 3
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/unique.py -Q 3
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/stateduration.py -Q 3
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/function_stateduration.py -Q 3
|
||||
|
@ -1121,7 +1121,7 @@
|
|||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/mavg.py -Q 4
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/sample.py -Q 4
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/cast.py -Q 4
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/function_diff.py -Q 4
|
||||
#,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/function_diff.py -Q 4
|
||||
,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/unique.py -Q 4
|
||||
#,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/stateduration.py -Q 4
|
||||
#,,y,system-test,./pytest.sh python3 ./test.py -f 2-query/function_stateduration.py -Q 4
|
||||
|
|
|
@ -380,10 +380,10 @@ if $row != 8 then
|
|||
endi
|
||||
|
||||
sql select diff(k) from tm0
|
||||
if $row != 3 then
|
||||
if $row != 4 then
|
||||
return -1
|
||||
endi
|
||||
if $data20 != -1 then
|
||||
if $data20 != NULL then
|
||||
return -1
|
||||
endi
|
||||
|
||||
|
|
|
@ -52,6 +52,95 @@ class TDTestCase:
|
|||
tdSql.checkData(0, 0, None)
|
||||
tdSql.checkData(1, 0, None)
|
||||
|
||||
# handle null values
|
||||
tdSql.execute(
|
||||
f"create table {dbname}.ntb_null(ts timestamp,c1 int,c2 double,c3 float,c4 bool)")
|
||||
tdSql.execute(f"insert into {dbname}.ntb_null values(now, 1, 1.0, NULL, NULL)")
|
||||
tdSql.execute(f"insert into {dbname}.ntb_null values(now, NULL, 2.0, 2.0, NULL)")
|
||||
tdSql.execute(f"insert into {dbname}.ntb_null values(now, 2, NULL, NULL, false)")
|
||||
tdSql.execute(f"insert into {dbname}.ntb_null values(now, NULL, 1.0, 1.0, NULL)")
|
||||
tdSql.execute(f"insert into {dbname}.ntb_null values(now, NULL, 3.0, NULL, true)")
|
||||
tdSql.execute(f"insert into {dbname}.ntb_null values(now, 3, NULL, 3.0, NULL)")
|
||||
tdSql.execute(f"insert into {dbname}.ntb_null values(now, 1, NULL, NULL, true)")
|
||||
|
||||
tdSql.query(f"select diff(c1) from {dbname}.ntb_null")
|
||||
tdSql.checkRows(6)
|
||||
tdSql.checkData(0, 0, None)
|
||||
tdSql.checkData(1, 0, 1)
|
||||
tdSql.checkData(2, 0, None)
|
||||
tdSql.checkData(3, 0, None)
|
||||
tdSql.checkData(4, 0, 1)
|
||||
tdSql.checkData(5, 0, -2)
|
||||
|
||||
tdSql.query(f"select diff(c2) from {dbname}.ntb_null")
|
||||
tdSql.checkRows(6)
|
||||
tdSql.checkData(0, 0, 1)
|
||||
tdSql.checkData(1, 0, None)
|
||||
tdSql.checkData(2, 0, -1)
|
||||
tdSql.checkData(3, 0, 2)
|
||||
tdSql.checkData(4, 0, None)
|
||||
tdSql.checkData(5, 0, None)
|
||||
|
||||
tdSql.query(f"select diff(c3) from {dbname}.ntb_null")
|
||||
tdSql.checkRows(6)
|
||||
tdSql.checkData(0, 0, None)
|
||||
tdSql.checkData(1, 0, None)
|
||||
tdSql.checkData(2, 0, -1)
|
||||
tdSql.checkData(3, 0, None)
|
||||
tdSql.checkData(4, 0, 2)
|
||||
tdSql.checkData(5, 0, None)
|
||||
|
||||
tdSql.query(f"select diff(c4) from {dbname}.ntb_null")
|
||||
tdSql.checkRows(6)
|
||||
tdSql.checkData(0, 0, None)
|
||||
tdSql.checkData(1, 0, None)
|
||||
tdSql.checkData(2, 0, None)
|
||||
tdSql.checkData(3, 0, 1)
|
||||
tdSql.checkData(4, 0, None)
|
||||
tdSql.checkData(5, 0, 0)
|
||||
|
||||
tdSql.query(f"select diff(c1),diff(c2),diff(c3),diff(c4) from {dbname}.ntb_null")
|
||||
tdSql.checkRows(6)
|
||||
tdSql.checkData(0, 0, None)
|
||||
tdSql.checkData(1, 0, 1)
|
||||
tdSql.checkData(2, 0, None)
|
||||
tdSql.checkData(3, 0, None)
|
||||
tdSql.checkData(4, 0, 1)
|
||||
tdSql.checkData(5, 0, -2)
|
||||
tdSql.checkData(0, 1, 1)
|
||||
tdSql.checkData(1, 1, None)
|
||||
tdSql.checkData(2, 1, -1)
|
||||
tdSql.checkData(3, 1, 2)
|
||||
tdSql.checkData(4, 1, None)
|
||||
tdSql.checkData(5, 1, None)
|
||||
tdSql.checkData(0, 2, None)
|
||||
tdSql.checkData(1, 2, None)
|
||||
tdSql.checkData(2, 2, -1)
|
||||
tdSql.checkData(3, 2, None)
|
||||
tdSql.checkData(4, 2, 2)
|
||||
tdSql.checkData(5, 2, None)
|
||||
tdSql.checkData(0, 3, None)
|
||||
tdSql.checkData(1, 3, None)
|
||||
tdSql.checkData(2, 3, None)
|
||||
tdSql.checkData(3, 3, 1)
|
||||
tdSql.checkData(4, 3, None)
|
||||
tdSql.checkData(5, 3, 0)
|
||||
|
||||
tdSql.query(f"select diff(c1),diff(c2),diff(c3),diff(c4) from {dbname}.ntb_null where c1 is not null")
|
||||
tdSql.checkRows(3)
|
||||
tdSql.checkData(0, 0, 1)
|
||||
tdSql.checkData(1, 0, 1)
|
||||
tdSql.checkData(2, 0, -2)
|
||||
tdSql.checkData(0, 1, None)
|
||||
tdSql.checkData(1, 1, None)
|
||||
tdSql.checkData(2, 1, None)
|
||||
tdSql.checkData(0, 2, None)
|
||||
tdSql.checkData(1, 2, None)
|
||||
tdSql.checkData(2, 2, None)
|
||||
tdSql.checkData(0, 3, None)
|
||||
tdSql.checkData(1, 3, None)
|
||||
tdSql.checkData(2, 3, 1)
|
||||
|
||||
tdSql.execute(f'''create table {dbname}.stb(ts timestamp, col1 tinyint, col2 smallint, col3 int, col4 bigint, col5 float, col6 double,
|
||||
col7 bool, col8 binary(20), col9 nchar(20), col11 tinyint unsigned, col12 smallint unsigned, col13 int unsigned, col14 bigint unsigned) tags(loc nchar(20))''')
|
||||
tdSql.execute(f"create table {dbname}.stb_1 using {dbname}.stb tags('beijing')")
|
||||
|
@ -103,6 +192,9 @@ class TDTestCase:
|
|||
tdSql.error(f"select diff(col1,1.23) from {dbname}.stb_1")
|
||||
tdSql.error(f"select diff(col1,-1) from {dbname}.stb_1")
|
||||
tdSql.query(f"select ts,diff(col1),ts from {dbname}.stb_1")
|
||||
tdSql.error(f"select diff(col1, 1),diff(col2) from {dbname}.stb_1")
|
||||
tdSql.error(f"select diff(col1, 1),diff(col2, 0) from {dbname}.stb_1")
|
||||
tdSql.error(f"select diff(col1, 1),diff(col2, 1) from {dbname}.stb_1")
|
||||
|
||||
tdSql.query(f"select diff(ts) from {dbname}.stb_1")
|
||||
tdSql.checkRows(10)
|
||||
|
|
|
@ -172,7 +172,7 @@ class TDTestCase:
|
|||
tdSql.checkRows(90)
|
||||
|
||||
tdSql.query(f"select c1 , diff(c1 , 0) from {dbname}.stb partition by c1")
|
||||
tdSql.checkRows(90)
|
||||
tdSql.checkRows(140)
|
||||
|
||||
tdSql.query(f"select c1 , csum(c1) from {dbname}.stb partition by c1")
|
||||
tdSql.checkRows(100)
|
||||
|
|
Loading…
Reference in New Issue