Description:
When attempting to create a table with sql_mode NO_ENGINE_SUBSTITUTION for a DISABLED engine, you get an error message with 'UNKNOWN'.
In 5.0, appropriate message states 'InnodB' when this was used.
In 5.1.16 and 6.0.0 it shows UNKNOWN
In 5.1.19 you get a completely different error message.
How to repeat:
bin/mysqld_safe --skip-innodb &
bin/mysql -uroot test
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.0.37 |
+-----------+
1 row in set (0.01 sec)
mysql> set session sql_mode=NO_ENGINE_SUBSTITUTION;
Query OK, 0 rows affected (0.00 sec)
mysql> create table T2 (id INT UNSIGNED NOT NULL) ENGINE=InnoDB;
ERROR 1289 (HY000): The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to have it working
mysql> select version();
+-------------+
| version() |
+-------------+
| 6.0.0-alpha |
+-------------+
1 row in set (0.00 sec)
mysql> set session sql_mode=NO_ENGINE_SUBSTITUTION;
Query OK, 0 rows affected (0.00 sec)
mysql> create table T2 (id INT UNSIGNED NOT NULL) ENGINE=InnoDB;
ERROR 1289 (HY000): The 'UNKNOWN' feature is disabled; you need MySQL built with 'UNKNOWN' to have it working
mysql> select version();
+-------------+
| version() |
+-------------+
| 5.1.19-beta |
+-------------+
1 row in set (0.00 sec)
mysql> set session sql_mode=NO_ENGINE_SUBSTITUTION;
Query OK, 0 rows affected (0.00 sec)
mysql> create table T2 (id INT UNSIGNED NOT NULL) ENGINE=InnoDB;
ERROR 1286 (42000): Unknown table engine 'InnoDB'