WL#3468: Deprecate LOAD DATA|TABLE FROM MASTER

Affects: Server-6.0   —   Status: Complete

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
(ps@mysql.com), Docs (docs-requests@mysql.com), Build (build-private@mysql.com),
Certification team (certification@mysql.com), Community team
(community-private@mysql.com), Knowledge base team (kb-private@mysql.com), Sales
(sales-private@mysql.com), Product Management (marketing-private@mysql.com) and 
all
devs (dev-public@mysql.com) 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.