Compatibilité Mysql 8

A partir de mysql 8.0, les fonctions spatiales sont préfixées par ST_ et les anciennes sont retirées.

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-0.html#mysqld-8-0-0-spatial-support

Des erreurs sont générées par AsText ici : https://git.spip.net/spip-contrib-extensions/gis_geometries/src/branch/master/gisgeom_pipelines.php#L64 https://git.spip.net/spip-contrib-extensions/gis_geometries/src/branch/master/gisgeom_pipelines.php#L242 alors qu'ici c'est bien ST_AsText qui est utilisée : https://git.spip.net/spip-contrib-extensions/gis_geometries/src/branch/master/gisgeom_fonctions.php#L154

Il semblerait que ST_AsText soit introduite à la version 5.7 : https://dev.mysql.com/doc/refman/5.6/en/fetching-spatial-data.html https://dev.mysql.com/doc/refman/5.7/en/fetching-spatial-data.html

Certes, les prérequis de SPIP jusqu'à 4.2 indiquent MySQL : 5.0 - 5.7, mais sur Ubuntu 20 server (et autres distribs déjà plus super récentes) c'est déjà nativement du Mysql 8.

Est ce qu'il faudrait faire un test sur la version de Mysql pour utiliser l'une ou l'autre fonction ?

Dans ce cas, il ne faut pas se baser sur la version de mysqlnd renvoyée par phpinfo() ou à mysqli_get_client_info(), équivalent, qui n'est pas corrélée à la version de Mysql (ça me renvoit 7.4.3 sur un Mysql 8.0), mais plutôt utiliser SHOW VARIABLES LIKE 'version' par exemple.

En attendant, je fais déjà une branche pour compat mysql8 en modifiant les deux appels dans gisgeom_pipelines.php