WL#3659: Deprecate table_type system variable
Affects: Server-6.0 — Status: Complete — Priority: Low
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.
Copyright (c) 2000, 2016, Oracle Corporation and/or its affiliates. All rights reserved.