diff options
author | Alexander Barkov <bar@mariadb.org> | 2017-05-29 10:29:46 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.org> | 2017-05-29 10:29:46 +0400 |
commit | 8b68263a531bf6926afea71fe6eaf2ffd5a85049 (patch) | |
tree | 18f856a87aa714ddc48e292c0bded53faf95e08c /mysql-test/suite/innodb_gis | |
parent | 0f0bced885d6a6e6e494f227ac36419dd7bd3f80 (diff) | |
download | mariadb-git-8b68263a531bf6926afea71fe6eaf2ffd5a85049.tar.gz |
MDEV-12803 Improve function parameter data type control
Diffstat (limited to 'mysql-test/suite/innodb_gis')
-rw-r--r-- | mysql-test/suite/innodb_gis/r/1.result | 9 | ||||
-rw-r--r-- | mysql-test/suite/innodb_gis/r/gis.result | 9 | ||||
-rw-r--r-- | mysql-test/suite/innodb_gis/r/precise.result | 3 | ||||
-rw-r--r-- | mysql-test/suite/innodb_gis/t/1.test | 8 | ||||
-rw-r--r-- | mysql-test/suite/innodb_gis/t/gis.test | 7 | ||||
-rw-r--r-- | mysql-test/suite/innodb_gis/t/precise.test | 2 |
6 files changed, 18 insertions, 20 deletions
diff --git a/mysql-test/suite/innodb_gis/r/1.result b/mysql-test/suite/innodb_gis/r/1.result index 3ab57babc43..0c0c6834acf 100644 --- a/mysql-test/suite/innodb_gis/r/1.result +++ b/mysql-test/suite/innodb_gis/r/1.result @@ -1024,9 +1024,9 @@ f5 datetime YES NULL drop view v1; drop table t1; SELECT MultiPoint(12345,''); -ERROR 22007: Illegal non geometric '12345' value found during parsing +ERROR HY000: Illegal parameter data type int for operation 'geometrycollection' SELECT 1 FROM (SELECT GREATEST(1,GEOMETRYCOLLECTION('00000','00000')) b FROM DUAL) AS d WHERE (LINESTRING(d.b)); -ERROR 22007: Illegal non geometric ''00000'' value found during parsing +ERROR HY000: Illegal parameter data type varchar for operation 'geometrycollection' # # BUG#51875: crash when loading data into geometry function ST_polyfromwkb # @@ -1090,7 +1090,7 @@ ST_ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20))) # GEOMETRY FUNCTION ARGUMENTS # SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); -ERROR 22007: Illegal non geometric '' value found during parsing +ERROR HY000: Illegal parameter data type bigint for operation 'geometrycollection' End of 5.1 tests # # Bug#11908153: CRASH AND/OR VALGRIND ERRORS IN FIELD_BLOB::GET_KEY_IMAGE @@ -1489,5 +1489,4 @@ DROP DATABASE gis_ogs; # Bug#13362660 ASSERTION `FIELD_POS < FIELD_COUNT' FAILED. IN PROTOCOL_TEXT::STORE # SELECT ST_Union('', ''), md5(1); -ST_Union('', '') md5(1) -NULL c4ca4238a0b923820dcc509a6f75849b +ERROR HY000: Illegal parameter data type varchar for operation 'st_union' diff --git a/mysql-test/suite/innodb_gis/r/gis.result b/mysql-test/suite/innodb_gis/r/gis.result index beb411505f9..836a15bb295 100644 --- a/mysql-test/suite/innodb_gis/r/gis.result +++ b/mysql-test/suite/innodb_gis/r/gis.result @@ -1020,9 +1020,9 @@ f5 datetime YES NULL drop view v1; drop table t1; SELECT MultiPoint(12345,''); -ERROR 22007: Illegal non geometric '12345' value found during parsing +ERROR HY000: Illegal parameter data type int for operation 'geometrycollection' SELECT 1 FROM (SELECT GREATEST(1,GEOMETRYCOLLECTION('00000','00000')) b FROM DUAL) AS d WHERE (LINESTRING(d.b)); -ERROR 22007: Illegal non geometric ''00000'' value found during parsing +ERROR HY000: Illegal parameter data type varchar for operation 'geometrycollection' # # BUG#51875: crash when loading data into geometry function ST_polyfromwkb # @@ -1091,7 +1091,7 @@ ST_ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20))) # GEOMETRY FUNCTION ARGUMENTS # SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); -ERROR 22007: Illegal non geometric '' value found during parsing +ERROR HY000: Illegal parameter data type bigint for operation 'geometrycollection' End of 5.1 tests # # Bug#11908153: CRASH AND/OR VALGRIND ERRORS IN FIELD_BLOB::GET_KEY_IMAGE @@ -1481,5 +1481,4 @@ DROP DATABASE gis_ogs; # Bug#13362660 ASSERTION `FIELD_POS < FIELD_COUNT' FAILED. IN PROTOCOL_TEXT::STORE # SELECT ST_Union('', ''), md5(1); -ST_Union('', '') md5(1) -NULL c4ca4238a0b923820dcc509a6f75849b +ERROR HY000: Illegal parameter data type varchar for operation 'st_union' diff --git a/mysql-test/suite/innodb_gis/r/precise.result b/mysql-test/suite/innodb_gis/r/precise.result index 9d6538bc3ed..3c05b814602 100644 --- a/mysql-test/suite/innodb_gis/r/precise.result +++ b/mysql-test/suite/innodb_gis/r/precise.result @@ -216,8 +216,7 @@ st_u MULTIPOLYGON(((525400 18370,525000.9677614468 183300,525400 183300,525400 18370)),((525000 183300,525000 183700,525000.9677614468 183300,525000 183300)),((525265.58 183481.95,525263.95 183484.75,525260.7 183491.55,525276.79 183500,525278.39 183500.84,525278.63 183500.97,525280.98 183502.26,525283.17 183503.47,525289.11 183506.62,525296.42 183510.31,525296.57 183510.39,525298.67 183511.53,525302.81 183513.8,525304.5 183510.83,525307.85 183504.95,525304.45 183504.25,525301.75 183509.35,525283.55 183500,525282.2 183499.3,525282.3 183499.1,525280.35 183498.2,525275.5 183495.7,525276.5 183493.45,525278.97 183488.73,525265.58 183481.95),(525266.99 183484.33,525263.26 183491.55,525266.15 183493.04,525269.88 183485.82,525266.99 183484.33),(525272.06 183488.37,525268.94 183494.51,525271.94 183496.03,525275.06 183489.89,525272.06 183488.37))) SET @a=0x0000000001030000000200000005000000000000000000000000000000000000000000000000002440000000000000000000000000000024400000000000002440000000000000000000000000000024400000000000000000000000000000000000000000000000000000F03F000000000000F03F0000000000000040000000000000F03F00000000000000400000000000000040000000000000F03F0000000000000040000000000000F03F000000000000F03F; SELECT ST_ASTEXT(ST_TOUCHES(@a, ST_GEOMFROMTEXT('point(0 0)'))) t; -t -NULL +ERROR HY000: Illegal parameter data type int for operation 'st_astext' DROP TABLE IF EXISTS p1; CREATE PROCEDURE p1(dist DOUBLE, geom TEXT) BEGIN diff --git a/mysql-test/suite/innodb_gis/t/1.test b/mysql-test/suite/innodb_gis/t/1.test index cda4ef0afff..0dd4d3262a2 100644 --- a/mysql-test/suite/innodb_gis/t/1.test +++ b/mysql-test/suite/innodb_gis/t/1.test @@ -738,7 +738,7 @@ drop table t1; # Bug#44684: valgrind reports invalid reads in # Item_func_spatial_collection::val_str # ---error ER_ILLEGAL_VALUE_FOR_TYPE +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION SELECT MultiPoint(12345,''); #SELECT MultiPoint(123451,''); #SELECT MultiPoint(1234512,''); @@ -765,7 +765,7 @@ SELECT MultiPoint(12345,''); # # Bug55531 crash with conversions of geometry types / strings # ---error ER_ILLEGAL_VALUE_FOR_TYPE +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION SELECT 1 FROM (SELECT GREATEST(1,GEOMETRYCOLLECTION('00000','00000')) b FROM DUAL) AS d WHERE (LINESTRING(d.b)); @@ -868,7 +868,7 @@ SELECT ST_ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20))); --echo # GEOMETRY FUNCTION ARGUMENTS --echo # --replace_regex /non geometric .* value/non geometric '' value/ ---error ER_ILLEGAL_VALUE_FOR_TYPE +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); @@ -1449,5 +1449,5 @@ DROP DATABASE gis_ogs; --echo # Bug#13362660 ASSERTION `FIELD_POS < FIELD_COUNT' FAILED. IN PROTOCOL_TEXT::STORE --echo # -# --error ER_GIS_INVALID_DATA +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION SELECT ST_Union('', ''), md5(1); diff --git a/mysql-test/suite/innodb_gis/t/gis.test b/mysql-test/suite/innodb_gis/t/gis.test index d6de03a7e01..8087f6be82e 100644 --- a/mysql-test/suite/innodb_gis/t/gis.test +++ b/mysql-test/suite/innodb_gis/t/gis.test @@ -732,7 +732,7 @@ drop table t1; # Bug#44684: valgrind reports invalid reads in # Item_func_spatial_collection::val_str # ---error ER_ILLEGAL_VALUE_FOR_TYPE +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION SELECT MultiPoint(12345,''); #SELECT MultiPoint(123451,''); #SELECT MultiPoint(1234512,''); @@ -759,7 +759,7 @@ SELECT MultiPoint(12345,''); # # Bug55531 crash with conversions of geometry types / strings # ---error ER_ILLEGAL_VALUE_FOR_TYPE +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION SELECT 1 FROM (SELECT GREATEST(1,GEOMETRYCOLLECTION('00000','00000')) b FROM DUAL) AS d WHERE (LINESTRING(d.b)); @@ -870,7 +870,7 @@ SELECT ST_ISCLOSED(CONVERT(CONCAT(' ', 0x2), BINARY(20))); --echo # GEOMETRY FUNCTION ARGUMENTS --echo # --replace_regex /non geometric .* value/non geometric '' value/ ---error ER_ILLEGAL_VALUE_FOR_TYPE +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION SELECT GEOMETRYCOLLECTION((SELECT @@OLD)); @@ -1443,4 +1443,5 @@ DROP DATABASE gis_ogs; --echo # # --error ER_GIS_INVALID_DATA +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION SELECT ST_Union('', ''), md5(1); diff --git a/mysql-test/suite/innodb_gis/t/precise.test b/mysql-test/suite/innodb_gis/t/precise.test index 9174a100003..08b7e348362 100644 --- a/mysql-test/suite/innodb_gis/t/precise.test +++ b/mysql-test/suite/innodb_gis/t/precise.test @@ -140,7 +140,7 @@ ST_geomfromtext('POLYGON((525298.67 183511.53,525296.57 183491.55))'))) st_u; SET @a=0x0000000001030000000200000005000000000000000000000000000000000000000000000000002440000000000000000000000000000024400000000000002440000000000000000000000000000024400000000000000000000000000000000000000000000000000000F03F000000000000F03F0000000000000040000000000000F03F00000000000000400000000000000040000000000000F03F0000000000000040000000000000F03F000000000000F03F; -# --error ER_GIS_INVALID_DATA +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION SELECT ST_ASTEXT(ST_TOUCHES(@a, ST_GEOMFROMTEXT('point(0 0)'))) t; |