Bug #18934 InnoDB crashes when table uses column names like DB_ROW_ID
Submitted: 10 Apr 2006 10:34 Modified: 4 May 2006 12:56
Reporter: Osku Salerma
Status: Closed
Category:Server: InnoDB Severity:S2 (Serious)
Version:5.0, 5.1, possibly everything OS:Any (All)
Assigned to: Bugs System Target Version:

[10 Apr 2006 10:34] Osku Salerma
Description:
InnoDB crashes when a table uses column names like DB_ROW_ID:

mysql> create table t1 (DB_ROW_ID int) engine = innodb;
ERROR 2006 (HY000): MySQL server has gone away

The server dies with:

InnoDB: Assertion failure in thread 1568611248 in file dict0dict.c line 1376
InnoDB: Failing assertion: col2 == NULL

The problem is that InnoDB uses some DB_* column names internally for the system columns
in tables, and apparently fails to guard properly against the user using them. It should
either refuse such tables or allow the user to re-use the names, but not crash.

How to repeat:
See above.

Suggested fix:
See above.
[20 Apr 2006 14:42] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/5203
[20 Apr 2006 16:39] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/5209
[24 Apr 2006 13:31] Alexander Ivanov
Fixed in 4.1.19, 5.0.21, 5.1.10-beta.
[4 May 2006 12:56] MC Brown
Documented in the InnoDB section and 4.1, 5.0 and 5.1 changelogs.