Bug #80739 Table '#sql-1a90_5' uses an extension that doesn't exist in this MySQL version
Submitted: 15 Mar 2016 10:01 Modified: 9 Mar 2018 8:51
Reporter: Shahriyar Rzayev Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S2 (Serious)
Version:5.7.11 OS:Any
Assigned to: CPU Architecture:Any

[15 Mar 2016 10:01] Shahriyar Rzayev
Description:
Simple step:

For our attention we could "create" MyISAM table with page compression and general tablespace

CREATE TABLE `sbtest2` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `k` int(10) unsigned NOT NULL DEFAULT '0',
  `c` char(120) NOT NULL DEFAULT '',
  `pad` char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `k_1` (`k`)
) /*!50100 TABLESPACE `s1` */ ENGINE=MyISAM AUTO_INCREMENT=1000001 DEFAULT CHARSET=utf8 MAX_ROWS=1000000 COMPRESSION='zlib'

So in general we should be able to alter engine:

mysql> alter table sbtest2 engine=innodb;
ERROR 1112 (42000): Table '#sql-45d7_2' uses an extension that doesn't exist in this MySQL version

Table '#sql-45d7_2' uses an extension that doesn't exist in this MySQL version -> which extension?

How to repeat:
See description

Suggested fix:
Maybe the error message should be improved or it must be prevented to create such table.
[15 Mar 2016 10:35] MySQL Verification Team
Hello Shahriyar,

Thank you for the report.

Thanks,
Umesh
[15 Mar 2016 10:36] MySQL Verification Team
-- Weird issue

CREATE TABLESPACE `s1` ADD DATAFILE 'ts1.ibd' ENGINE=INNODB;
DROP TABLE IF EXISTS sbtest1;
CREATE TABLE `sbtest1` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `k` int(10) unsigned NOT NULL DEFAULT '0',
  `c` char(120) NOT NULL DEFAULT '',
  `pad` char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `k_1` (`k`)
) ENGINE=InnoDB TABLESPACE=s1 AUTO_INCREMENT=685441 DEFAULT CHARSET=utf8 MAX_ROWS=1000000;
alter table sbtest1 engine=myisam;
alter table sbtest1 encryption='y';
alter table sbtest1 compression='zlib';
show create table sbtest1\G
alter table sbtest2 engine=innodb;

--

mysql> alter table sbtest2 engine=innodb;
ERROR 1112 (42000): Table '#sql-7af4_20' uses an extension that doesn't exist in this MySQL version
[18 Jul 2016 12:45] Shahriyar Rzayev
Same result if you try to alter tablespace of innodb table:

mysql> create table t1(id int not null);
Query OK, 0 rows affected (0.11 sec)

mysql> alter table t1 encryption='Y';
Query OK, 0 rows affected (0.15 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table t1 compression='zlib';
Query OK, 0 rows affected (0.14 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table t1 encryption='N';
Query OK, 0 rows affected (0.10 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table t1 tablespace=t1;
ERROR 1112 (42000): Table '#sql-1a90_5' uses an extension that doesn't exist in this MySQL version
[9 Mar 2018 8:51] Shahriyar Rzayev
Changed the synopsis