WL#8055: Consistent naming scheme for GIS functions - Deprecation


This WL is about cleaning up the GIS function namespace by
deprecating, removing and adding function names (aliases) in order to
make the naming scheme consistent and bring MySQL in line with other
major DBMSs.

The standard among DBMSs is to use an "ST_" prefix to function names,
as specified by SQL/MM. PostGIS, Oracle and most other systems follow
this naming scheme, while Microsoft SQL Server uses "ST" without the
underscore.

In MySQL, almost all GIS functions have multiple names. Most functions
have two names: one with an "ST_" prefix, and one without, e.g.,
"ST_SRID" and "SRID". Newer functions are implemented only with an
"ST_" prefix, while some older functions only have a name without the
prefix.

Some functions have two implementations: one that gives an exact
answer, and one "MBR" implementation that uses a minimum bounding
rectangle instead of the exact shape of objects, e.g., "ST_Contains"
and "MBRContains". For most of these functions, there is also a third
name without a prefix, e.g., "Contains". The name without a prefix
mostly points to the MBR functions, but not always.

In one case, the non-prefixed function name collides with an existing
function, so the non-prefixed version of "ST_Length" is "GLength"
("Length" calculates the length of a string).

This WL will standardize on "ST_" prefixed functions by making the
following changes:

 - Add "ST_" prefixed function names for functions that don't have
   them (except "MBR" prefixed functions).

 - Deprecate function names without an "ST_" or "MBR" prefix.

The only exception to this standardization is the geometry object
construction functions Point, LineString, Polygon, MultiPoint,
MultiLineString, MultiPolygon and GeometryCollection. These functions
have the same name as the corresponding column type and will not be
deprecated or receive an "ST_" prefix.

In total, 66 function names are deprecated, and 13 are added.