Description:
It's possible to set the storage_engine (and table_type)
system variable to the name of a storage engine that
is not available.
How to repeat:
The following result was obtained on Mac OS X, which
does not support the BDB storage engine:
mysql> set storage_engine = bdb;
Query OK, 0 rows affected (0.00 sec)
mysql> select @@storage_engine;
+------------------+
| @@storage_engine |
+------------------+
| BDB |
+------------------+
1 row in set (0.00 sec)
mysql> show engines;
+------------+----------+------------------------------------------------------------+
| Engine | Support | Comment |
+------------+----------+------------------------------------------------------------+
| MyISAM | YES | Default engine as of MySQL 3.23 with great performance |
| HEAP | YES | Alias for MEMORY |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables |
| MERGE | YES | Collection of identical MyISAM tables |
| MRG_MYISAM | YES | Alias for MERGE |
| ISAM | NO | Obsolete storage engine, now replaced by MyISAM |
| MRG_ISAM | NO | Obsolete storage engine, now replaced by MERGE |
| InnoDB | YES | Supports transactions, row-level locking, and foreign keys |
| INNOBASE | YES | Alias for INNODB |
| BDB | NO | Supports transactions and page-level locking |
| BERKELEYDB | NO | Alias for BDB |
| NDBCLUSTER | DISABLED | Clustered, fault-tolerant, memory-based tables |
| NDB | DISABLED | Alias for NDBCLUSTER |
| EXAMPLE | NO | Example storage engine |
| ARCHIVE | NO | Archive storage engine |
| CSV | NO | CSV storage engine |
+------------+----------+------------------------------------------------------------+
16 rows in set (0.00 sec)
Note that the SHOW ENGINES output also no longer shows
any DEFAULT storage engine.