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`;

0 ответов

Другие вопросы по тегам