WL#13537: Deprecate display width and UNSIGNED for the YEAR datatype

Affects: Server-8.0   —   Status: Complete

Since support for YEAR(2) was removed, MySQL now only supports YEAR(4) and YEAR.
YEAR(4) is a synonym for YEAR - they have exactly the same behavior.

This worklog is about deprecating YEAR(4), so only YEAR remains.
At the same time, this worklog deprecates UNSIGNED used for YEAR. UNSIGNED is not 
documented to work with YEAR and has no effect.

At the same time, we should change SHOW CREATE to output YEAR instead of YEAR(4). 
Currently YEAR(4) is shown even if the column was created as YEAR.
F-1: Creating a column as YEAR(4) shall give a deprecation warning.

F-2: Using YEAR(4) in a stored routine shall give a deprecation warning.

F-3: SHOW CREATE TABLE should not show display width for YEAR columns.

F-4: SHOW CREATE FUNCTION should not show display width for return values using 
YEAR.

F-5: INFORMATION_SCHEMA.COLUMNS should not show display width for YEAR columns. 
This applies both to tables and views.

F-6: INFORMATION_SCHEMA.ROUTINES should not show display width for return values 
using YEAR.

F-7: INFORMATION_SCHEMA.PARAMETERS should not show display width for stored 
routine parameters and return values using YEAR.

F-8: DESCRIBE for tables and views should not show display width for YEAR columns.

F-9: YEAR UNSIGNED shall give a deprecation warning stating that UNSIGNED is 
deprecated for YEAR columns.

Note that F-5 to F-8 do not apply to tables/views/routines that were created 
before this worklog. This is because INFORMATION_SCHEMA queries get data directly 
from the data dictionary and this worklog does not affect information already 
stored in the data dictionary. 

An exception is when an existing database is upgraded directly from 5.7 to a 
version containing this worklog. Due to the new transactional data dictionary 
introduced in 8.0, all dictionary information is recreated in such an upgrade so 
that definitions will be updated to not contain display width.