diff options
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/gis.result | 29 | ||||
-rw-r--r-- | mysql-test/r/select.result | 4 | ||||
-rw-r--r-- | mysql-test/r/select_jcl6.result | 4 | ||||
-rw-r--r-- | mysql-test/r/select_pkeycache.result | 4 | ||||
-rw-r--r-- | mysql-test/t/gis.test | 38 | ||||
-rw-r--r-- | mysql-test/t/select.test | 1 |
6 files changed, 71 insertions, 9 deletions
diff --git a/mysql-test/r/gis.result b/mysql-test/r/gis.result index 649c3aba32f..484d2ba4277 100644 --- a/mysql-test/r/gis.result +++ b/mysql-test/r/gis.result @@ -3749,5 +3749,34 @@ ERROR HY000: Illegal parameter data type geometry for operation 'ceiling' SELECT FLOOR(POINT(1,1)); ERROR HY000: Illegal parameter data type geometry for operation 'floor' # +# MDEV-12239 Add Type_handler::Item_sum_{sum|avg|variance}_fix_length_and_dec() +# +CREATE TABLE t1 (a GEOMETRY); +SELECT SUM(POINT(1,1)) FROM t1; +ERROR HY000: Illegal parameter data type geometry for operation 'sum' +SELECT SUM(a) FROM t1; +ERROR HY000: Illegal parameter data type geometry for operation 'sum' +SELECT SUM(COALESCE(a)) FROM t1; +ERROR HY000: Illegal parameter data type geometry for operation 'sum' +SELECT AVG(POINT(1,1)) FROM t1; +ERROR HY000: Illegal parameter data type geometry for operation 'avg' +SELECT AVG(a) FROM t1; +ERROR HY000: Illegal parameter data type geometry for operation 'avg' +SELECT AVG(COALESCE(a)) FROM t1; +ERROR HY000: Illegal parameter data type geometry for operation 'avg' +SELECT VARIANCE(POINT(1,1)) FROM t1; +ERROR HY000: Illegal parameter data type geometry for operation 'variance(' +SELECT VARIANCE(a) FROM t1; +ERROR HY000: Illegal parameter data type geometry for operation 'variance(' +SELECT VARIANCE(COALESCE(a)) FROM t1; +ERROR HY000: Illegal parameter data type geometry for operation 'variance(' +SELECT STDDEV(POINT(1,1)) FROM t1; +ERROR HY000: Illegal parameter data type geometry for operation 'std(' +SELECT STDDEV(a) FROM t1; +ERROR HY000: Illegal parameter data type geometry for operation 'std(' +SELECT STDDEV(COALESCE(a)) FROM t1; +ERROR HY000: Illegal parameter data type geometry for operation 'std(' +DROP TABLE t1; +# # End of 10.3 tests # diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result index a39ca3379c6..1a0ee6b743a 100644 --- a/mysql-test/r/select.result +++ b/mysql-test/r/select.result @@ -5263,9 +5263,7 @@ UNION ALL SELECT coalesce((avg(distinct (geomfromtext("point(25379 -22010)"))))) AS foo ; -coalesce((avg(distinct (geomfromtext("point(25379 -22010)"))))) -0.0000 -0.0000 +ERROR HY000: Illegal parameter data type geometry for operation 'avg' CREATE table t1(a text); INSERT INTO t1 VALUES (''), (''); SELECT avg(distinct(t1.a)) FROM t1, t1 t2 diff --git a/mysql-test/r/select_jcl6.result b/mysql-test/r/select_jcl6.result index 482fca0d530..ef4872d2bc9 100644 --- a/mysql-test/r/select_jcl6.result +++ b/mysql-test/r/select_jcl6.result @@ -5274,9 +5274,7 @@ UNION ALL SELECT coalesce((avg(distinct (geomfromtext("point(25379 -22010)"))))) AS foo ; -coalesce((avg(distinct (geomfromtext("point(25379 -22010)"))))) -0.0000 -0.0000 +ERROR HY000: Illegal parameter data type geometry for operation 'avg' CREATE table t1(a text); INSERT INTO t1 VALUES (''), (''); SELECT avg(distinct(t1.a)) FROM t1, t1 t2 diff --git a/mysql-test/r/select_pkeycache.result b/mysql-test/r/select_pkeycache.result index a39ca3379c6..1a0ee6b743a 100644 --- a/mysql-test/r/select_pkeycache.result +++ b/mysql-test/r/select_pkeycache.result @@ -5263,9 +5263,7 @@ UNION ALL SELECT coalesce((avg(distinct (geomfromtext("point(25379 -22010)"))))) AS foo ; -coalesce((avg(distinct (geomfromtext("point(25379 -22010)"))))) -0.0000 -0.0000 +ERROR HY000: Illegal parameter data type geometry for operation 'avg' CREATE table t1(a text); INSERT INTO t1 VALUES (''), (''); SELECT avg(distinct(t1.a)) FROM t1, t1 t2 diff --git a/mysql-test/t/gis.test b/mysql-test/t/gis.test index c486484f0d2..1d86a64fc59 100644 --- a/mysql-test/t/gis.test +++ b/mysql-test/t/gis.test @@ -1915,6 +1915,44 @@ SELECT CEILING(POINT(1,1)); --error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION SELECT FLOOR(POINT(1,1)); + +--echo # +--echo # MDEV-12239 Add Type_handler::Item_sum_{sum|avg|variance}_fix_length_and_dec() +--echo # + +CREATE TABLE t1 (a GEOMETRY); + +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT SUM(POINT(1,1)) FROM t1; +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT SUM(a) FROM t1; +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT SUM(COALESCE(a)) FROM t1; + +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT AVG(POINT(1,1)) FROM t1; +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT AVG(a) FROM t1; +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT AVG(COALESCE(a)) FROM t1; + +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT VARIANCE(POINT(1,1)) FROM t1; +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT VARIANCE(a) FROM t1; +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT VARIANCE(COALESCE(a)) FROM t1; + +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT STDDEV(POINT(1,1)) FROM t1; +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT STDDEV(a) FROM t1; +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT STDDEV(COALESCE(a)) FROM t1; + +DROP TABLE t1; + + --echo # --echo # End of 10.3 tests --echo # diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test index a0caf4992bf..e8d5f9fa445 100644 --- a/mysql-test/t/select.test +++ b/mysql-test/t/select.test @@ -4427,6 +4427,7 @@ DROP TABLE t1; --echo # Bug #57203 Assertion `field_length <= 255' failed. --echo # +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION SELECT coalesce((avg(distinct (geomfromtext("point(25379 -22010)"))))) UNION ALL SELECT coalesce((avg(distinct (geomfromtext("point(25379 -22010)"))))) |