WL#3468: Deprecate LOAD DATA|TABLE FROM MASTER
Affects: Server-6.0 — Status: Complete — Priority: Low
Since the current implementation of LOAD DATA FROM MASTER and LOAD TABLE FROM MASTER is very limited, these statements are deprecated in versions 4.1, 5.0 and 5.1 of MySQL. We will introduce a more advanced technique (online backup) in a future (>5.1) version, that will have the added advantage of working with more storage engines. Due to the deprecated status of the statements, bugs relating to these statements will not be fixed. For 5.1 and earlier, the recommended alternative solution to using LOAD DATA|TABLE FROM MASTER is mysqldump on the master piped (or output copied) to the mysql client on the slave. This also has the advantage of working for all storage engines. Another alternative is mysqlhotcopy, which is faster because it does a binary copy, but works only for MyISAM tables. A deprecation warning has been added for these statements in 4.1, 5.0 and 5.1.
Tasks ----- - Inform Support, Professional Services (firstname.lastname@example.org), Docs (email@example.com), Build (firstname.lastname@example.org), Certification team (email@example.com), Community team (firstname.lastname@example.org), Knowledge base team (email@example.com), Sales (firstname.lastname@example.org), Product Management (email@example.com) and all devs (firstname.lastname@example.org) of the deprecation decision. (Trudy Pelzer) * Done. - Add a deprecation warning for these statements in the 4.1, 5.0 and 5.1 MySQL Reference Manuals. (Docs team). * Done. - Add a deprecation warning for these statements in MySQL versions 4.1, 5.0 and 5.1, include comment on reason and alternatives from HLD. (Andrei Elkin) * 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). (Andrei/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.
No LLD needed. -- Lars, 2006-08-31 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, 2017, Oracle Corporation and/or its affiliates. All rights reserved.