WL#5154: Remove deprecated 4.1 features

Affects: Server-5.1   —   Status: Complete

Several items said to be deprecated in the 4.1 manual have never been removed. 
That's a long time ago, they should have been removed by now. The --safe-show-
database option in particular is worthless because as of 4.0.2 it does nothing, 
anyway.

mysqld:

--log-long-format (current is --log-short-format)
--default-character-set (use --character-set-server)
--default-collation (use --collation-server)
--safe-show-database (does nothing since 4.0.2)

mysql:

--no-auto-rehash (use --skip-auto-rehash)
--no-pager (use --skip-pager)

mysqlbinlog:

--position (use --start-position)

mysqldump:

--first-slave/-x (use --lock-all-tables)
--no-set-names (use --skip-set-charset)

general:

--set-variable/-O (just set the variable directly: --var_name=value)


For bonus points, we could also remove these items which are  deprecated in the 
5.0 manual but still have not been removed.

mysqld:

log_bin_trust_routine_creators (use log_bin_trust_function_creators)
--log-bin-trust-routine-creators (use --log-bin-trust-function-creators)
sql_log_update (mapped to sql_log_bin)
FRAC_SECOND modifier for TIMESTAMPADD() (use MICROSECOND)

mysql:

--no-named-commands (use --skip-named-commands)
-L (use --skip-line-numbers)
-N (use --skip-column-names)

mysqld_multi:

--config-file (use --defaults-extra-file)


Final decision about preceding items:

The following list describes which items are to be deprecated and
removed. In a few cases, we decided to retain an item.  The list
shows current behavior for each item, and the actions to be taken
for each one.  ("Current behavior" was tested against 5.1.42)

Deprecation actions apply in 5.0, 5.1, and Betony.
Removal of deprecated items applies in Celosia.

For each "deprecate and add warning" action, it should be understood
that there is a matching "remove deprecated code from Celosia code
base" action.

mysqld:

--log-long-format (and -0)

Current behavior: No warning message is given if this option is used.
                Option is deprecated in --help text.
Action:           Deprecate both --log-long-format and -0,
                issue warning message if option is used
                (--log-short-format is preferred)

--default-character-set (and -C)

Current behavior: No warning message is given if this option is used.
                Option is deprecated in --help text.
Action:           Deprecate both --default-character-set and -C.
                Issue warning message if option is used.
                (--character-set-server is preferred)

--default-collation

Current behavior: No warning message is given if this option is used.
                Option is deprecated in --help text.
Action:           Deprecate --default-collation.
                Issue warning message if option is used.
                (--collation-server is preferred)

--safe-show-database

Current behavior: No warning message is given if this option is used.
                Option is deprecated in --help text.
Action:           Deprecate --safe-show-database.
                Issue warning message if option is used.
                (GRANT SHOW DATABASES is preferred)

--log-bin-trust-routine-creators (use --log-bin-trust-function-creators)

Current behavior: No warning message is given if this option is used.
                Option is deprecated in --help text.
Action:           Deprecate --log-bin-trust-routine-creators.
                Issue warning message if option is used.
                (--log-bin-trust-function-creators is preferred)

log_bin_trust_routine_creators

Current behavior: A warning is generated if this variable is set at runtime.
                (But the message says MySQL 6.0)
Action:           Update version number in warning message.

sql_log_update

Current behavior: A warning is generated if this variable is set at runtime.
                (But the message has no version number.)
Action:           Add version number in warning message.

FRAC_SECOND modifier for TIMESTAMPADD() function

Current behavior: A warning message is given if this modifier is used.
                (But the message says MySQL 6.2)
Action:           Update version number in warning message.

mysql:

--no-auto-rehash (and -A)

Current behavior: No warning message is given if this option is used.
                Option is deprecated in --help text.
Action:           We WILL NOT deprecate these options.
                Remove deprecation notice from program --help text.
                Remove deprecation notice from manual.


--no-pager (use --skip-pager)

Current behavior: Warning message is given if this option is used.
                (--skip-pager is preferred)
                Option is deprecated in --help text.
Action:           Deprecate --no-pager.
                Add version to warning message.

--no-named-commands

Current behavior: No warning message is given if this option is used.
                Option is deprecated in --help text.
Action:           Deprecate --no-named-commands
                Issue warning message if option is used.
                (--skip-named-commands is preferred)

-L (short form of --skip-line-numbers)

Current behavior: -L is deprecated in --help text.
Action:           We WILL NOT deprecate -L.
                Remove deprecation notice from program --help text.
                Remove deprecation notice from manual.

-N (short form of --skip-column-names)

Current behavior: -N is deprecated in --help text.
Action:           We WILL NOT deprecate -N.
                Remove deprecation notice from program --help text.
                Remove deprecation notice from manual.

mysqlbinlog:

--position (and -j)

Current behavior: No warning message is given if this option is used.
                Option is deprecated in --help text.
Action:           Deprecate --position.
                Issue warning message if option is used.
                (--start-position is preferred)
                DO NOT deprecate -j; retain it, but associate it with
                --start-position.
                Remove deprecation of -j from program --help text
                (and associate it with --start-position instead).
                Remove deprecation notice for -j from manual
                (and associate it with --start-position instead).

mysqldump:

--first-slave (and -x)

Current behavior: No warning message is given if this option is used.
                Option is deprecated in --help text.
Action:           Deprecate --first-slave.
                Issue warning message if option is used.
                (--lock-all-tables is preferred)
                DO NOT deprecate -x; retain it. (It is already
                associated with --lock-all-tables as well, so
                retain that association.)

--no-set-names (and -N)

Current behavior: No warning message is given if this option is used.
                Option is deprecated in --help text.
Action:           We WILL NOT deprecate these options.
                Remove deprecation notice from program --help text.
                Remove deprecation notice from manual.

mysqld_multi:

--config-file (use --defaults-extra-file)

Current behavior: No warning message is given if this option is used.
                Option is deprecated in --help text.
Action:           Deprecate --config-file.
                Issue warning message if option is used.
                (--defaults-extra-file is preferred)

general-purpose option:

--set-variable (and -O)

This syntax is used in lots of programs. The Action applies to all.

Current behavior: No warning message is given if this option is used.
                Option is deprecated in --help text.
Action:           Deprecate --set-variable and -O.
                Issue warning message if option is used.
                (--variable-name=value is preferred)