MySQL 5.7: неверные данные ГИС
Следующий запрос, кажется, работает очень хорошо под MySQL 5.6 (возвращает 0 для области), но на MySQL 5.7 он возвращает сообщение об ошибке ERROR 3037 (22023): Invalid GIS data provided to function st_area.
,
SELECT ST_Area(GeomFromText('POLYGON((0 0, 0 0, 0 0, 0 0, 0 0))'))
Можно ли либо игнорировать ошибку и вернуть ноль, либо создать запрос для фильтрации любых таких геометрий из запроса перед его выполнением?
Очень простой пример схемы и запроса:
CREATE TABLE `polygons` (`id` int, `geom` GEOMETRY);
INSERT INTO `polygons` VALUES (1, GeomFromText('POLYGON((0 0, 0 0, 0 0, 0 0, 0 0))'));
SELECT `id`, ST_Area(`geom`) FROM `polygons`;