diff options
Diffstat (limited to 'mysql-test/main/gis.test')
-rw-r--r-- | mysql-test/main/gis.test | 75 |
1 files changed, 74 insertions, 1 deletions
diff --git a/mysql-test/main/gis.test b/mysql-test/main/gis.test index ff09a098107..e897086ed47 100644 --- a/mysql-test/main/gis.test +++ b/mysql-test/main/gis.test @@ -2648,7 +2648,6 @@ SELECT ST_SRID(1); --error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION SELECT ST_SRID('test'); - --echo # Item_bool_func_args_geometry --error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION @@ -3043,3 +3042,77 @@ SELECT IS_USED_LOCK(POINT(1,1)); --echo # --echo # End of 10.3 tests --echo # + +--echo # +--echo # Start of 10.4 tests +--echo # + +--echo # +--echo # MDEV-16351 JSON_OBJECT() treats hybrid functions with boolean arguments as numbers +--echo # + +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT ST_SRID(TRUE); +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT ST_SRID(COALESCE(TRUE,TRUE)); + +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1),(2),(3); +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT ST_SRID((SELECT MAX(a)>3 FROM t1)); +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT ST_SRID(MAX(a>3)) FROM t1; +--error ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION +SELECT ST_SRID((SELECT MAX(a>3) FROM t1)); +DROP TABLE t1; + +--echo # +--echo # Mixing GEOMETRY with HEX hybrid +--echo # + +SELECT 0x60=POINT(1,1), POINT(1,1)=0x60; + +CREATE TABLE t1 AS SELECT + COALESCE(0x60,POINT(1,1)), + COALESCE(POINT(1,1),0x60), + LEAST(0x60,POINT(1,1)), + LEAST(POINT(1,1),0x60); +SHOW CREATE TABLE t1; +DROP TABLE t1; + +--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION +SELECT 0x60+POINT(1,1); +--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION +SELECT POINT(1,1)+0x60; + +--echo # +--echo # MDEV-16454 Bad results for IN with ROW +--echo # + +--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION +SELECT (1,0) IN ((POINT(1,1),0),(0,0)); +--error ER_ILLEGAL_PARAMETER_DATA_TYPES2_FOR_OPERATION +SELECT (1,(0,0)) IN ((1,(POINT(1,1),0)),(0,(0,0))); + +--echo # +--echo # MDEV-19819 ALTER from POINT to LINESTRING erroneously preserves POINT values +--echo # + +CREATE TABLE t1 (a POINT) ENGINE=MyISAM; +INSERT INTO t1 VALUES (Point(0,0)); +--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD +ALTER TABLE t1 MODIFY a LINESTRING; +DROP TABLE t1; + +CREATE TABLE t1 (a LINESTRING); +CREATE TABLE t2 (a POINT); +INSERT INTO t2 VALUES (POINT(0,0)); +--error ER_TRUNCATED_WRONG_VALUE_FOR_FIELD +INSERT INTO t1 SELECT * FROM t2; +SELECT AsText(a) FROM t1; +DROP TABLE t1, t2; + + +--echo # +--echo # End of 10.4 tests +--echo # |