WL#12391: Deprecate unsigned attribute for DECIMAL and FLOAT data types

Affects: Server-8.0   —   Status: Complete

Deprecate the UNSIGNED attribute for DECIMAL, DOUBLE and FLOAT data types.
Unlike for the integer data types, the UNSIGNED attribute does not change the
range for these data types, it simply means that it is impossible to insert
negative values into the columns. As such, it is only a very simple check
constraint, and using a general check constraint would be more consistent.

When this feature is removed, the unsigned attribute for columns in existing
tables will be ignored and negative values will be allowed. Thus, replicating to
a lower version with SBR might cause rejections and thus cause broken replication.
F-1: Creating a table with a DOUBLE/FLOAT/REAL/DECIMAL UNSIGNED column
shall give a deprecation warning. This includes using CREATE TABLE LIKE and
CREATE TABLE SELECT

F-2: Adding a DOUBLE/FLOAT/REAL/DECIMAL UNSIGNED column to an existing 
table shall give a deprecation warning.

F-3: Modifying an existing column to make it a DOUBLE/FLOAT/REAL/DECIMAL UNSIGNED 
column shall give a deprecation warning.

NF-4: Other table changes (e.g. altering a table already 
containing a FLOAT UNSIGNED column) shall not give a deprecation warning.

F-5: Use of DOUBLE/FLOAT/REAL/DECIMAL UNSIGNED in CREATE PROCEDURE/FUNCTION 
statements (e.g. OUT parameter) shall give a deprecation warning.

NF-6: Creating DOUBLE/FLOAT/REAL/DECIMAL ZEROFILL columns shall not give a 
deprecation warning even if ZEROFILL implies UNSIGNED. See WL#13127 for 
deprecation of ZEROFILL.

The deprecation warning is:
"UNSIGNED for decimal and floating point data types is deprecated and support for 
it will be removed in a future release."