WL#3659: Deprecate table_type system variable

Affects: Server-6.0   —   Status: Complete

According to
http://dev.mysql.com/doc/refman/5.1/en/mysql-5-2-plans.html
the table_type system variable is deprecated in MySQL 5.0 and
5.1 and will be removed in MySQL 5.2. A replacement for the
variable -- storage_engine -- has been available since 4.1.2.
Magnus Svensson has a patch for the removal:
bk commit - 5.2 tree (msvensson:1.2352)

Due to the deprecated status of this variable, bugs relating
to it will not be fixed. For 5.1 and earlier, the recommended 
alternative solution to using table_type is to use the storage_engine
system variable instead. 

A deprecation warning has been added for these statements in
5.0 and 5.1. 
Tasks
-----

- Inform Support, Professional Services, Docs, Build,
Certification team, Community team, Knowledge base team,
Sales, Product Management and all devs of the deprecation
decision. (Trudy)
* Done.

- Add a deprecation warning for these statements in the 5.0 and 5.1 MySQL
Reference Manuals. (Docs team)
* Done.

- Add a deprecation warning for these statements in MySQL versions 5.0 and
5.1.
* Done.

- Set all related bugs to 'won't fix'; include a comment explaining the
deprecation decision, current workaround and future plans for improvement (if
any). (Trudy)
* Done.

- Comment out/remove the related code from version 5.2 of MySQL. (Serg)
* Done.

- Test to verify that all necessary code has been properly disabled in version
5.2 of MySQL. (QA)
* Done.

- Modify http://dev.mysql.com/doc/refman/5.1/en/mysql-5-2-plans.html to
state that table_type has been removed. (Docs)
* Done.
Deprecate using the WARN_DEPRECATED macro for this, examples:

      WARN_DEPRECATED(yythd, "5.2", "TYPE=storage_engine",
                      "'ENGINE=storage_engine'");
      WARN_DEPRECATED(yythd, "5.2", "BACKUP TABLE",
                      "MySQL Administrator (mysqldump, mysql)");

Per Serg Golubchik:
This generates correct deprecated warning and (!) guarantees that the feature
will removed in the specified version (e.g. 5.2 in this example).
WARN_DEPRECATED generates a warning "will be deprecated in version XXX" -- and
requires the version in which the code will stop working to be explicitly
specified. An assert guarantees that the deprecated item will not be used after
version XXX, by causing the code to stop working and start crashing. So it is
vital that we remove the code cleanly before a 5.2 build is released.