WL#11571: Deprecate Shared tablespaces in partitioned table
Affects: Server-8.0
—
Status: Complete
WL#9286 aims to provide encryption for general/shared tablespaces. Currently in InnoDB, for a shared tablespace, we don't have a mechanism to keep pages for few tables encrypted and for unencrypted. Thus decision was taken to disallow usage of shared tablespaces in partitioned table in MySQL 8.0 and deprecating the same in MySQL 5.7.
FR1 : Whenever a partition of a tablespace is created/moved to be in a shared tablespace, this operation should be successful but there should be a warning thrown : Warnings: Warning 1681 'InnoDB : A table partition in a shared tablespace' is deprecated and will be removed in a future release.
Add a new function which, given a name of tablespace, checks if tablespace is shared or not. /** Check if tablespace is shared tablespace. @param[in] tablespace_name Name of the tablespace @return true if tablespace is a shared tablespace. */ bool is_shared_tablespace(const char *tablespace_name) {} While Creating a new - partition table - Adding a new partition - Altering an existing partition if tablespace used is shared tablespace, then return warning. ha_innopart::create( ha_innopart::create_new_partition( ha_innopart::prepare_inplace_alter_table( And this applies for sub-partitions as well.
Copyright (c) 2000, 2024, Oracle Corporation and/or its affiliates. All rights reserved.