diff --git a/mysql-test/columnstore/autopilot/r/mcs4463_function_CNX_HEX_NS.result b/mysql-test/columnstore/autopilot/r/mcs4463_function_CNX_HEX_NS.result index f30a30155..94261359d 100644 --- a/mysql-test/columnstore/autopilot/r/mcs4463_function_CNX_HEX_NS.result +++ b/mysql-test/columnstore/autopilot/r/mcs4463_function_CNX_HEX_NS.result @@ -5,16 +5,16 @@ cidx CBIGINT HEX(CBIGINT) 1 -72036854775806 FFFFBE7B9CDC4002 select cidx, CDECIMAL1, HEX(CDECIMAL1) from datatypetestm order by cidx; cidx CDECIMAL1 HEX(CDECIMAL1) -1 -9 FFFF +1 -9 FFFFFFFFFFFFFFF7 select cidx, CDECIMAL4, HEX(CDECIMAL4) from datatypetestm order by cidx; cidx CDECIMAL4 HEX(CDECIMAL4) -1 -999 FFFFFFFFFF +1 -999 FFFFFFFFFFFFFC19 select cidx, CDECIMAL4_2, HEX(CDECIMAL4_2) from datatypetestm order by cidx; cidx CDECIMAL4_2 HEX(CDECIMAL4_2) -1 -9.99 FFFFFFFFFFFF +1 -9.99 FFFFFFFFFFFFFFF6 select cidx, CDECIMAL5, HEX(CDECIMAL5) from datatypetestm order by cidx; cidx CDECIMAL5 HEX(CDECIMAL5) -1 -999 FFFFFFFFFFFF +1 -999 FFFFFFFFFFFFFC19 select cidx, CDECIMAL9, HEX(CDECIMAL9) from datatypetestm order by cidx; cidx CDECIMAL9 HEX(CDECIMAL9) 1 -999999 FFFFFFFFFFF0BDC1 @@ -35,10 +35,10 @@ cidx CINTEGER HEX(CINTEGER) 1 -7483646 FFFFFFFFFF8DCF02 select cidx, CSMALLINT, HEX(CSMALLINT) from datatypetestm order by cidx; cidx CSMALLINT HEX(CSMALLINT) -1 -766 FFFFFFFFFFFF +1 -766 FFFFFFFFFFFFFD02 select cidx, CTINYINT, HEX(CTINYINT) from datatypetestm order by cidx; cidx CTINYINT HEX(CTINYINT) -1 -26 FFFFFFFF +1 -26 FFFFFFFFFFFFFFE6 select cidx, CDOUBLE, HEX(CDOUBLE) from datatypetestm order by cidx; cidx CDOUBLE HEX(CDOUBLE) 1 -1.797693231e108 FFFFFFFFFFFFFFFF diff --git a/mysql-test/columnstore/autopilot/r/mcs4471_function_CNXasPP_HEX_NS.result b/mysql-test/columnstore/autopilot/r/mcs4471_function_CNXasPP_HEX_NS.result index 853356335..51da9f511 100644 --- a/mysql-test/columnstore/autopilot/r/mcs4471_function_CNXasPP_HEX_NS.result +++ b/mysql-test/columnstore/autopilot/r/mcs4471_function_CNXasPP_HEX_NS.result @@ -5,16 +5,16 @@ cidx CBIGINT HEX(CBIGINT) 1 -72036854775806 FFFFBE7B9CDC4002 select cidx, CDECIMAL1, HEX(CDECIMAL1) from datatypetestm order by cidx; cidx CDECIMAL1 HEX(CDECIMAL1) -1 -9 FFFF +1 -9 FFFFFFFFFFFFFFF7 select cidx, CDECIMAL4, HEX(CDECIMAL4) from datatypetestm order by cidx; cidx CDECIMAL4 HEX(CDECIMAL4) -1 -999 FFFFFFFFFF +1 -999 FFFFFFFFFFFFFC19 select cidx, CDECIMAL4_2, HEX(CDECIMAL4_2) from datatypetestm order by cidx; cidx CDECIMAL4_2 HEX(CDECIMAL4_2) -1 -9.99 FFFFFFFFFFFF +1 -9.99 FFFFFFFFFFFFFFF6 select cidx, CDECIMAL5, HEX(CDECIMAL5) from datatypetestm order by cidx; cidx CDECIMAL5 HEX(CDECIMAL5) -1 -999 FFFFFFFFFFFF +1 -999 FFFFFFFFFFFFFC19 select cidx, CDECIMAL9, HEX(CDECIMAL9) from datatypetestm order by cidx; cidx CDECIMAL9 HEX(CDECIMAL9) 1 -999999 FFFFFFFFFFF0BDC1 @@ -35,10 +35,10 @@ cidx CINTEGER HEX(CINTEGER) 1 -7483646 FFFFFFFFFF8DCF02 select cidx, CSMALLINT, HEX(CSMALLINT) from datatypetestm order by cidx; cidx CSMALLINT HEX(CSMALLINT) -1 -766 FFFFFFFFFFFF +1 -766 FFFFFFFFFFFFFD02 select cidx, CTINYINT, HEX(CTINYINT) from datatypetestm order by cidx; cidx CTINYINT HEX(CTINYINT) -1 -26 FFFFFFFF +1 -26 FFFFFFFFFFFFFFE6 select cidx, CDOUBLE, HEX(CDOUBLE) from datatypetestm order by cidx; cidx CDOUBLE HEX(CDOUBLE) 1 -1.797693231e108 FFFFFFFFFFFFFFFF diff --git a/mysql-test/columnstore/basic/r/mcs127_window_function_last_value.result b/mysql-test/columnstore/basic/r/mcs127_window_function_last_value.result index 999c12007..b6f1c41b2 100644 --- a/mysql-test/columnstore/basic/r/mcs127_window_function_last_value.result +++ b/mysql-test/columnstore/basic/r/mcs127_window_function_last_value.result @@ -147,7 +147,25 @@ c 1861 1861 d 10701 1071 d 1071 1071 SELECT a, b, LAST_VALUE(b) OVER(PARTITION BY a ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_value FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b last_value +NULL NULL NULL +a 92 123 +a 1 123 +a 123 123 +b 123 123 +c 1991 1861 +c 1861 1861 +d 1071 10701 +d 10701 10701 SELECT a, b, LAST_VALUE(b) OVER(PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_value FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b last_value +NULL NULL NULL +a 1 1 +a 92 92 +b 123 123 +a 123 123 +d 1071 1071 +c 1861 1861 +c 1991 1991 +d 10701 10701 DROP DATABASE mcs127_db; diff --git a/mysql-test/columnstore/basic/r/mcs129_window_function_nth_value.result b/mysql-test/columnstore/basic/r/mcs129_window_function_nth_value.result index c4b57ff25..ebaca3bdb 100644 --- a/mysql-test/columnstore/basic/r/mcs129_window_function_nth_value.result +++ b/mysql-test/columnstore/basic/r/mcs129_window_function_nth_value.result @@ -213,7 +213,25 @@ c 1861 NULL c 1991 NULL d 10701 NULL SELECT a, b, NTH_VALUE(b, 2) OVER(PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) second_value FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b second_value +NULL NULL NULL +a 1 NULL +a 92 NULL +a 123 123 +b 123 123 +d 1071 NULL +c 1861 NULL +c 1991 NULL +d 10701 NULL SELECT a, b, NTH_VALUE(a, 2) OVER(PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) second_value FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b second_value +NULL NULL NULL +a 92 a +a 1 a +a 123 a +b 123 NULL +c 1991 c +c 1861 c +d 1071 d +d 10701 d DROP DATABASE mcs129_db; diff --git a/mysql-test/columnstore/basic/r/mcs152_win_frame_avg.result b/mysql-test/columnstore/basic/r/mcs152_win_frame_avg.result index 7e662dc3b..948d92442 100644 --- a/mysql-test/columnstore/basic/r/mcs152_win_frame_avg.result +++ b/mysql-test/columnstore/basic/r/mcs152_win_frame_avg.result @@ -224,7 +224,25 @@ d 17 17.0000 b 18 18.0000 a 19 19.0000 SELECT a, b, AVG(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) avg FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +a b avg +NULL NULL NULL +a 12 12.0000 +a 13 13.0000 +b 14 14.0000 +c 15 15.0000 +d 16 16.0000 +d 17 17.0000 +b 18 18.0000 +a 19 19.0000 SELECT a, b, AVG(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) avg FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b avg +NULL NULL NULL +a 19 14.6667 +a 13 14.6667 +a 12 14.6667 +b 18 15.2000 +b 14 15.2000 +c 15 15.1667 +d 16 15.5000 +d 17 15.5000 DROP DATABASE mcs152_db; diff --git a/mysql-test/columnstore/basic/r/mcs153_win_frame_bit_and.result b/mysql-test/columnstore/basic/r/mcs153_win_frame_bit_and.result index 465283246..ca816a590 100644 --- a/mysql-test/columnstore/basic/r/mcs153_win_frame_bit_and.result +++ b/mysql-test/columnstore/basic/r/mcs153_win_frame_bit_and.result @@ -14,7 +14,7 @@ ERROR HY000: Internal error: MCS-9018: Window Function 'BIT_AND' is currently no SELECT a, b, BIT_AND(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) bit_and FROM t1; ERROR HY000: Internal error: MCS-9018: Window Function 'BIT_AND' is currently not supported in Columnstore. SELECT a, b, BIT_AND(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bit_and FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +ERROR HY000: Internal error: MCS-9018: Window Function 'BIT_AND' is currently not supported in Columnstore. SELECT a, b, BIT_AND(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bit_and FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +ERROR HY000: Internal error: MCS-9018: Window Function 'BIT_AND' is currently not supported in Columnstore. DROP DATABASE mcs153_db; diff --git a/mysql-test/columnstore/basic/r/mcs154_win_frame_bit_or.result b/mysql-test/columnstore/basic/r/mcs154_win_frame_bit_or.result index 54da5dbf2..bcd7f2ca4 100644 --- a/mysql-test/columnstore/basic/r/mcs154_win_frame_bit_or.result +++ b/mysql-test/columnstore/basic/r/mcs154_win_frame_bit_or.result @@ -14,7 +14,7 @@ ERROR HY000: Internal error: MCS-9018: Window Function 'BIT_OR' is currently not SELECT a, b, BIT_OR(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) bit_or FROM t1; ERROR HY000: Internal error: MCS-9018: Window Function 'BIT_OR' is currently not supported in Columnstore. SELECT a, b, BIT_OR(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bit_or FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +ERROR HY000: Internal error: MCS-9018: Window Function 'BIT_OR' is currently not supported in Columnstore. SELECT a, b, BIT_OR(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bit_or FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +ERROR HY000: Internal error: MCS-9018: Window Function 'BIT_OR' is currently not supported in Columnstore. DROP DATABASE mcs154_db; diff --git a/mysql-test/columnstore/basic/r/mcs155_win_frame_bit_xor.result b/mysql-test/columnstore/basic/r/mcs155_win_frame_bit_xor.result index 8e8d8022e..044f21043 100644 --- a/mysql-test/columnstore/basic/r/mcs155_win_frame_bit_xor.result +++ b/mysql-test/columnstore/basic/r/mcs155_win_frame_bit_xor.result @@ -14,7 +14,7 @@ ERROR HY000: Internal error: MCS-9018: Window Function 'BIT_XOR' is currently no SELECT a, b, BIT_XOR(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) BIT_XOR FROM t1; ERROR HY000: Internal error: MCS-9018: Window Function 'BIT_XOR' is currently not supported in Columnstore. SELECT a, b, BIT_XOR(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) BIT_XOR FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +ERROR HY000: Internal error: MCS-9018: Window Function 'BIT_XOR' is currently not supported in Columnstore. SELECT a, b, BIT_XOR(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) BIT_XOR FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +ERROR HY000: Internal error: MCS-9018: Window Function 'BIT_XOR' is currently not supported in Columnstore. DROP DATABASE mcs155_db; diff --git a/mysql-test/columnstore/basic/r/mcs156_win_frame_count.result b/mysql-test/columnstore/basic/r/mcs156_win_frame_count.result index 8074d814d..8a8f619b6 100644 --- a/mysql-test/columnstore/basic/r/mcs156_win_frame_count.result +++ b/mysql-test/columnstore/basic/r/mcs156_win_frame_count.result @@ -224,7 +224,25 @@ d 17 1 b 18 1 a 19 1 SELECT a, b, COUNT(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) count FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +a b count +NULL NULL 0 +a 12 1 +a 13 1 +b 14 1 +c 15 1 +d 16 1 +d 17 1 +b 18 1 +a 19 1 SELECT a, b, COUNT(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) count FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b count +NULL NULL 0 +a 19 3 +a 13 3 +a 12 3 +b 18 5 +b 14 5 +c 15 6 +d 16 8 +d 17 8 DROP DATABASE mcs156_db; diff --git a/mysql-test/columnstore/basic/r/mcs157_win_frame_lead.result b/mysql-test/columnstore/basic/r/mcs157_win_frame_lead.result index aa51027b0..e660441f7 100644 --- a/mysql-test/columnstore/basic/r/mcs157_win_frame_lead.result +++ b/mysql-test/columnstore/basic/r/mcs157_win_frame_lead.result @@ -226,5 +226,14 @@ a 19 NULL SELECT a, b, LEAD(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) lead_value FROM t1; ERROR HY000: No order list in window specification for 'lead' SELECT a, b, LEAD(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) lead_value FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b lead_value +NULL NULL 19 +a 19 13 +a 13 12 +a 12 18 +b 18 14 +b 14 15 +c 15 16 +d 16 17 +d 17 NULL DROP DATABASE mcs157_db; diff --git a/mysql-test/columnstore/basic/r/mcs158_win_frame_max.result b/mysql-test/columnstore/basic/r/mcs158_win_frame_max.result index 85cd9678e..0b19e596d 100644 --- a/mysql-test/columnstore/basic/r/mcs158_win_frame_max.result +++ b/mysql-test/columnstore/basic/r/mcs158_win_frame_max.result @@ -224,7 +224,25 @@ d 17 17 b 18 18 a 19 19 SELECT a, b, MAX(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) max FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +a b max + NULL NULL +a 12 12 +a 13 13 +b 14 14 +c 15 15 +d 16 16 +d 17 17 +b 18 18 +a 19 19 SELECT a, b, MAX(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) max FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b max + NULL NULL +a 19 19 +a 13 19 +a 12 19 +b 18 19 +b 14 19 +c 15 19 +d 16 19 +d 17 19 DROP DATABASE mcs158_db; diff --git a/mysql-test/columnstore/basic/r/mcs159_win_frame_min.result b/mysql-test/columnstore/basic/r/mcs159_win_frame_min.result index 7852adde4..70e0eb154 100644 --- a/mysql-test/columnstore/basic/r/mcs159_win_frame_min.result +++ b/mysql-test/columnstore/basic/r/mcs159_win_frame_min.result @@ -224,7 +224,25 @@ d 17 17 b 18 18 a 19 19 SELECT a, b, MIN(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) min FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +a b min + NULL NULL +a 12 12 +a 13 13 +b 14 14 +c 15 15 +d 16 16 +d 17 17 +b 18 18 +a 19 19 SELECT a, b, MIN(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) min FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b min + NULL NULL +a 19 12 +a 13 12 +a 12 12 +b 18 12 +b 14 12 +c 15 12 +d 16 12 +d 17 12 DROP DATABASE mcs159_db; diff --git a/mysql-test/columnstore/basic/r/mcs161_win_frame_std.result b/mysql-test/columnstore/basic/r/mcs161_win_frame_std.result index 29637fec1..2800df775 100644 --- a/mysql-test/columnstore/basic/r/mcs161_win_frame_std.result +++ b/mysql-test/columnstore/basic/r/mcs161_win_frame_std.result @@ -224,7 +224,25 @@ d 17 0.0000 b 18 0.0000 a 19 0.0000 SELECT a, b, STD(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) std FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +a b std +NULL NULL NULL +a 12 0.0000 +a 13 0.0000 +b 14 0.0000 +c 15 0.0000 +d 16 0.0000 +d 17 0.0000 +b 18 0.0000 +a 19 0.0000 SELECT a, b, STD(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) std FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b std +NULL NULL NULL +a 19 3.0912 +a 13 3.0912 +a 12 3.0912 +b 18 2.7857 +b 14 2.7857 +c 15 2.5441 +d 16 2.2913 +d 17 2.2913 DROP DATABASE mcs161_db; diff --git a/mysql-test/columnstore/basic/r/mcs162_win_frame_stddev.result b/mysql-test/columnstore/basic/r/mcs162_win_frame_stddev.result index b98dea009..247367499 100644 --- a/mysql-test/columnstore/basic/r/mcs162_win_frame_stddev.result +++ b/mysql-test/columnstore/basic/r/mcs162_win_frame_stddev.result @@ -224,7 +224,25 @@ d 17 0.0000 b 18 0.0000 a 19 0.0000 SELECT a, b, STDDEV(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +a b stddev +NULL NULL NULL +a 12 0.0000 +a 13 0.0000 +b 14 0.0000 +c 15 0.0000 +d 16 0.0000 +d 17 0.0000 +b 18 0.0000 +a 19 0.0000 SELECT a, b, STDDEV(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b stddev +NULL NULL NULL +a 19 3.0912 +a 13 3.0912 +a 12 3.0912 +b 18 2.7857 +b 14 2.7857 +c 15 2.5441 +d 16 2.2913 +d 17 2.2913 DROP DATABASE mcs162_db; diff --git a/mysql-test/columnstore/basic/r/mcs163_win_frame_stddev_pop.result b/mysql-test/columnstore/basic/r/mcs163_win_frame_stddev_pop.result index cd97a6746..d21fb845a 100644 --- a/mysql-test/columnstore/basic/r/mcs163_win_frame_stddev_pop.result +++ b/mysql-test/columnstore/basic/r/mcs163_win_frame_stddev_pop.result @@ -224,7 +224,25 @@ d 17 0.0000 b 18 0.0000 a 19 0.0000 SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_POP FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +a b STDDEV_POP +NULL NULL NULL +a 12 0.0000 +a 13 0.0000 +b 14 0.0000 +c 15 0.0000 +d 16 0.0000 +d 17 0.0000 +b 18 0.0000 +a 19 0.0000 SELECT a, b, STDDEV_POP(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_POP FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b STDDEV_POP +NULL NULL NULL +a 19 3.0912 +a 13 3.0912 +a 12 3.0912 +b 18 2.7857 +b 14 2.7857 +c 15 2.5441 +d 16 2.2913 +d 17 2.2913 DROP DATABASE mcs163_db; diff --git a/mysql-test/columnstore/basic/r/mcs164_win_frame_stddev_samp.result b/mysql-test/columnstore/basic/r/mcs164_win_frame_stddev_samp.result index 30514b254..1aa0ef5c0 100644 --- a/mysql-test/columnstore/basic/r/mcs164_win_frame_stddev_samp.result +++ b/mysql-test/columnstore/basic/r/mcs164_win_frame_stddev_samp.result @@ -224,7 +224,25 @@ d 17 NULL b 18 NULL a 19 NULL SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_SAMP FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +a b STDDEV_SAMP +NULL NULL NULL +a 12 NULL +a 13 NULL +b 14 NULL +c 15 NULL +d 16 NULL +d 17 NULL +b 18 NULL +a 19 NULL SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_SAMP FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b STDDEV_SAMP +NULL NULL NULL +a 19 3.7859 +a 13 3.7859 +a 12 3.7859 +b 18 3.1145 +b 14 3.1145 +c 15 2.7869 +d 16 2.4495 +d 17 2.4495 DROP DATABASE mcs164_db; diff --git a/mysql-test/columnstore/basic/r/mcs165_win_frame_sum.result b/mysql-test/columnstore/basic/r/mcs165_win_frame_sum.result index 1e7581f20..d70093448 100644 --- a/mysql-test/columnstore/basic/r/mcs165_win_frame_sum.result +++ b/mysql-test/columnstore/basic/r/mcs165_win_frame_sum.result @@ -224,7 +224,25 @@ d 17 17 b 18 18 a 19 19 SELECT a, b, SUM(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) sum FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +a b sum +NULL NULL NULL +a 12 12 +a 13 13 +b 14 14 +c 15 15 +d 16 16 +d 17 17 +b 18 18 +a 19 19 SELECT a, b, SUM(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) sum FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b sum +NULL NULL NULL +a 19 44 +a 13 44 +a 12 44 +b 18 76 +b 14 76 +c 15 91 +d 16 124 +d 17 124 DROP DATABASE mcs165_db; diff --git a/mysql-test/columnstore/basic/r/mcs166_win_frame_var_pop.result b/mysql-test/columnstore/basic/r/mcs166_win_frame_var_pop.result index 1a0e83b10..f0a255d59 100644 --- a/mysql-test/columnstore/basic/r/mcs166_win_frame_var_pop.result +++ b/mysql-test/columnstore/basic/r/mcs166_win_frame_var_pop.result @@ -224,7 +224,25 @@ d 17 0.0000 b 18 0.0000 a 19 0.0000 SELECT a, b, VAR_POP(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_POP FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +a b VAR_POP +NULL NULL NULL +a 12 0.0000 +a 13 0.0000 +b 14 0.0000 +c 15 0.0000 +d 16 0.0000 +d 17 0.0000 +b 18 0.0000 +a 19 0.0000 SELECT a, b, VAR_POP(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_POP FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b VAR_POP +NULL NULL NULL +a 19 9.5556 +a 13 9.5556 +a 12 9.5556 +b 18 7.7600 +b 14 7.7600 +c 15 6.4722 +d 16 5.2500 +d 17 5.2500 DROP DATABASE mcs166_db; diff --git a/mysql-test/columnstore/basic/r/mcs167_win_frame_var_samp.result b/mysql-test/columnstore/basic/r/mcs167_win_frame_var_samp.result index 343220918..3b13aa56a 100644 --- a/mysql-test/columnstore/basic/r/mcs167_win_frame_var_samp.result +++ b/mysql-test/columnstore/basic/r/mcs167_win_frame_var_samp.result @@ -224,7 +224,25 @@ d 17 NULL b 18 NULL a 19 NULL SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_SAMP FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +a b VAR_SAMP +NULL NULL NULL +a 12 NULL +a 13 NULL +b 14 NULL +c 15 NULL +d 16 NULL +d 17 NULL +b 18 NULL +a 19 NULL SELECT a, b, VAR_SAMP(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_SAMP FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b VAR_SAMP +NULL NULL NULL +a 19 14.3333 +a 13 14.3333 +a 12 14.3333 +b 18 9.7000 +b 14 9.7000 +c 15 7.7667 +d 16 6.0000 +d 17 6.0000 DROP DATABASE mcs167_db; diff --git a/mysql-test/columnstore/basic/r/mcs168_win_frame_variance.result b/mysql-test/columnstore/basic/r/mcs168_win_frame_variance.result index 36ec5142f..e623b0c23 100644 --- a/mysql-test/columnstore/basic/r/mcs168_win_frame_variance.result +++ b/mysql-test/columnstore/basic/r/mcs168_win_frame_variance.result @@ -224,7 +224,25 @@ d 17 0.0000 b 18 0.0000 a 19 0.0000 SELECT a, b, VARIANCE(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VARIANCE FROM t1; -ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key +a b VARIANCE +NULL NULL NULL +a 12 0.0000 +a 13 0.0000 +b 14 0.0000 +c 15 0.0000 +d 16 0.0000 +d 17 0.0000 +b 18 0.0000 +a 19 0.0000 SELECT a, b, VARIANCE(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VARIANCE FROM t1; -ERROR HY000: Numeric datatype is required for RANGE-type frame +a b VARIANCE +NULL NULL NULL +a 19 9.5556 +a 13 9.5556 +a 12 9.5556 +b 18 7.7600 +b 14 7.7600 +c 15 6.4722 +d 16 5.2500 +d 17 5.2500 DROP DATABASE mcs168_db; diff --git a/mysql-test/columnstore/basic/r/mcs254_hex_function.result b/mysql-test/columnstore/basic/r/mcs254_hex_function.result index 6cfd64440..acec00252 100644 --- a/mysql-test/columnstore/basic/r/mcs254_hex_function.result +++ b/mysql-test/columnstore/basic/r/mcs254_hex_function.result @@ -18,7 +18,7 @@ HEX(10) A SELECT HEX(-1) FROM t1 LIMIT 1; HEX(-1) -FFFF +FFFFFFFFFFFFFFFF SELECT HEX('a') FROM t1 LIMIT 1; HEX('a') 61 diff --git a/mysql-test/columnstore/basic/t/mcs127_window_function_last_value.test b/mysql-test/columnstore/basic/t/mcs127_window_function_last_value.test index e9a204170..cafca5052 100644 --- a/mysql-test/columnstore/basic/t/mcs127_window_function_last_value.test +++ b/mysql-test/columnstore/basic/t/mcs127_window_function_last_value.test @@ -27,10 +27,7 @@ SELECT a, b, LAST_VALUE(b) OVER(ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND SELECT a, b, LAST_VALUE(b) OVER(PARTITION BY b ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_value FROM t1; SELECT a, b, LAST_VALUE(a) OVER(PARTITION BY b ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_value FROM t1; SELECT a, b, LAST_VALUE(b) OVER(PARTITION BY a ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_value FROM t1; - ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, LAST_VALUE(b) OVER(PARTITION BY a ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_value FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, LAST_VALUE(b) OVER(PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_value FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs129_window_function_nth_value.test b/mysql-test/columnstore/basic/t/mcs129_window_function_nth_value.test index 137cb27ef..53d7c4514 100644 --- a/mysql-test/columnstore/basic/t/mcs129_window_function_nth_value.test +++ b/mysql-test/columnstore/basic/t/mcs129_window_function_nth_value.test @@ -33,10 +33,7 @@ SELECT a, b, NTH_VALUE(a, 2) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUN SELECT a, b, NTH_VALUE(b, 2) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) second_value FROM t1; SELECT a, b, NTH_VALUE(a, 2) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) second_value FROM t1; SELECT a, b, NTH_VALUE(b, 2) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) second_value FROM t1; - ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, NTH_VALUE(b, 2) OVER(PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) second_value FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, NTH_VALUE(a, 2) OVER(PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) second_value FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs152_win_frame_avg.test b/mysql-test/columnstore/basic/t/mcs152_win_frame_avg.test index f18571572..f6f062dfa 100644 --- a/mysql-test/columnstore/basic/t/mcs152_win_frame_avg.test +++ b/mysql-test/columnstore/basic/t/mcs152_win_frame_avg.test @@ -36,10 +36,7 @@ SELECT a, b, AVG(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND SELECT a, b, AVG(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) avg FROM t1; SELECT a, b, AVG(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) avg FROM t1; SELECT a, b, AVG(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) avg FROM t1; - ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY SELECT a, b, AVG(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) avg FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, AVG(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) avg FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs153_win_frame_bit_and.test b/mysql-test/columnstore/basic/t/mcs153_win_frame_bit_and.test index f9a270202..e94651b40 100644 --- a/mysql-test/columnstore/basic/t/mcs153_win_frame_bit_and.test +++ b/mysql-test/columnstore/basic/t/mcs153_win_frame_bit_and.test @@ -24,10 +24,9 @@ SELECT a, b, BIT_AND(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW SELECT a, b, BIT_AND(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) bit_and FROM t1; --error 1815 SELECT a, b, BIT_AND(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) bit_and FROM t1; - ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY +--error 1815 SELECT a, b, BIT_AND(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bit_and FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME +--error 1815 SELECT a, b, BIT_AND(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bit_and FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs154_win_frame_bit_or.test b/mysql-test/columnstore/basic/t/mcs154_win_frame_bit_or.test index e510c7525..eb4962f39 100644 --- a/mysql-test/columnstore/basic/t/mcs154_win_frame_bit_or.test +++ b/mysql-test/columnstore/basic/t/mcs154_win_frame_bit_or.test @@ -24,10 +24,9 @@ SELECT a, b, BIT_OR(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) SELECT a, b, BIT_OR(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) bit_or FROM t1; --error 1815 SELECT a, b, BIT_OR(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) bit_or FROM t1; - ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY +--error 1815 SELECT a, b, BIT_OR(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bit_or FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME +--error 1815 SELECT a, b, BIT_OR(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) bit_or FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs155_win_frame_bit_xor.test b/mysql-test/columnstore/basic/t/mcs155_win_frame_bit_xor.test index 7fe24a6b0..fb6797dc2 100644 --- a/mysql-test/columnstore/basic/t/mcs155_win_frame_bit_xor.test +++ b/mysql-test/columnstore/basic/t/mcs155_win_frame_bit_xor.test @@ -25,9 +25,9 @@ SELECT a, b, BIT_XOR(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING --error 1815 SELECT a, b, BIT_XOR(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) BIT_XOR FROM t1; ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY +--error 1815 SELECT a, b, BIT_XOR(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) BIT_XOR FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME +--error 1815 SELECT a, b, BIT_XOR(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) BIT_XOR FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs156_win_frame_count.test b/mysql-test/columnstore/basic/t/mcs156_win_frame_count.test index 740cc6169..e713d377b 100644 --- a/mysql-test/columnstore/basic/t/mcs156_win_frame_count.test +++ b/mysql-test/columnstore/basic/t/mcs156_win_frame_count.test @@ -19,13 +19,13 @@ SELECT a, b, COUNT(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FO SELECT a, b, COUNT(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) count FROM t1; SELECT a, b, COUNT(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) count FROM t1; SELECT a, b, COUNT(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) count FROM t1; - + SELECT a, b, COUNT(a) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) count FROM t1; SELECT a, b, COUNT(a) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) count FROM t1; SELECT a, b, COUNT(a) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) count FROM t1; SELECT a, b, COUNT(a) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) count FROM t1; SELECT a, b, COUNT(a) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) count FROM t1; - + SELECT a, b, COUNT(a) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) count FROM t1; SELECT a, b, COUNT(a) OVER(PARTITION BY b ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) count FROM t1; SELECT a, b, COUNT(a) OVER(PARTITION BY a ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) count FROM t1; @@ -37,9 +37,7 @@ SELECT a, b, COUNT(a) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AN SELECT a, b, COUNT(a) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) count FROM t1; SELECT a, b, COUNT(a) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) count FROM t1; ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY SELECT a, b, COUNT(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) count FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, COUNT(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) count FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs157_win_frame_lead.test b/mysql-test/columnstore/basic/t/mcs157_win_frame_lead.test index c956467f2..86a3afdf5 100644 --- a/mysql-test/columnstore/basic/t/mcs157_win_frame_lead.test +++ b/mysql-test/columnstore/basic/t/mcs157_win_frame_lead.test @@ -39,7 +39,6 @@ SELECT a, b, LEAD(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND --error ER_NO_ORDER_LIST_IN_WINDOW_SPEC SELECT a, b, LEAD(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) lead_value FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, LEAD(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) lead_value FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs158_win_frame_max.test b/mysql-test/columnstore/basic/t/mcs158_win_frame_max.test index e0d105ade..47a122df2 100644 --- a/mysql-test/columnstore/basic/t/mcs158_win_frame_max.test +++ b/mysql-test/columnstore/basic/t/mcs158_win_frame_max.test @@ -36,10 +36,7 @@ SELECT a, b, MAX(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND SELECT a, b, MAX(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) max FROM t1; SELECT a, b, MAX(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) max FROM t1; SELECT a, b, MAX(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) max FROM t1; - ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY SELECT a, b, MAX(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) max FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, MAX(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) max FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs159_win_frame_min.test b/mysql-test/columnstore/basic/t/mcs159_win_frame_min.test index 46dd81f5a..48f0b2d54 100644 --- a/mysql-test/columnstore/basic/t/mcs159_win_frame_min.test +++ b/mysql-test/columnstore/basic/t/mcs159_win_frame_min.test @@ -36,10 +36,7 @@ SELECT a, b, MIN(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND SELECT a, b, MIN(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) min FROM t1; SELECT a, b, MIN(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) min FROM t1; SELECT a, b, MIN(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) min FROM t1; - ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY SELECT a, b, MIN(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) min FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, MIN(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) min FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs161_win_frame_std.test b/mysql-test/columnstore/basic/t/mcs161_win_frame_std.test index f3dfb1263..a99e4f744 100644 --- a/mysql-test/columnstore/basic/t/mcs161_win_frame_std.test +++ b/mysql-test/columnstore/basic/t/mcs161_win_frame_std.test @@ -36,10 +36,7 @@ SELECT a, b, STD(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND SELECT a, b, STD(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) std FROM t1; SELECT a, b, STD(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) std FROM t1; SELECT a, b, STD(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) std FROM t1; - ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY SELECT a, b, STD(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) std FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, STD(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) std FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs162_win_frame_stddev.test b/mysql-test/columnstore/basic/t/mcs162_win_frame_stddev.test index 31da001ee..9d5bcd7e5 100644 --- a/mysql-test/columnstore/basic/t/mcs162_win_frame_stddev.test +++ b/mysql-test/columnstore/basic/t/mcs162_win_frame_stddev.test @@ -36,10 +36,7 @@ SELECT a, b, STDDEV(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING A SELECT a, b, STDDEV(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) stddev FROM t1; SELECT a, b, STDDEV(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) stddev FROM t1; SELECT a, b, STDDEV(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) stddev FROM t1; - ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY SELECT a, b, STDDEV(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, STDDEV(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) stddev FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs163_win_frame_stddev_pop.test b/mysql-test/columnstore/basic/t/mcs163_win_frame_stddev_pop.test index adeec7f75..04c77c25b 100644 --- a/mysql-test/columnstore/basic/t/mcs163_win_frame_stddev_pop.test +++ b/mysql-test/columnstore/basic/t/mcs163_win_frame_stddev_pop.test @@ -36,10 +36,7 @@ SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDI SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) STDDEV_POP FROM t1; SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) STDDEV_POP FROM t1; SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) STDDEV_POP FROM t1; - ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY SELECT a, b, STDDEV_POP(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_POP FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, STDDEV_POP(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_POP FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs164_win_frame_stddev_samp.test b/mysql-test/columnstore/basic/t/mcs164_win_frame_stddev_samp.test index 48da6aa6a..5f28e3d21 100644 --- a/mysql-test/columnstore/basic/t/mcs164_win_frame_stddev_samp.test +++ b/mysql-test/columnstore/basic/t/mcs164_win_frame_stddev_samp.test @@ -36,10 +36,7 @@ SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECED SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) STDDEV_SAMP FROM t1; SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) STDDEV_SAMP FROM t1; SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) STDDEV_SAMP FROM t1; - ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY SELECT a, b, STDDEV_SAMP(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_SAMP FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, STDDEV_SAMP(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) STDDEV_SAMP FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs165_win_frame_sum.test b/mysql-test/columnstore/basic/t/mcs165_win_frame_sum.test index f26e7dbc3..ef0e04187 100644 --- a/mysql-test/columnstore/basic/t/mcs165_win_frame_sum.test +++ b/mysql-test/columnstore/basic/t/mcs165_win_frame_sum.test @@ -19,7 +19,7 @@ SELECT a, b, SUM(b) OVER(ORDER BY b RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLL SELECT a, b, SUM(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) sum FROM t1; SELECT a, b, SUM(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) sum FROM t1; SELECT a, b, SUM(b) OVER(ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) sum FROM t1; - + SELECT a, b, SUM(b) OVER(ORDER BY b DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) sum FROM t1; SELECT a, b, SUM(b) OVER(ORDER BY b DESC RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) sum FROM t1; SELECT a, b, SUM(b) OVER(ORDER BY b DESC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) sum FROM t1; @@ -36,10 +36,7 @@ SELECT a, b, SUM(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND SELECT a, b, SUM(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) sum FROM t1; SELECT a, b, SUM(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) sum FROM t1; SELECT a, b, SUM(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) sum FROM t1; - ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY SELECT a, b, SUM(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) sum FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, SUM(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) sum FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs166_win_frame_var_pop.test b/mysql-test/columnstore/basic/t/mcs166_win_frame_var_pop.test index 5e52031b1..7a1aa4595 100644 --- a/mysql-test/columnstore/basic/t/mcs166_win_frame_var_pop.test +++ b/mysql-test/columnstore/basic/t/mcs166_win_frame_var_pop.test @@ -36,10 +36,7 @@ SELECT a, b, VAR_POP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING SELECT a, b, VAR_POP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VAR_POP FROM t1; SELECT a, b, VAR_POP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VAR_POP FROM t1; SELECT a, b, VAR_POP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VAR_POP FROM t1; - ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY SELECT a, b, VAR_POP(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_POP FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, VAR_POP(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_POP FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs167_win_frame_var_samp.test b/mysql-test/columnstore/basic/t/mcs167_win_frame_var_samp.test index 07eee777f..c4875b402 100644 --- a/mysql-test/columnstore/basic/t/mcs167_win_frame_var_samp.test +++ b/mysql-test/columnstore/basic/t/mcs167_win_frame_var_samp.test @@ -36,10 +36,7 @@ SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VAR_SAMP FROM t1; SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VAR_SAMP FROM t1; SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VAR_SAMP FROM t1; - ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY SELECT a, b, VAR_SAMP(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_SAMP FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, VAR_SAMP(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VAR_SAMP FROM t1; # Clean UP diff --git a/mysql-test/columnstore/basic/t/mcs168_win_frame_variance.test b/mysql-test/columnstore/basic/t/mcs168_win_frame_variance.test index bb05445a7..5b06de80b 100644 --- a/mysql-test/columnstore/basic/t/mcs168_win_frame_variance.test +++ b/mysql-test/columnstore/basic/t/mcs168_win_frame_variance.test @@ -36,10 +36,7 @@ SELECT a, b, VARIANCE(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING SELECT a, b, VARIANCE(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) VARIANCE FROM t1; SELECT a, b, VARIANCE(b) OVER(PARTITION BY a ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VARIANCE FROM t1; SELECT a, b, VARIANCE(b) OVER(PARTITION BY b ORDER BY b ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) VARIANCE FROM t1; - ---error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY SELECT a, b, VARIANCE(b) OVER(PARTITION BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VARIANCE FROM t1; ---error ER_WRONG_TYPE_FOR_RANGE_FRAME SELECT a, b, VARIANCE(b) OVER(ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) VARIANCE FROM t1; # Clean UP diff --git a/tests/scripts/fullmtr.sh b/tests/scripts/fullmtr.sh index f1e3cae61..53f5ef20f 100644 --- a/tests/scripts/fullmtr.sh +++ b/tests/scripts/fullmtr.sh @@ -1,20 +1,41 @@ +SCRIPT_LOCATION=$(dirname "$0") +COLUMNSTORE_MTR_SOURCE=$(realpath $SCRIPT_LOCATION/../../mysql-test/columnstore) +INSTALLED_MTR_PATH='/usr/share/mysql/mysql-test' +COLUMSNTORE_MTR_INSTALLED=${INSTALLED_MTR_PATH}/suite/columnstore + CURRENT_DIR=`pwd` mysql -e "create database if not exists test;" SOCKET=`mysql -e "show variables like 'socket';" | grep socket | cut -f2` -cd /usr/share/mysql/mysql-test -./mtr --force --max-test-fail=0 --testcase-timeout=60 --extern socket=$SOCKET --suite=columnstore/basic $1 | tee $CURRENT_DIR/mtr.basic.log 2>&1 -if [[ $1 != '' ]]; then +cd ${INSTALLED_MTR_PATH} + +if [[ ! -d ${COLUMSNTORE_MTR_INSTALLED} ]]; then + echo ' ・ Adding symlink for columnstore tests to ${COLUMSNTORE_MTR_INSTALLED} from ${COLUMNSTORE_MTR_SOURCE} ' + ln -s ${COLUMNSTORE_MTR_SOURCE} ${COLUMSNTORE_MTR_INSTALLED} +fi + + +if [[ ! -d '/data/qa/source/dbt3/' || ! -d '/data/qa/source/ssb/' ]]; then + echo ' ・ Downloading and extracting test data for full MTR to /data' + bash -c "wget -qO- https://cspkg.s3.amazonaws.com/mtr-test-data.tar.lz4 | lz4 -dc - | tar xf - -C /" +fi +run_suite() +{ + ./mtr --force --max-test-fail=0 --testcase-timeout=60 --extern socket=$SOCKET --suite=columnstore/$1 $2 | tee $CURRENT_DIR/mtr.$1.log 2>&1 +} + +if (( $# == 2 )); then + run_suite $1 $2 exit 1 fi -./mtr --force --max-test-fail=0 --testcase-timeout=60 --extern socket=$SOCKET --suite=columnstore/setup | tee $CURRENT_DIR/mtr.setup.log 2>&1 -./mtr --force --max-test-fail=0 --testcase-timeout=60 --extern socket=$SOCKET --suite=columnstore/bugfixes | tee $CURRENT_DIR/mtr.bugfixes.log 2>&1 -./mtr --force --max-test-fail=0 --testcase-timeout=60 --extern socket=$SOCKET --suite=columnstore/devregression | tee $CURRENT_DIR/mtr.devregression.log 2>&1 -./mtr --force --max-test-fail=0 --testcase-timeout=60 --extern socket=$SOCKET --suite=columnstore/autopilot | tee $CURRENT_DIR/mtr.autopilot.log 2>&1 -./mtr --force --max-test-fail=0 --testcase-timeout=60 --extern socket=$SOCKET --suite=columnstore/extended | tee $CURRENT_DIR/mtr.extended.log 2>&1 -./mtr --force --max-test-fail=0 --testcase-timeout=60 --extern socket=$SOCKET --suite=columnstore/multinode | tee $CURRENT_DIR/mtr.multinode.log 2>&1 -./mtr --force --max-test-fail=0 --testcase-timeout=60 --extern socket=$SOCKET --suite=columnstore/oracle | tee $CURRENT_DIR/mtr.oracle.log 2>&1 -./mtr --force --max-test-fail=0 --testcase-timeout=60 --extern socket=$SOCKET --suite=columnstore/1pmonly | tee $CURRENT_DIR/mtr.1pmonly.log 2>&1 +run_suite setup +run_suite bugfixes +run_suite devregression +run_suite autopilot +run_suite extended +run_suite multinode +run_suite oracle +run_suite 1pmonly cd -