diff --git a/source/libs/scalar/src/sclfunc.c b/source/libs/scalar/src/sclfunc.c index 8da8245196..7fae646e8f 100644 --- a/source/libs/scalar/src/sclfunc.c +++ b/source/libs/scalar/src/sclfunc.c @@ -766,6 +766,9 @@ static int32_t tlrtrim(char *input, char *remInput, char *output, int32_t inputT if (remLen == 0 || remLen > orgLen) { (void)memcpy(varDataVal(output), orgStr, orgLen); varDataSetLen(output, orgLen); + if (needFree) { + taosMemoryFree(remStr); + } return TSDB_CODE_SUCCESS; } diff --git a/tests/army/query/function/ans/ascii.csv b/tests/army/query/function/ans/ascii.csv index 77f605d047..cc1529367b 100644 --- a/tests/army/query/function/ans/ascii.csv +++ b/tests/army/query/function/ans/ascii.csv @@ -46,4 +46,67 @@ 228 117 112 -110 \ No newline at end of file +110 +116 +116 +39 +108 +120 +108 +120 +108 +116 +104 +116 +116 +104 +108 +120 +108 +120 +108 +116 +104 +116 +116 +104 +110 +228 +117 +112 +110 +110 +97 +228 +110 +97 +110 +228 +117 +112 +110 +110 +97 +228 +110 +97 +110 +112 +110 +112 +228 +117 +112 +112 +112 +112 +110 +112 +110 +112 +228 +117 +112 +112 +112 +112 diff --git a/tests/army/query/function/ans/char.csv b/tests/army/query/function/ans/char.csv index ce9c37a420..7488ac31b8 100644 --- a/tests/army/query/function/ans/char.csv +++ b/tests/army/query/function/ans/char.csv @@ -36,4 +36,8 @@ MMMMM NNNNN OOOOO PPPPP -QQQQQ \ No newline at end of file +QQQQQ +M +MM +{ +M{ diff --git a/tests/army/query/function/ans/char_length.csv b/tests/army/query/function/ans/char_length.csv index 8e1a319202..1a4c328fef 100644 --- a/tests/army/query/function/ans/char_length.csv +++ b/tests/army/query/function/ans/char_length.csv @@ -46,4 +46,48 @@ 10 6 7 -5 \ No newline at end of file +5 +4 +2 +6 +5 +5 +10 +6 +7 +5 +5 +5 +10 +5 +5 +5 +10 +6 +7 +5 +5 +5 +10 +5 +5 +5 +6 +5 +5 +10 +6 +7 +6 +7 +5 +5 +6 +5 +5 +10 +6 +7 +6 +7 +5 diff --git a/tests/army/query/function/ans/dayofweek.csv b/tests/army/query/function/ans/dayofweek.csv index f57d37ad05..93af60dc7d 100644 --- a/tests/army/query/function/ans/dayofweek.csv +++ b/tests/army/query/function/ans/dayofweek.csv @@ -73,4 +73,27 @@ 6 6 6 -6 \ No newline at end of file +6 +4 +4 +2 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 +6 diff --git a/tests/army/query/function/ans/degrees.csv b/tests/army/query/function/ans/degrees.csv index 84bf3e9ecc..4da868ff42 100644 --- a/tests/army/query/function/ans/degrees.csv +++ b/tests/army/query/function/ans/degrees.csv @@ -42,4 +42,25 @@ 57.295779513082323 81.028468454139556 99.239201175922574 -114.591559026164646 \ No newline at end of file +114.591559026164646 +180 +610.200029957721426 +491.254034090376820 +561.212164701962479 +643.603479905018958 +613.408634263739941 +487.472513516777667 +549.810284033650078 +628.076328902558998 +643.202411196955836 +592.266466706882511 +610.200029957721426 +491.254034090376820 +561.212164701962479 +643.603479905018958 +613.408634263739941 +487.472513516777667 +549.810284033650078 +628.076328902558998 +643.202411196955836 +592.266466706882511 diff --git a/tests/army/query/function/ans/exp.csv b/tests/army/query/function/ans/exp.csv index e0473ca3fa..37a6204848 100755 --- a/tests/army/query/function/ans/exp.csv +++ b/tests/army/query/function/ans/exp.csv @@ -41,4 +41,26 @@ 4.113250378782928 5.652233674034091 7.389056098930650 -3814279.104760214220732 \ No newline at end of file +3814279.104760214220732 +7.38905609893065 +1.6487212707001282 +42192.578453635847836 +5292.258432380726845 +17943.802618770550907 +75583.992598717435612 +44622.804904812772293 +4954.246535954979663 +14705.836248958077704 +57641.604897186582093 +75056.754435561466380 +30853.327779395312973 +42192.578453635847836 +5292.258432380726845 +17943.802618770550907 +75583.992598717435612 +44622.804904812772293 +4954.246535954979663 +14705.836248958077704 +57641.604897186582093 +75056.754435561466380 +30853.327779395312973 diff --git a/tests/army/query/function/ans/ln.csv b/tests/army/query/function/ans/ln.csv index 67f0176082..ef8db86bbf 100755 --- a/tests/army/query/function/ans/ln.csv +++ b/tests/army/query/function/ans/ln.csv @@ -38,4 +38,26 @@ 1.005052538742381 1.098612288668110 -0.226079864157595 -2.000000000000000 \ No newline at end of file +2.000000000000000 +2.302585092994046 +1.144729885849400 +2.365559856336680 +2.148734409997751 +2.281872059185575 +2.418855857000369 +2.370804362614190 +2.141006941277850 +2.261346315560232 +2.394434736880126 +2.418232501568406 +2.335729681253415 +2.365559856336680 +2.148734409997751 +2.281872059185575 +2.418855857000369 +2.370804362614190 +2.141006941277850 +2.261346315560232 +2.394434736880126 +2.418232501568406 +2.335729681253415 diff --git a/tests/army/query/function/ans/mod.csv b/tests/army/query/function/ans/mod.csv index 55835cec6f..87f776a3a9 100644 --- a/tests/army/query/function/ans/mod.csv +++ b/tests/army/query/function/ans/mod.csv @@ -48,3 +48,25 @@ 3.310891102586806e+00 3.350522322288470e+00 3.215120509901375e+00 +1 +1 +0 +1 +2 +0 +1 +2 +0 +1 +2 +0 +0 +1 +2 +0 +1 +2 +0 +1 +2 +0 diff --git a/tests/army/query/function/ans/pi.csv b/tests/army/query/function/ans/pi.csv index d78bc78eb9..68dd383cb3 100644 --- a/tests/army/query/function/ans/pi.csv +++ b/tests/army/query/function/ans/pi.csv @@ -24,4 +24,5 @@ 3.141592653589793 9.869604401089358 1.772453850905516 -3 \ No newline at end of file +3 +3.141592653589793 diff --git a/tests/army/query/function/ans/position.csv b/tests/army/query/function/ans/position.csv index d3d2967f87..1f3534572e 100644 --- a/tests/army/query/function/ans/position.csv +++ b/tests/army/query/function/ans/position.csv @@ -90,3 +90,87 @@ 1 1 1.000000000000000e+00 +1 +0 +1 +1 +0 +0 +0 +0 +4 +0 +0 +0 +0 +0 +0 +0 +0 +0 +4 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +4 +0 +0 +0 +0 +0 +0 +0 +4 +0 +4 +0 +0 +0 +0 +0 +0 +0 +4 +0 +4 +0 +0 +5 +0 +0 +0 +0 +0 +0 +4 +0 +0 +5 +0 +0 +0 +0 +0 +0 diff --git a/tests/army/query/function/ans/radians.csv b/tests/army/query/function/ans/radians.csv index a9f0a9025d..0f6e56c565 100644 --- a/tests/army/query/function/ans/radians.csv +++ b/tests/army/query/function/ans/radians.csv @@ -42,4 +42,25 @@ 0.017453292519943 0.024682682989769 0.030229989403904 -0.034906585039887 \ No newline at end of file +0.034906585039887 +3.141592653589793 +0.185877558679493 +0.149644536324422 +0.170955001564425 +0.196052831414414 +0.186854955444309 +0.148492619284422 +0.167481790094528 +0.191322990739406 +0.195930658899406 +0.180414682914441 +0.185877558679493 +0.149644536324422 +0.170955001564425 +0.196052831414414 +0.186854955444309 +0.148492619284422 +0.167481790094528 +0.191322990739406 +0.195930658899406 +0.180414682914441 diff --git a/tests/army/query/function/ans/repeat.csv b/tests/army/query/function/ans/repeat.csv index 202d1a969f..98176c87a3 100644 --- a/tests/army/query/function/ans/repeat.csv +++ b/tests/army/query/function/ans/repeat.csv @@ -56,4 +56,106 @@ var1 var1var1 var1var1var1 var1var1var1var1 -var1var1var1var1var1 \ No newline at end of file +var1var1var1var1var1 +taos +taostaos +lililililili +xxx +lililililili +xxx +lililililili +taostaostaos +hahahahahaha +taostaostaos +taostaostaos +hahahahahaha +lililililili +xxx +lililililili +xxx +lililililili +taostaostaos +hahahahahaha +taostaostaos +taostaostaos +hahahahahaha +novelnovelnovel +一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十 +updateupdateupdate +prisionprisionprision +novelnovelnovel +novelnovelnovel +againagainagain +一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十 +novelnovelnovel +againagainagain +novelnovelnovel +一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十 +updateupdateupdate +prisionprisionprision +novelnovelnovel +novelnovelnovel +againagainagain +一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十 +novelnovelnovel +againagainagain +novelnovelnovel +personpersonperson +novelnovelnovel +plateplateplate +一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十 +updateupdateupdate +prisionprisionprision +personpersonperson +prisionprisionprision +plateplateplate +novelnovelnovel +personpersonperson +novelnovelnovel +plateplateplate +一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十 +updateupdateupdate +prisionprisionprision +personpersonperson +prisionprisionprision +plateplateplate +lili +x +lili +x +lili +taos +haha +taos +taos +haha +lili +x +lili +x +lili +taos +haha +taos +taos +haha +novel +一二三四五六七八九十 +update +prision +novel +novel +again +一二三四五六七八九十 +novel +again +novel +一二三四五六七八九十 +update +prision +novel +novel +again +一二三四五六七八九十 +novel +again diff --git a/tests/army/query/function/ans/replace.csv b/tests/army/query/function/ans/replace.csv index a19dc73015..4df4e02d83 100644 --- a/tests/army/query/function/ans/replace.csv +++ b/tests/army/query/function/ans/replace.csv @@ -368,4 +368,109 @@ e二三四五六七abcdefghijk213124123 一二三四五六七abcdefghijk213124123 一二三四五六七abcdefghijk213124123 一二三四五六七abcdefghijk213124123 -一二三四五六七abcdefghijk213124123 \ No newline at end of file +一二三四五六七abcdefghijk213124123 +eebbccdd +aabbccdd +南京 +北南 +南京taos +novel +一二三四五六七八九十 +update +prision +novtl +novel +again +一二三四五六七八九十 +novel +again +novel +一二三四五六七八九十 +update +prision +novtl +novel +again +一二三四五六七八九十 +novel +again +novtl +一二三四五六七八九十 +update +prision +novel +novel +again +一二三四五六七八九十 +novtl +again +novtl +一二三四五六七八九十 +update +prision +novel +novel +again +一二三四五六七八九十 +novtl +again +novel +person +novel +plate +一二三四五六七八九十 +update +prision +person +prision +plate +novel +person +novel +plate +一二三四五六七八九十 +update +prision +person +prision +plate +novtl +person +novel +platt +一二三四五六七八九十 +update +prision +person +prision +plate +novtl +person +novel +platt +一二三四五六七八九十 +update +prision +person +prision +plate +novel +一二三四五六七八九十 +update +prision +nov一二三四五六七八九十l +novel +again +一二三四五六七八九十 +novel +again +novel +一二三四五六七八九十 +update +prision +nov一二三四五六七八九十l +novel +again +一二三四五六七八九十 +novel +again diff --git a/tests/army/query/function/ans/round.csv b/tests/army/query/function/ans/round.csv index ae85752d0d..75b48e51a8 100644 --- a/tests/army/query/function/ans/round.csv +++ b/tests/army/query/function/ans/round.csv @@ -62,4 +62,33 @@ 9.6000004 11.0000000 11.1999998 -10.3000002 \ No newline at end of file +10.3000002 +10.55 +10.55 +10.6 +11 +11 +10 +0 +-10.6 +99 +11 +9 +10 +11 +11 +9 +10 +11 +11 +10 +11 +9 +10 +11 +11 +9 +10 +11 +11 +10 diff --git a/tests/army/query/function/ans/sign.csv b/tests/army/query/function/ans/sign.csv index 8c317babf7..4338e8f40d 100644 --- a/tests/army/query/function/ans/sign.csv +++ b/tests/army/query/function/ans/sign.csv @@ -43,4 +43,28 @@ 1.000000000000000 1.000000000000000 1.000000000000000 -0 \ No newline at end of file +0 +1 +1 +-1 +-1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 +1 diff --git a/tests/army/query/function/ans/stddev.csv b/tests/army/query/function/ans/stddev.csv index 4a6873869e..48d54ae544 100644 --- a/tests/army/query/function/ans/stddev.csv +++ b/tests/army/query/function/ans/stddev.csv @@ -30,4 +30,8 @@ 8.077747210701755 8.077747210701755 8.077747210701755 -8.077747210701755 \ No newline at end of file +8.077747210701755 +2886.751331514371941 +2886.751331514371941 +1.154339668872967 +1.154339668872967 diff --git a/tests/army/query/function/ans/substr.csv b/tests/army/query/function/ans/substr.csv index 208ac0cede..72fd79c419 100644 --- a/tests/army/query/function/ans/substr.csv +++ b/tests/army/query/function/ans/substr.csv @@ -445,4 +445,51 @@ bc一二三abc一二三a rision rision bc一二三abc一二三a -二三123321三二一 \ No newline at end of file +二三123321三二一 +dengine +e +tde +dengine +e +中国 +中国t +novel +perso +novel +plate +一二三四五 +updat +prisi +perso +prisi +plate +novel +perso +novel +plate +一二三四五 +updat +prisi +perso +prisi +plate +novel +一二三四五 +updat +prisi +novel +novel +again +一二三四五 +novel +again +novel +一二三四五 +updat +prisi +novel +novel +again +一二三四五 +novel +again diff --git a/tests/army/query/function/ans/substr_idx.csv b/tests/army/query/function/ans/substr_idx.csv index 0734e9794e..ff64b770c4 100644 --- a/tests/army/query/function/ans/substr_idx.csv +++ b/tests/army/query/function/ans/substr_idx.csv @@ -188,4 +188,108 @@ a一二三a一二三bbcfp 一二三123321三二一 一二三123321三二一 一二三123321三二一 -一二三123321三二一 \ No newline at end of file +一二三123321三二一 +www.taosdata +taosdata.com +中国.科学 +北京。涛思 +novel +一二三四五六七八九十 +update +prision +novel +novel +ag +一二三四五六七八九十 +novel +ag +novel +一二三四五六七八九十 +update +prision +novel +novel +ag +一二三四五六七八九十 +novel +ag +novel +一二三四五六七八九十 +update +prision +novel +novel +again +一二三四五六七八九十 +novel +again +novel +一二三四五六七八九十 +update +prision +novel +novel +again +一二三四五六七八九十 +novel +again +novel +一二三四五六七八九十 +update +prision +novel +novel +again +一二三四五六七八九十 +novel +again +novel +一二三四五六七八九十 +update +prision +novel +novel +again +一二三四五六七八九十 +novel +again +novel +person +novel +plate +一二三四五六七八九十 +update +prision +person +prision +plate +novel +person +novel +plate +一二三四五六七八九十 +update +prision +person +prision +plate +novel +person +novel +plate +一二三四五六七八九十 +update +prision +person +prision +plate +novel +person +novel +plate +一二三四五六七八九十 +update +prision +person +prision +plate diff --git a/tests/army/query/function/ans/timediff.csv b/tests/army/query/function/ans/timediff.csv index edc2808afc..c819be1411 100644 --- a/tests/army/query/function/ans/timediff.csv +++ b/tests/army/query/function/ans/timediff.csv @@ -295,4 +295,40 @@ 372 372 372 -372 \ No newline at end of file +372 +-10 +31536000 +3000 +43200 +720 +30 +4 +2592000000 +2592000 +2592000 +60 +60 +79774389 +-79774389 +79774389 +-79774389 +-220769589123 +-220766589123 +-220763589123 +-220760589123 +-220757589123 +-220754589123 +-220751589123 +-220748589123 +-220745589123 +-220742589123 +-220769589123 +-220766589123 +-220763589123 +-220760589123 +-220757589123 +-220754589123 +-220751589123 +-220748589123 +-220745589123 +-220742589123 diff --git a/tests/army/query/function/ans/trim.csv b/tests/army/query/function/ans/trim.csv index a349c09788..01ed8a62c9 100644 --- a/tests/army/query/function/ans/trim.csv +++ b/tests/army/query/function/ans/trim.csv @@ -353,4 +353,101 @@ bbcfp三a 三abbcfp三a 三abbcfp三a 三abbcfp三a -三abbcfp三a \ No newline at end of file +三abbcfp三a +A +涛思 +b bbb +aaa + aaa abab aaaa + abab aaaa +京涛思数据科技有限公司北 +bei京涛思数据科技有限公司北 + aaa abab aaaa +aaa abab + aaa abab +北京涛思数据科技有限公司 +北京涛思数据科技有限公司bei +aaa abab aaaa + aaa abab aaaa + abab +京涛思数据科技有限公司 +novel +一二三四五六七八九十 +update +prision +novel +novel +again +一二三四五六七八九十 +novel +again +novel +一二三四五六七八九十 +update +prision +novel +novel +again +一二三四五六七八九十 +novel +again +novel +person +novel +plate +一二三四五六七八九十 +update +prision +person +prision +plate +novel +person +novel +plate +一二三四五六七八九十 +update +prision +person +prision +plate +novel +一二三四五六七八九十 +update +prision +novel +novel +again +一二三四五六七八九十 +novel +again +novel +一二三四五六七八九十 +update +prision +novel +novel +again +一二三四五六七八九十 +novel +again +novel +person +novel +plat +一二三四五六七八九十 +update +prision +person +prision +plate +novel +person +novel +plat +一二三四五六七八九十 +update +prision +person +prision +plate diff --git a/tests/army/query/function/ans/trunc.csv b/tests/army/query/function/ans/trunc.csv index aa5d0da84d..ea735c1c7e 100755 --- a/tests/army/query/function/ans/trunc.csv +++ b/tests/army/query/function/ans/trunc.csv @@ -79,4 +79,51 @@ 9.5000000 10.8999996 11.1999998 -10.3000002 \ No newline at end of file +10.3000002 +99.99 +99.99 +99.9 +99 +90 +0 +99 +10.6 +8.5 +9.7 +11.2 +10.7 +8.5 +9.5 +10.9 +11.2 +10.3 +10.6 +8.5 +9.7 +11.2 +10.7 +8.5 +9.5 +10.9 +11.2 +10.3 +10.6 +8.5 +9.7 +11.2 +10.7 +8.5 +9.5 +10.9 +11.2 +10.3 +10.6 +8.5 +9.7 +11.2 +10.7 +8.5 +9.5 +10.9 +11.2 +10.3 diff --git a/tests/army/query/function/ans/varpop.csv b/tests/army/query/function/ans/varpop.csv index c00ae59a8b..d621d013fd 100644 --- a/tests/army/query/function/ans/varpop.csv +++ b/tests/army/query/function/ans/varpop.csv @@ -30,4 +30,8 @@ 65.250000000000000 65.250000000000000 65.250000000000000 -65.250000000000000 \ No newline at end of file +65.250000000000000 +8333333.250000000000000 +8333333.250000000000000 +1.332500071133751 +1.332500071133751 diff --git a/tests/army/query/function/ans/week.csv b/tests/army/query/function/ans/week.csv index 4e91c6c880..3a127f2feb 100644 --- a/tests/army/query/function/ans/week.csv +++ b/tests/army/query/function/ans/week.csv @@ -140,4 +140,35 @@ 28 28 28 -28 \ No newline at end of file +28 +0 +0 +0 +52 +52 +0 +0 +52 +52 +3 +52 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 diff --git a/tests/army/query/function/ans/weekday.csv b/tests/army/query/function/ans/weekday.csv index 90cba4502f..39bec5315b 100644 --- a/tests/army/query/function/ans/weekday.csv +++ b/tests/army/query/function/ans/weekday.csv @@ -73,4 +73,28 @@ 4 4 4 -4 \ No newline at end of file +4 +2 +2 +0 +2 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 +4 diff --git a/tests/army/query/function/ans/weekofyear.csv b/tests/army/query/function/ans/weekofyear.csv index 34fe47e20a..09c865e8b2 100644 --- a/tests/army/query/function/ans/weekofyear.csv +++ b/tests/army/query/function/ans/weekofyear.csv @@ -73,4 +73,27 @@ 28 28 28 -28 \ No newline at end of file +28 +1 +4 +29 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 +28 diff --git a/tests/army/query/function/in/ascii.err b/tests/army/query/function/in/ascii.err new file mode 100644 index 0000000000..7917901450 --- /dev/null +++ b/tests/army/query/function/in/ascii.err @@ -0,0 +1,5 @@ +select ascii(); +select ascii(123); +select ascii(1); +select ascii(2); +select ascii(1.5); diff --git a/tests/army/query/function/in/ascii.in b/tests/army/query/function/in/ascii.in index 6aed758ebc..638fcd8d7c 100644 --- a/tests/army/query/function/in/ascii.in +++ b/tests/army/query/function/in/ascii.in @@ -14,4 +14,13 @@ select ASCII(concat(nch1,var1)) from ts_4893.meters order by ts limit 5; select ASCII(cast(nch1 as varchar)) from ts_4893.meters order by ts limit 5; select pow(ASCII(nch1), 2) from ts_4893.meters order by ts limit 5; select sqrt(ASCII(nch1)) from ts_4893.meters order by ts limit 5; -select cast(ASCII(nch1) as int) from ts_4893.meters order by ts limit 5; \ No newline at end of file +select cast(ASCII(nch1) as int) from ts_4893.meters order by ts limit 5; +select ascii('taos'); +select ascii('t'); +select ascii('\''); +select ascii(name) from ts_4893.d0 order by ts limit 10; +select ascii(name) from ts_4893.meters order by ts limit 10; +select ascii(nch1) from ts_4893.d0 order by ts limit 10; +select ascii(nch1) from ts_4893.meters order by ts limit 10; +select ascii(var1) from ts_4893.d0 order by ts limit 10; +select ascii(var1) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/char.err b/tests/army/query/function/in/char.err new file mode 100644 index 0000000000..699cbd34d1 --- /dev/null +++ b/tests/army/query/function/in/char.err @@ -0,0 +1 @@ +select char(); diff --git a/tests/army/query/function/in/char.in b/tests/army/query/function/in/char.in index c075b2da2c..eb1d1b954e 100644 --- a/tests/army/query/function/in/char.in +++ b/tests/army/query/function/in/char.in @@ -9,3 +9,7 @@ select cast(CHAR(49) as int); select CHAR(id + 77) from ts_4893.meters order by ts limit 5;; select CONCAT(CHAR(id + 77),CHAR(id + 77),CHAR(id + 77)) from ts_4893.meters limit 5; select CHAR(id+77, id+77, id+77, id+77, id+77) from ts_4893.meters limit 5; +select char(77); +select char(77 * 256 + 77); +select char('123'); +select char(77, NULL, '123'); diff --git a/tests/army/query/function/in/char_length.err b/tests/army/query/function/in/char_length.err new file mode 100644 index 0000000000..fd0328ce05 --- /dev/null +++ b/tests/army/query/function/in/char_length.err @@ -0,0 +1,5 @@ +select char_length(); +select char_length('tao's'); +select char_length(123.45); +select char_length(123.45.67); +select char_length('a', 'b'); diff --git a/tests/army/query/function/in/char_length.in b/tests/army/query/function/in/char_length.in index 13f781b23c..eb0e7424fc 100644 --- a/tests/army/query/function/in/char_length.in +++ b/tests/army/query/function/in/char_length.in @@ -14,4 +14,12 @@ select CHAR_LENGTH(concat(nch1,var1)) from ts_4893.meters order by ts limit 5; select CHAR_LENGTH(cast(nch1 as varchar)) from ts_4893.meters order by ts limit 5; select pow(CHAR_LENGTH(nch1), 2) from ts_4893.meters order by ts limit 5; select sqrt(CHAR_LENGTH(nch1)) from ts_4893.meters order by ts limit 5; -select cast(CHAR_LENGTH(nch1) as int) from ts_4893.meters order by ts limit 5; \ No newline at end of file +select cast(CHAR_LENGTH(nch1) as int) from ts_4893.meters order by ts limit 5; +select char_length('taos'); +select char_length('涛思'); +select char_length('涛思taos'); +select char_length('tao\'s'); +select char_length(nch1) from ts_4893.d0 limit 10; +select char_length(nch1) from ts_4893.meters limit 10; +select char_length(var1) from ts_4893.d0 limit 10; +select char_length(var1) from ts_4893.meters limit 10; diff --git a/tests/army/query/function/in/dayofweek.err b/tests/army/query/function/in/dayofweek.err new file mode 100644 index 0000000000..151ae390bc --- /dev/null +++ b/tests/army/query/function/in/dayofweek.err @@ -0,0 +1,2 @@ +select dayofweek(); +select dayofweek('2020-01-01',1); diff --git a/tests/army/query/function/in/dayofweek.in b/tests/army/query/function/in/dayofweek.in index 87547c50da..66d6599963 100644 --- a/tests/army/query/function/in/dayofweek.in +++ b/tests/army/query/function/in/dayofweek.in @@ -10,4 +10,9 @@ select DAYOFWEEK('2000-01-06 00:00:00'); select DAYOFWEEK('2000-01-06 00:00:00') from ts_4893.meters order by ts limit 10; select DAYOFWEEK(1725095657); select DAYOFWEEK(1725095657) from ts_4893.meters order by ts limit 10; -select DAYOFWEEK(ts) from ts_4893.meters order by ts limit 10; \ No newline at end of file +select DAYOFWEEK(ts) from ts_4893.meters order by ts limit 10; +select dayofweek('2020-01-01'); +select dayofweek(1721020666); +select dayofweek(1721020666229); +select dayofweek(ts) from ts_4893.d0 order by ts limit 10; +select dayofweek(ts) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/degrees.err b/tests/army/query/function/in/degrees.err new file mode 100644 index 0000000000..4b5bec47bf --- /dev/null +++ b/tests/army/query/function/in/degrees.err @@ -0,0 +1,2 @@ +select degrees(); +select degrees('abc'); diff --git a/tests/army/query/function/in/degrees.in b/tests/army/query/function/in/degrees.in index 9c75039595..54672c0722 100644 --- a/tests/army/query/function/in/degrees.in +++ b/tests/army/query/function/in/degrees.in @@ -26,4 +26,7 @@ select abs(DEGREES(10)); select pow(DEGREES(10), 2); select sqrt(DEGREES(10)); select cast(DEGREES(10) as int); -select DEGREES(sqrt(id)) from ts_4893.meters order by ts limit 5; \ No newline at end of file +select DEGREES(sqrt(id)) from ts_4893.meters order by ts limit 5; +select degrees(pi()); +select degrees(current) from ts_4893.d0 order by ts limit 10; +select degrees(current) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/exp.err b/tests/army/query/function/in/exp.err new file mode 100644 index 0000000000..6e6a206db8 --- /dev/null +++ b/tests/army/query/function/in/exp.err @@ -0,0 +1,2 @@ +select exp(); +select exp('1'); diff --git a/tests/army/query/function/in/exp.in b/tests/army/query/function/in/exp.in index ebf88c7598..1af149d9cc 100755 --- a/tests/army/query/function/in/exp.in +++ b/tests/army/query/function/in/exp.in @@ -25,4 +25,8 @@ select pow(EXP(10), 2); select sqrt(EXP(10)); select cast(EXP(10) as int); select EXP(sqrt(id)) from ts_4893.meters order by ts limit 5; -select EXP(EXP(EXP(EXP(0)))); \ No newline at end of file +select EXP(EXP(EXP(EXP(0)))); +select exp(2); +select exp(0.5); +select exp(current) from ts_4893.d0 order by ts limit 10; +select exp(current) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/ln.err b/tests/army/query/function/in/ln.err new file mode 100644 index 0000000000..1d0e60d1b0 --- /dev/null +++ b/tests/army/query/function/in/ln.err @@ -0,0 +1,2 @@ +select ln(); +select ln('1'); diff --git a/tests/army/query/function/in/ln.in b/tests/army/query/function/in/ln.in index 8b05b3e818..eb3f3281d5 100755 --- a/tests/army/query/function/in/ln.in +++ b/tests/army/query/function/in/ln.in @@ -22,4 +22,8 @@ select sqrt(LN(10)); select cast(LN(10) as int); select LN(sqrt(id) + 1) from ts_4893.meters order by ts limit 5; select LN(LN(LN(LN(10000)))); -select LN(EXP(2)); \ No newline at end of file +select LN(EXP(2)); +select ln(10); +select ln(pi()); +select ln(current) from ts_4893.d0 order by ts limit 10; +select ln(current) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/mod.err b/tests/army/query/function/in/mod.err new file mode 100644 index 0000000000..1c260ce75c --- /dev/null +++ b/tests/army/query/function/in/mod.err @@ -0,0 +1,6 @@ +select mod(); +select mod(, 2); +select mod(10, ); +select mod(10, 'a'); +select mod('abc', 3); +select mod(10, 3, 1); diff --git a/tests/army/query/function/in/mod.in b/tests/army/query/function/in/mod.in index d75a6a9ac4..d335573cf4 100755 --- a/tests/army/query/function/in/mod.in +++ b/tests/army/query/function/in/mod.in @@ -11,4 +11,8 @@ select MOD(MOD(MOD(MOD(MOD(MOD(MOD(123456789.123456789, -1), -2), -3), -4), -5), select MOD(87654321.123456789, id + 1) from ts_4893.meters order by ts limit 10; select MOD(current, id + 1) from ts_4893.meters order by ts limit 10; select MOD(current, 1) from ts_4893.meters order by ts limit 10; -select MOD(sqrt(current), abs(id + 1)) from ts_4893.meters order by ts limit 10; \ No newline at end of file +select MOD(sqrt(current), abs(id + 1)) from ts_4893.meters order by ts limit 10; +select mod(10, -3); +select mod(10, 3); +select mod(id, 3) from ts_4893.d0 order by ts limit 10; +select mod(id, 3) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/pi.err b/tests/army/query/function/in/pi.err new file mode 100644 index 0000000000..6666e64e73 --- /dev/null +++ b/tests/army/query/function/in/pi.err @@ -0,0 +1,2 @@ +select pi('111'); +select pi(123); diff --git a/tests/army/query/function/in/pi.in b/tests/army/query/function/in/pi.in index 23b4e0fa71..c0ccc0b079 100644 --- a/tests/army/query/function/in/pi.in +++ b/tests/army/query/function/in/pi.in @@ -16,4 +16,5 @@ select pi() + id from ts_4893.meters order by ts limit 5; select abs(pi()); select pow(pi(), 2); select sqrt(pi()); -select cast(pi() as int); \ No newline at end of file +select cast(pi() as int); +select pi(); diff --git a/tests/army/query/function/in/position.err b/tests/army/query/function/in/position.err new file mode 100644 index 0000000000..c63fc62c02 --- /dev/null +++ b/tests/army/query/function/in/position.err @@ -0,0 +1,5 @@ +select position('t' in); +select position(in 'taos'); +select position(1 in 2213); +select position(1 in '2213'); +select position('1' in 2213); diff --git a/tests/army/query/function/in/position.in b/tests/army/query/function/in/position.in index f7c6e71eed..7c682c5c80 100644 --- a/tests/army/query/function/in/position.in +++ b/tests/army/query/function/in/position.in @@ -25,4 +25,16 @@ select POSITION(var2 IN 'abcdefghijklmn') from ts_4893.meters where POSITION(var select POSITION(nch2 IN '一二三四五六七八九十') from ts_4893.meters where POSITION(nch2 IN '一二三四五六七八九十') != 0 order by ts limit 5; select POSITION(var2 IN '一二三四五六七八九十') from ts_4893.meters where POSITION(var2 IN '一二三四五六七八九十') != 0 order by ts limit 5; select ABS(POSITION('aaa' IN 'aaaaaaaaa')); -select POW(POSITION('aaa' IN 'aaaaaaaaa'), 2); \ No newline at end of file +select POW(POSITION('aaa' IN 'aaaaaaaaa'), 2); +select position('t' in 'taos'); +select position('ustc' in 'taos'); +select position('' in ''); +select position('' in 'taos'); +select position(nch2 in nch1) from ts_4893.d0 order by ts limit 10; +select position(nch2 in nch1) from ts_4893.meters order by ts limit 10; +select position(nch2 in var1) from ts_4893.d0 order by ts limit 10; +select position(nch2 in var1) from ts_4893.meters order by ts limit 10; +select position(var2 in nch1) from ts_4893.d0 order by ts limit 10; +select position(var2 in nch1) from ts_4893.meters order by ts limit 10; +select position(var2 in var1) from ts_4893.d0 order by ts limit 10; +select position(var2 in var1) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/radians.err b/tests/army/query/function/in/radians.err new file mode 100644 index 0000000000..0153bff54b --- /dev/null +++ b/tests/army/query/function/in/radians.err @@ -0,0 +1,2 @@ +select radians(); +select radians('abc'); diff --git a/tests/army/query/function/in/radians.in b/tests/army/query/function/in/radians.in index 6f873b16d2..45ef75f0d2 100644 --- a/tests/army/query/function/in/radians.in +++ b/tests/army/query/function/in/radians.in @@ -26,4 +26,7 @@ select abs(RADIANS(10)); select pow(RADIANS(10), 2); select sqrt(RADIANS(10)); select cast(RADIANS(10) as int); -select RADIANS(sqrt(id)) from ts_4893.meters order by ts limit 5; \ No newline at end of file +select RADIANS(sqrt(id)) from ts_4893.meters order by ts limit 5; +select radians(180); +select radians(current) from ts_4893.d0 order by ts limit 10; +select radians(current) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/repeat.err b/tests/army/query/function/in/repeat.err new file mode 100644 index 0000000000..0198c0e345 --- /dev/null +++ b/tests/army/query/function/in/repeat.err @@ -0,0 +1,11 @@ +select repeat(); +select repeat('taos', ); +select repeat(, 3); +select repeat('taos'); +select repeat(1); +select repeat(taos, 1); +select repeat(123, 2); +select repeat('taos', 1.5); +select repeat('taos', 1.4); +select repeat('taos', 12, 3); +select repeat(id, 3) from ts_4893.meters; diff --git a/tests/army/query/function/in/repeat.in b/tests/army/query/function/in/repeat.in index 76ebbddac4..a0a74a96cc 100644 --- a/tests/army/query/function/in/repeat.in +++ b/tests/army/query/function/in/repeat.in @@ -16,4 +16,16 @@ select position(var1 in repeat(nch1,6)) from ts_4893.meters where nch1 = var1 or select repeat(nch1, id) from ts_4893.meters where id > 0 order by ts limit 5; select repeat(var1, id) from ts_4893.meters where id > 0 order by ts limit 5; select repeat('nch1', id) from ts_4893.meters where id > 0 order by ts limit 5; -select repeat('var1', id) from ts_4893.meters where id > 0 order by ts limit 5; \ No newline at end of file +select repeat('var1', id) from ts_4893.meters where id > 0 order by ts limit 5; +select repeat('taos', 1); +select repeat('taos', 2); +select repeat(name, 3) from ts_4893.d0 order by ts limit 10; +select repeat(name, 3) from ts_4893.meters order by ts limit 10; +select repeat(nch1, 3) from ts_4893.d0 order by ts limit 10; +select repeat(nch1, 3) from ts_4893.meters order by ts limit 10; +select repeat(var1, 3) from ts_4893.d0 order by ts limit 10; +select repeat(var1, 3) from ts_4893.meters order by ts limit 10; +select repeat(name, groupid) from ts_4893.d0 order by ts limit 10; +select repeat(name, groupid) from ts_4893.meters order by ts limit 10; +select repeat(nch1, groupid) from ts_4893.d0 order by ts limit 10; +select repeat(nch1, groupid) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/replace.err b/tests/army/query/function/in/replace.err new file mode 100644 index 0000000000..df5c847481 --- /dev/null +++ b/tests/army/query/function/in/replace.err @@ -0,0 +1,7 @@ +select replace(); +select replace('aabbccdd', , 'ee'); +select replace('aabbccdd', 'aa', ); +select replace(, 'aa', 'ee'); +select replace(123345, 1, 'ee'); +select replace('aabbccdd', 1, 'ee'); +select replace('aabbccdd', 'a', 1); diff --git a/tests/army/query/function/in/replace.in b/tests/army/query/function/in/replace.in index 70b694325d..619b10ced0 100644 --- a/tests/army/query/function/in/replace.in +++ b/tests/army/query/function/in/replace.in @@ -80,4 +80,19 @@ select replace('一二三四五六七abcdefghijk213124123', var2, 'var2') from t select replace('一二三四五六七abcdefghijk213124123', var2, 'var2') from ts_4893.meters where position(var2 IN '一二三四五六七abcdefghijk213124123') = 0 order by ts limit 5; select replace('一二三四五六七abcdefghijk213124123', var2, nch2) from ts_4893.meters order by ts limit 5; select replace('一二三四五六七abcdefghijk213124123', var2, nch2) from ts_4893.meters where position(var2 IN '一二三四五六七abcdefghijk213124123') != 0 order by ts limit 5; -select replace('一二三四五六七abcdefghijk213124123', var2, nch2) from ts_4893.meters where position(var2 IN '一二三四五六七abcdefghijk213124123') = 0 order by ts limit 5; \ No newline at end of file +select replace('一二三四五六七abcdefghijk213124123', var2, nch2) from ts_4893.meters where position(var2 IN '一二三四五六七abcdefghijk213124123') = 0 order by ts limit 5; +select replace('aabbccdd','aa', 'ee'); +select replace('aabbccdd','AA', 'ee'); +select replace('北京','北' , '南'); +select replace('北京','京' , '南'); +select replace('北京taos','北' , '南'); +select replace(nch1, nch2, 't') from ts_4893.d0 order by ts limit 10; +select replace(nch1, nch2, 't') from ts_4893.meters order by ts limit 10; +select replace(nch1, var2, 't') from ts_4893.d0 order by ts limit 10; +select replace(nch1, var2, 't') from ts_4893.meters order by ts limit 10; +select replace(var1, nch2, 't') from ts_4893.d0 order by ts limit 10; +select replace(var1, nch2, 't') from ts_4893.meters order by ts limit 10; +select replace(var1, var2, 't') from ts_4893.d0 order by ts limit 10; +select replace(var1, var2, 't') from ts_4893.meters order by ts limit 10; +select replace(nch1, nch2, var1) from ts_4893.d0 order by ts limit 10; +select replace(nch1, nch2, var1) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/round.err b/tests/army/query/function/in/round.err new file mode 100644 index 0000000000..2b91a90b52 --- /dev/null +++ b/tests/army/query/function/in/round.err @@ -0,0 +1,5 @@ +select round(); +select round(10, ); +select round(, 2); +select round('abc', 2); +select round(123.23, 'a'); diff --git a/tests/army/query/function/in/round.in b/tests/army/query/function/in/round.in index 1b27c167df..f9be21ef04 100644 --- a/tests/army/query/function/in/round.in +++ b/tests/army/query/function/in/round.in @@ -17,3 +17,14 @@ select ROUND(current) from ts_4893.meters order by ts limit 20; select ROUND(87654321.123456789, id) from ts_4893.meters order by ts limit 10; select ROUND(current, id) from ts_4893.meters order by ts limit 10; select ROUND(current, 1) from ts_4893.meters order by ts limit 10; +select round(10.55, 3); +select round(10.55, 2); +select round(10.55, 1); +select round(10.55, 0); +select round(10.55); +select round(10.55, -1); +select round(10.55, -10); +select round(-10.55, 1); +select round(99, 1); +select round(current) from ts_4893.d0 order by ts limit 10; +select round(current) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/sign.err b/tests/army/query/function/in/sign.err new file mode 100644 index 0000000000..97d6c78c03 --- /dev/null +++ b/tests/army/query/function/in/sign.err @@ -0,0 +1,3 @@ +select sign(); +select sign('abc'); +select sign(10, 1); diff --git a/tests/army/query/function/in/sign.in b/tests/army/query/function/in/sign.in index 5a64b557dd..1be6a3610c 100644 --- a/tests/army/query/function/in/sign.in +++ b/tests/army/query/function/in/sign.in @@ -27,4 +27,10 @@ select pow(SIGN(10), 2); select sqrt(SIGN(10)); select cast(SIGN(10) as int); select SIGN(sqrt(id)) from ts_4893.meters order by ts limit 5; -select SIGN(SIGN(SIGN(SIGN(0)))); \ No newline at end of file +select SIGN(SIGN(SIGN(SIGN(0)))); +select sign(1); +select sign(10); +select sign(-1); +select sign(-10); +select sign(current) from ts_4893.d0 order by ts limit 10; +select sign(current) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/stddev.err b/tests/army/query/function/in/stddev.err new file mode 100644 index 0000000000..19555de093 --- /dev/null +++ b/tests/army/query/function/in/stddev.err @@ -0,0 +1,8 @@ +select stddev_pop() from ts_4893.d0; +select stddev_pop(ts) from ts_4893.d0; +select stddev_pop(name) from ts_4893.d0; +select stddev_pop(id, current) from ts_4893.d0; +select stddev_pop() from ts_4893.meters; +select stddev_pop(ts) from ts_4893.meters; +select stddev_pop(name) from ts_4893.meters; +select stddev_pop(id, current) from ts_4893.meters; diff --git a/tests/army/query/function/in/stddev.in b/tests/army/query/function/in/stddev.in index 77987b1520..ef36a7da41 100644 --- a/tests/army/query/function/in/stddev.in +++ b/tests/army/query/function/in/stddev.in @@ -4,3 +4,7 @@ select STDDEV(id) from ts_4893.meters; select STDDEV(id) from ts_4893.meters interval(1d) limit 10; select STDDEV(id) from ts_4893.meters where id > 100; select STDDEV(id) from ts_4893.meters interval(1d) order by 1 limit 10; +select stddev_pop(id) from ts_4893.d0; +select stddev_pop(id) from ts_4893.meters; +select stddev_pop(current) from ts_4893.d0; +select stddev_pop(current) from ts_4893.meters; diff --git a/tests/army/query/function/in/substr.err b/tests/army/query/function/in/substr.err new file mode 100644 index 0000000000..3138e6689b --- /dev/null +++ b/tests/army/query/function/in/substr.err @@ -0,0 +1,3 @@ +select substring(); +select substring('abc'); +select substring(10, 1); diff --git a/tests/army/query/function/in/substr.in b/tests/army/query/function/in/substr.in index 8393fca035..e5a1ea0754 100644 --- a/tests/army/query/function/in/substr.in +++ b/tests/army/query/function/in/substr.in @@ -125,4 +125,15 @@ select SUBSTR(var1 FROM sign(id) FOR 20) from ts_4893.meters where char_length(v select SUBSTR(nch1, 2, id) from ts_4893.meters where char_length(nch1) > 6 order by ts limit 5; select SUBSTR(nch1 FROM 2 FOR id) from ts_4893.meters where char_length(nch1) > 6 order by ts limit 5; select SUBSTR(var1, 2, id) from ts_4893.meters where char_length(var1) > 6 order by ts limit 5; -select SUBSTR(var1 FROM 2 FOR id) from ts_4893.meters where char_length(var1) > 6 order by ts limit 5; \ No newline at end of file +select SUBSTR(var1 FROM 2 FOR id) from ts_4893.meters where char_length(var1) > 6 order by ts limit 5; +select substring('tdengine', 2); +select substring('tdengine', 8); +select substring('tdengine', 1, 3); +select substring('tdengine', 2, 99); +select substring('tdengine', -1, 10); +select substring('中国', 1, 3); +select substring('中国tdengine', 1, 3); +select substring(var1, 1, 5) from ts_4893.d0 order by ts limit 10; +select substring(var1, 1, 5) from ts_4893.meters order by ts limit 10; +select substring(nch1, 1, 5) from ts_4893.d0 order by ts limit 10; +select substring(nch1, 1, 5) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/substr_idx.err b/tests/army/query/function/in/substr_idx.err new file mode 100644 index 0000000000..9f34731d6d --- /dev/null +++ b/tests/army/query/function/in/substr_idx.err @@ -0,0 +1,8 @@ +select substring_index(); +select substring_index(, '.', 2); +select substring_index('www.taosdata.com', , 2); +select substring_index('www.taosdata.com', '.', ); +select substring_index(123456789, '7', 1); +select substring_index('www.taosdata.com', c, 0); +select substring_index('www.taosdata.com', '.', '2'); +select substring_index('www.taosdata.com', '.', 2, 3); diff --git a/tests/army/query/function/in/substr_idx.in b/tests/army/query/function/in/substr_idx.in index 4ab9fe84dc..ae278f0a7a 100644 --- a/tests/army/query/function/in/substr_idx.in +++ b/tests/army/query/function/in/substr_idx.in @@ -77,3 +77,17 @@ select substring_index(nch1, '123', id) from ts_4893.meters where position('123' select substring_index(var1, '123', 1) from ts_4893.meters where position('123' in var1) > 1 order by ts limit 5; select substring_index(var1, '123', -1) from ts_4893.meters where position('123' in var1) > 1 order by ts limit 5; select substring_index(var1, '123', id) from ts_4893.meters where position('123' in var1) > 1 order by ts limit 5; +select substring_index('www.taosdata.com', '.', 2); +select substring_index('www.taosdata.com', '.', -2); +select substring_index('中国.科学.www.taosdata.com', '.', 2); +select substring_index('北京。涛思。数据。科技', '。', 2); +select substring_index(nch1, 'a', 2) from ts_4893.d0 order by ts limit 10; +select substring_index(nch1, 'a', 2) from ts_4893.meters order by ts limit 10; +select substring_index(nch1, nch2, 2) from ts_4893.d0 order by ts limit 10; +select substring_index(nch1, nch2, 2) from ts_4893.meters order by ts limit 10; +select substring_index(nch1, var2, 2) from ts_4893.d0 order by ts limit 10; +select substring_index(nch1, var2, 2) from ts_4893.meters order by ts limit 10; +select substring_index(var1, nch2, 2) from ts_4893.d0 order by ts limit 10; +select substring_index(var1, nch2, 2) from ts_4893.meters order by ts limit 10; +select substring_index(var1, var2, 2) from ts_4893.d0 order by ts limit 10; +select substring_index(var1, var2, 2) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/timediff.err b/tests/army/query/function/in/timediff.err new file mode 100644 index 0000000000..da7972db33 --- /dev/null +++ b/tests/army/query/function/in/timediff.err @@ -0,0 +1,5 @@ +select timediff(); +select timediff(, '2022-01-01 08:00:01',1s); +select timediff('2022-01-01 08:00:00', ,1s); +select timediff('2022-01-01 08:00:00', '2022-01-01 08:00:01',); +select timediff(1720769589123, 1720769529123, 2s); diff --git a/tests/army/query/function/in/timediff.in b/tests/army/query/function/in/timediff.in index 08dc9fbf18..0367d94a1a 100644 --- a/tests/army/query/function/in/timediff.in +++ b/tests/army/query/function/in/timediff.in @@ -70,4 +70,22 @@ select TIMEDIFF(1725095657, ts, 1h) from ts_4893.meters order by ts limit 10; select TIMEDIFF(ts, 1725095657, 1d) from ts_4893.meters order by ts limit 10; select TIMEDIFF(1725095657, ts, 1d) from ts_4893.meters order by ts limit 10; select TIMEDIFF(ts, 1725095657, 1w) from ts_4893.meters order by ts limit 10; -select TIMEDIFF(1725095657, ts, 1w) from ts_4893.meters order by ts limit 10; \ No newline at end of file +select TIMEDIFF(1725095657, ts, 1w) from ts_4893.meters order by ts limit 10; +select timediff('2022-01-01 08:00:00', '2022-01-01 08:00:10',1s); +select timediff('2023-01-01 08:00:00', '2022-01-01 08:00:00',1s); +select timediff('2022-01-01 08:00:03', '2022-01-01 08:00:00',1a); +select timediff('2022-01-31 08:00:00', '2022-01-01 08:00:00',1m); +select timediff('2022-01-31 08:00:00', '2022-01-01 08:00:00',1h); +select timediff('2022-01-31 08:00:00', '2022-01-01 08:00:00',1d); +select timediff('2022-01-31 08:00:00', '2022-01-01 08:00:00',1w); +select timediff('2022-01-31 08:00:00', '2022-01-01 08:00:00'); +select timediff('2022-01-31 08:00:0', '2022-01-01 08:00:00',1s); +select timediff('2022-01-31', '2022-01-01',1s); +select timediff(1720769589, 1720769529, 1s); +select timediff(1720769589123, 1720769529123, 1s); +select timediff(1720769589, '2022-01-01 08:00:00', 1s); +select timediff('2022-01-01 08:00:00', 1720769589, 1s); +select timediff(1720769589231, '2022-01-01 08:00:00', 1s); +select timediff('2022-01-01 08:00:00', 1720769589123, 1s); +select timediff(ts, 1720769589123, 1a) from ts_4893.d0 order by ts limit 10; +select timediff(ts, 1720769589123, 1a) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/trim.err b/tests/army/query/function/in/trim.err new file mode 100644 index 0000000000..4e3f378beb --- /dev/null +++ b/tests/army/query/function/in/trim.err @@ -0,0 +1,3 @@ +select trim(); +select trim(123); +select trim(both 1 from 123); diff --git a/tests/army/query/function/in/trim.in b/tests/army/query/function/in/trim.in index ad94905aa8..6706dfd98a 100644 --- a/tests/army/query/function/in/trim.in +++ b/tests/army/query/function/in/trim.in @@ -98,3 +98,28 @@ select trim(var2 from '三abbcfp三a') from ts_4893.meters where position(var2 i select trim(both var2 from '三abbcfp三a') from ts_4893.meters where position(var2 in '三abbcfp三a') = 0 order by ts limit 5; select trim(leading var2 from '三abbcfp三a') from ts_4893.meters where position(var2 in '三abbcfp三a') = 0 order by ts limit 5; select trim(trailing var2 from '三abbcfp三a') from ts_4893.meters where position(var2 in '三abbcfp三a') = 0 order by ts limit 5; +select trim(' A '); +select trim(' 涛思 '); +select trim('a' FROM 'aaab bbba'); +select trim(LEADING FROM ' aaa '); +select trim(LEADING 'a' FROM ' aaa abab aaaa '); +select trim(LEADING 'a' FROM 'aaa abab aaaa '); +select trim(LEADING '北' FROM '北京涛思数据科技有限公司北'); +select trim(LEADING '北' FROM '北bei京涛思数据科技有限公司北'); +select trim(TRAILING FROM ' aaa abab aaaa '); +select trim(TRAILING 'a' FROM 'aaa abab aaaa'); +select trim(TRAILING 'a' FROM ' aaa abab aaaa'); +select trim(TRAILING '北' FROM '北京涛思数据科技有限公司北') as sub; +select trim(TRAILING '北' FROM '北京涛思数据科技有限公司bei北'); +select trim(BOTH FROM ' aaa abab aaaa '); +select trim(BOTH 'a' FROM ' aaa abab aaaa '); +select trim(BOTH 'a' FROM 'aaa abab aaaa'); +select trim(BOTH '北' FROM '北京涛思数据科技有限公司北'); +select trim(nch2 from nch1) from ts_4893.d0 order by ts limit 10; +select trim(nch2 from nch1) from ts_4893.meters order by ts limit 10; +select trim(nch2 from var1) from ts_4893.d0 order by ts limit 10; +select trim(nch2 from var1) from ts_4893.meters order by ts limit 10; +select trim(var2 from nch1) from ts_4893.d0 order by ts limit 10; +select trim(var2 from nch1) from ts_4893.meters order by ts limit 10; +select trim(var2 from var1) from ts_4893.d0 order by ts limit 10; +select trim(var2 from var1) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/trunc.err b/tests/army/query/function/in/trunc.err new file mode 100644 index 0000000000..5338de04a8 --- /dev/null +++ b/tests/army/query/function/in/trunc.err @@ -0,0 +1,6 @@ +select truncate(); +select truncate(99.99,); +select truncate(, 3); +select truncate(99.99); +select truncate('12', 2); +select truncate(12, '1'); diff --git a/tests/army/query/function/in/trunc.in b/tests/army/query/function/in/trunc.in index 842e112f3e..a341cde4b5 100755 --- a/tests/army/query/function/in/trunc.in +++ b/tests/army/query/function/in/trunc.in @@ -26,3 +26,12 @@ select TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(TRUNC(123456789.123456789, -1), -2), select TRUNC(87654321.123456789, id) from ts_4893.meters order by ts limit 10; select TRUNC(current, id) from ts_4893.meters order by ts limit 10; select TRUNC(current, 1) from ts_4893.meters order by ts limit 10; +select truncate(99.99, 3); +select truncate(99.99, 2); +select truncate(99.99, 1); +select truncate(99.99, 0); +select truncate(99.99, -1); +select truncate(99.99, -10); +select truncate(99, 1); +select truncate(current, 1) from ts_4893.d0 order by ts limit 10; +select truncate(current, 1) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/varpop.err b/tests/army/query/function/in/varpop.err new file mode 100644 index 0000000000..54c9f35c2d --- /dev/null +++ b/tests/army/query/function/in/varpop.err @@ -0,0 +1,8 @@ +select var_pop() from ts_4893.d0; +select var_pop(ts) from ts_4893.d0; +select var_pop(name) from ts_4893.d0; +select var_pop(id, current) from ts_4893.d0; +select var_pop() from ts_4893.meters; +select var_pop(ts) from ts_4893.meters; +select var_pop(name) from ts_4893.meters; +select var_pop(id, current) from ts_4893.meters; diff --git a/tests/army/query/function/in/varpop.in b/tests/army/query/function/in/varpop.in index 0fbdaeda95..1a8f5e6149 100644 --- a/tests/army/query/function/in/varpop.in +++ b/tests/army/query/function/in/varpop.in @@ -4,3 +4,7 @@ select VAR_POP(id) from ts_4893.meters; select VAR_POP(id) from ts_4893.meters interval(1d) limit 10; select VAR_POP(id) from ts_4893.meters where id > 100; select VAR_POP(id) from ts_4893.meters interval(1d) order by 1 limit 10; +select var_pop(id) from ts_4893.d0; +select var_pop(id) from ts_4893.meters; +select var_pop(current) from ts_4893.d0; +select var_pop(current) from ts_4893.meters; diff --git a/tests/army/query/function/in/week.err b/tests/army/query/function/in/week.err new file mode 100644 index 0000000000..4b94ebfd36 --- /dev/null +++ b/tests/army/query/function/in/week.err @@ -0,0 +1,6 @@ +select week(); +select week(, 0); +select week('2000-01-01', ); +select week('2000-01-01', -1); +select week('2000-01-01', 8); +select week('2000-01-01', 1.0); diff --git a/tests/army/query/function/in/week.in b/tests/army/query/function/in/week.in index 1571e66f83..a6b2bf161a 100644 --- a/tests/army/query/function/in/week.in +++ b/tests/army/query/function/in/week.in @@ -60,3 +60,16 @@ select WEEK(ts, 4) from ts_4893.meters order by ts limit 10; select WEEK(ts, 5) from ts_4893.meters order by ts limit 10; select WEEK(ts, 6) from ts_4893.meters order by ts limit 10; select WEEK(ts, 7) from ts_4893.meters order by ts limit 10; +select week(123); +select week('2000-01-01',0); +select week('2000-01-01',1); +select week('2000-01-01',2); +select week('2000-01-01',3); +select week('2000-01-01',4); +select week('2000-01-01',5); +select week('2000-01-01',6); +select week('2000-01-01',7); +select week(1721020591,0); +select week('2020-01-01 00:00:00', 2); +select week(ts) from ts_4893.d0 order by ts limit 10; +select week(ts) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/weekday.err b/tests/army/query/function/in/weekday.err new file mode 100644 index 0000000000..02c1714366 --- /dev/null +++ b/tests/army/query/function/in/weekday.err @@ -0,0 +1,2 @@ +select weekday(); +select weekday('01/01/2020', 2); diff --git a/tests/army/query/function/in/weekday.in b/tests/army/query/function/in/weekday.in index af5bf91137..7e73967047 100644 --- a/tests/army/query/function/in/weekday.in +++ b/tests/army/query/function/in/weekday.in @@ -10,4 +10,10 @@ select WEEKDAY('2000-01-06 00:00:00'); select WEEKDAY('2000-01-06 00:00:00') from ts_4893.meters order by ts limit 10; select WEEKDAY(1725095657); select WEEKDAY(1725095657) from ts_4893.meters order by ts limit 10; -select WEEKDAY(ts) from ts_4893.meters order by ts limit 10; \ No newline at end of file +select WEEKDAY(ts) from ts_4893.meters order by ts limit 10; +select weekday('2020-01-01'); +select weekday(1721020591); +select weekday(1721020666229); +select weekday('2020-01-01 00:00:00'); +select weekday(ts) from ts_4893.d0 order by ts limit 10; +select weekday(ts) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/in/weekofyear.err b/tests/army/query/function/in/weekofyear.err new file mode 100644 index 0000000000..c220f91ca2 --- /dev/null +++ b/tests/army/query/function/in/weekofyear.err @@ -0,0 +1,2 @@ +select weekofyear(); +select weekofyear('2020-01-01',1); diff --git a/tests/army/query/function/in/weekofyear.in b/tests/army/query/function/in/weekofyear.in index e12343141c..8ac1b745ab 100644 --- a/tests/army/query/function/in/weekofyear.in +++ b/tests/army/query/function/in/weekofyear.in @@ -10,4 +10,9 @@ select WEEKOFYEAR('2000-01-06 00:00:00'); select WEEKOFYEAR('2000-01-06 00:00:00') from ts_4893.meters order by ts limit 10; select WEEKOFYEAR(1725095657); select WEEKOFYEAR(1725095657) from ts_4893.meters order by ts limit 10; -select WEEKOFYEAR(ts) from ts_4893.meters order by ts limit 10; \ No newline at end of file +select WEEKOFYEAR(ts) from ts_4893.meters order by ts limit 10; +select weekofyear('2020-01-01'); +select weekofyear(1721020666); +select weekofyear(1721020666229); +select weekofyear(ts) from ts_4893.d0 order by ts limit 10; +select weekofyear(ts) from ts_4893.meters order by ts limit 10; diff --git a/tests/army/query/function/test_function.py b/tests/army/query/function/test_function.py index ab2a962d03..d9bc255700 100644 --- a/tests/army/query/function/test_function.py +++ b/tests/army/query/function/test_function.py @@ -71,59 +71,443 @@ class TDTestCase(TBase): tdSql.checkDataCsvByLine(sql_statement, ansFile) # 清空 sql_statement 以便处理下一条语句 sql_statement = '' + err_file_path = etool.curFile(__file__, f"in/{testCase}.err") + if not os.path.isfile(err_file_path): + return None + with open(err_file_path, 'r') as err_file: + err_statement = '' + for line in err_file: + if not line.strip() or line.strip().startswith('--'): + continue + + err_statement += line.strip() + + if err_statement.endswith(';'): + tdSql.error(err_statement) + err_statement = '' def test_pi(self): self.test_normal_query("pi") def test_round(self): self.test_normal_query("round") + + tdSql.query("select round(10, null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select round(null, 2);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_exp(self): self.test_normal_query("exp") + tdSql.query("select exp(null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_trunc(self): self.test_normal_query("trunc") + + tdSql.query("select truncate(99.99, null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select truncate(null, 3);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_ln(self): self.test_normal_query("ln") + + tdSql.query("select ln(null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_mod(self): self.test_normal_query("mod") + + tdSql.query("select mod(null, 2);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select mod(10, null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select mod(10, 0);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_sign(self): self.test_normal_query("sign") + + tdSql.query("select sign(null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_degrees(self): self.test_normal_query("degrees") + + tdSql.query("select degrees(null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_radians(self): self.test_normal_query("radians") + + tdSql.query("select radians(null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_char_length(self): self.test_normal_query("char_length") + + tdSql.query("select char_length(null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_char(self): self.test_normal_query("char") + + tdSql.query("select char(null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, '') + + tdSql.query("select char('ustc');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, chr(0)) + + result1 = [[chr(0)], [chr(1)], [chr(2)], [chr(3)], [chr(4)], [chr(5)], [chr(6)], [chr(7)], [chr(8)], [chr(9)]] + tdSql.checkDataMem("select char(id) from ts_4893.d0 limit 10;", result1) + tdSql.checkDataMem("select char(id) from ts_4893.meters limit 10;", result1) + + result2 = [[chr(0)], [chr(0)], [chr(0)], [chr(0)], [chr(0)], [chr(0)], [chr(0)], [chr(0)], [chr(0)], [chr(0)]] + tdSql.checkDataMem("select char(nch1) from ts_4893.d0 limit 10;", result2) + tdSql.checkDataMem("select char(nch1) from ts_4893.meters limit 10;", result2) + + tdSql.checkDataMem("select char(var1) from ts_4893.d0 limit 10;", result2) + tdSql.checkDataMem("select char(var1) from ts_4893.meters limit 10;", result2) + def test_ascii(self): self.test_normal_query("ascii") + + tdSql.query("select ascii(null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_position(self): self.test_normal_query("position") + + tdSql.query("select position('t' in null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select position(null in 'taos');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_replace(self): self.test_normal_query("replace") + + tdSql.query("select replace(null, 'aa', 'ee');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select replace('aabbccdd', null, 'ee');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_repeat(self): self.test_normal_query("repeat") + + tdSql.query("select repeat('taos', null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select repeat(null, 3);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select repeat('taos', 0);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, '') + def test_substr(self): self.test_normal_query("substr") + + tdSql.query("select substring('tdengine', null, 3);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select substring(null, 1, 3);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select substring('tdengine', 1, null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select substring('tdengine', 0);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, '') + + tdSql.query("select substring('tdengine', 10);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, '') + + tdSql.query("select substring('tdengine', 1, 0);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, '') + + tdSql.query("select substring('tdengine', 1, -1);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, '') + def test_substr_idx(self): self.test_normal_query("substr_idx") + + tdSql.query("select substring_index(null, '.', 2);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select substring_index('www.taosdata.com', null, 2);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select substring_index('www.taosdata.com', '.', null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select substring_index('www.taosdata.com', '.', 0);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, '') + def test_trim(self): self.test_normal_query("trim") + + tdSql.query("select trim(null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_timediff(self): self.test_normal_query("timediff") + + tdSql.query("select timediff(null, '2022-01-01 08:00:01',1s);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select timediff('2022-01-01 08:00:00', null,1s);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select timediff('2022/01/31', '2022/01/01',1s);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select timediff('20220131', '20220101',1s);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select timediff('22/01/31', '22/01/01',1s);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select timediff('01/31/22', '01/01/22',1s);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select timediff('31-JAN-22', '01-JAN-22',1s);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select timediff('22/01/31', '22/01/01');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select timediff('www', 'ttt');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_week(self): self.test_normal_query("week") + + tdSql.query("select week(null, 0);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select week('abc');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select week('1721020591', 0);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select week('1721020666229', 0);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select week('01/01/2020', 2);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select week('20200101', 2);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select week('20/01/01', 2);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select week('11/01/31', 2);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select week('01-JAN-20', 2);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_weekday(self): self.test_normal_query("weekday") + + tdSql.query("select weekday(null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekday('1721020591');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekday('1721020666229');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekday('abc');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekday('01/01/2020');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekday('20200101');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekday('20/01/01');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekday('11/01/32');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekday('01-JAN-20');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_weekofyear(self): self.test_normal_query("weekofyear") + + tdSql.query("select weekofyear(null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekofyear('1721020591');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekofyear('1721020666229');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekofyear('abc');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekofyear('01/01/2020');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekofyear('20200101');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekofyear('20/01/01');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekofyear('11/01/31');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select weekofyear('01-JAN-20');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_dayofweek(self): self.test_normal_query("dayofweek") + + tdSql.query("select dayofweek(null);") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select dayofweek('1721020591');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select dayofweek('1721020666229');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select dayofweek('abc');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select dayofweek('01/01/2020');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select dayofweek('20200101');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select dayofweek('20/01/01');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select dayofweek('11/01/31');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select dayofweek('01-JAN-20');") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_stddev(self): self.test_normal_query("stddev") + + tdSql.query("select stddev_pop(null) from ts_4893.d0;") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select stddev_pop(null) from ts_4893.meters;") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + def test_varpop(self): self.test_normal_query("varpop") + + tdSql.query("select var_pop(null) from ts_4893.d0;") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + + tdSql.query("select var_pop(null) from ts_4893.meters;") + tdSql.checkRows(1) + tdSql.checkData(0, 0, None) + # run def run(self): tdLog.debug(f"start to excute {__file__}")