Bug #62269 | CREATE TABLE...ENGINE=innodb; Does not fail if InnoDB couldn't load, MyISAM used | ||
---|---|---|---|
Submitted: | 26 Aug 2011 15:46 | Modified: | 27 Aug 2011 9:21 |
Reporter: | Brad House | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server: General | Severity: | S2 (Serious) |
Version: | 5.1.54 | OS: | Linux (Ubuntu 11.04 amd64) |
Assigned to: | CPU Architecture: | Any |
[26 Aug 2011 15:46]
Brad House
[26 Aug 2011 16:03]
MySQL Verification Team
Could you please try the sql_mode: NO_ENGINE_SUBSTITUTION. Thanks.
[26 Aug 2011 16:59]
Brad House
That does appear to correct the issue. But it is a concern that this is not the default. Blind substitution is obviously not desirable
[27 Aug 2011 9:21]
Valeriy Kravchuk
This is documented at http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html#sqlmode_no_engine_substitution: "As of MySQL 5.1.12, storage engines can be pluggable at runtime, so the distinction between disabled and invalid no longer applies. All unavailable engines are treated the same way: With NO_ENGINE_SUBSTITUTION disabled, for CREATE TABLE the default engine is used and a warning occurs if the desired engine is unavailable. For ALTER TABLE, a warning occurs and the table is not altered. With NO_ENGINE_SUBSTITUTION enabled, an error occurs and the table is not created or altered if the desired engine is unavailable." So, this is not a bug.