| Bug #96963 | gis function incompatible between 5.6 vs 8.0 | ||
|---|---|---|---|
| Submitted: | 22 Sep 2019 14:51 | Modified: | 23 Sep 2019 16:43 |
| Reporter: | andy zhang | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Server: GIS | Severity: | S3 (Non-critical) |
| Version: | 8.0, 5.7.27, 8.0.17 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | gis spatial | ||
[22 Sep 2019 15:15]
MySQL Verification Team
Hello andy zhang, Thank you for the report. regards, Umesh
[23 Sep 2019 7:44]
Norvald Ryeng
Posted by developer: Confirmed bug in 5.6: Type checking is failing, and the server allows polygons to be stored in multipolygon columns. The problem is fixed in 5.7 and newer.
[23 Sep 2019 16:43]
andy zhang
Is it possible to let mysql 5.7 and 8.0 to behave like 5.6's. Some legacy application or data needs to allow the "failure". Can you provide a new sql option or variable.

Description: MySQL 8.0 spatial function differs from 5.6 on multiple polygons. In 5.6, polygon type can be input to a defined multiple polygon type, while in 8.0. an error will be thrown. How to repeat: CREATE TABLE gis_multi_polygon (fid INTEGER PRIMARY KEY AUTO_INCREMENT, g MULTIPOLYGON); In 8.0.13, insert into gis_multi_polygon values ( 120, ST_MPolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')); ERROR 3516 (22S01): WKT value is a geometry of unexpected type POLYGON in st_mpolyfromtext. While in 5.6 insert into gis_multi_polygon values ( 120, PolyFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')); Query OK, 1 row affected (0.01 sec)