Bug #49935 Create table & ROW_FORMAT
Submitted: 25 Dec 2009 6:23 Modified: 25 Jan 2010 7:39
Reporter: Nick Zakurin Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:5.5-m2 OS:Any
Assigned to: CPU Architecture:Any

[25 Dec 2009 6:23] Nick Zakurin
Description:
On create table:
--------------------------------------------------
CREATE TABLE `table1` (
  `ID` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `Name` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `ID` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 PACK_KEYS=0 ROW_FORMAT=DYNAMIC;
--------------------------------------------------
If delete option ROW_FORMAT=DYNAMIC then all OK!
--------------------------------------------------
In MySQL 5.5 Reference Manual
-----
For InnoDB tables, rows are stored in compact format (ROW_FORMAT=COMPACT) by default. The noncompact format used in older versions of MySQL can still be requested by specifying ROW_FORMAT=REDUNDANT. 

Note
When executing a CREATE TABLE statement, if you specify a row format which is not supported by the storage engine that is used for the table, the table is created using that storage engine's default row format.

How to repeat:
Can't create table 'test.table1' (errno: 1478)
[25 Dec 2009 7:39] Valeriy Kravchuk
Sorry, but I see only warning, both in 5.5.0-m2 and in 5.5.1-m2:

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysql -uroot test
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.0-m2-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> CREATE TABLE `table1` (
    ->   `ID` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
    ->   `Name` varchar(50) DEFAULT NULL,
    ->   PRIMARY KEY (`ID`),
    ->   UNIQUE KEY `ID` (`ID`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 PACK_KEYS=0 ROW_FORMAT=DYNAMIC;
Query OK, 0 rows affected, 2 warnings (0.22 sec)

mysql> show warnings\G
*************************** 1. row ***************************
  Level: Warning
   Code: 1478
Message: InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
*************************** 2. row ***************************
  Level: Warning
   Code: 1478
Message: InnoDB: assuming ROW_FORMAT=COMPACT.
2 rows in set (0.03 sec)

What sql mode do you use?
[26 Jan 2010 0:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".