WL#6868: Support transportable tablespaces for single innodb partition

Affects: Server-5.7   —   Status: Complete

To enhance WL#6867, add
ALTER TABLE t DISCARD PARTITION {p[[,p1]..]|ALL} TABLESPACE;
ALTER TABLE t IMPORT PARTITION {p[[,p1]..]|ALL} TABLESPACE;

to allow the user to select a subset of all [sub]partitions to DISCARD/IMPORT
tablespaces for.

This would allow selective backup/restore/archive/transport of a set of
partitions instead of all partitions (as in WL#6867).

This WL will not include enhancing FLUSH TABLES FOR EXPORT to only export the
selected partitions!

Related bugs:
BUG#70196: DISCARD/IMPORT tablespace is not supported for partitioned InnoDB tables
FR1: The following new syntax should be supported (but only for partitioned tables!)
ALTER TABLE t DISCARD PARTITION {p[[,p1]..]|ALL} TABLESPACE;
ALTER TABLE t IMPORT PARTITION {p[[,p1]..]|ALL} TABLESPACE;

FR2: for sub-partitioned tables, both partition names as well as sub-partition
names are allowed. If a partition name is given, all sub-partitions within that
partition will be included.
The changes needed for this enhancement are:

Based on WL#6867.

sql_yacc.yy - Needs to support the new syntax.

mysql_discard_or_import_tablespace - Needs to mark which partitions that should
be used for the command.

ha_partition::discard_or_import_tablespace() - Should only forward the call to
the marked/specified partitions.
See rb#3919.