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."
Copyright (c) 2000, 2020, Oracle Corporation and/or its affiliates. All rights reserved.