A Lightweight SQL Database for Cloud Infrastructure and Web Applications

can CREATE TABLE with ENUM column with > 2^16 values

Reported by Stewart Smith on 2010-06-03
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Drizzle
Medium
Stewart Smith
Dexter
Medium
Stewart Smith

Bug Description

If you CREATE TABLE with an ENUM column with 70,000 elements you get:

drizzle> source /tmp/a
Query OK, 0 rows affected (4 min 20 sec)

drizzle> show tables;
+----------------------+
| Tables_in_test |
+----------------------+
| too_many_enum_values |
+----------------------+
1 row in set (0 sec)

drizzle> insert into too_many_enum_values values (70000);
Query OK, 1 row affected (0.21 sec)

drizzle> select * from too_many_enum_values;
+-------------+
| many_values |
+-------------+
| a4463 |
+-------------+
1 row in set (0 sec)

Which is very wrong.

a) ENUM cannot have more than 2**16
b) incorrect data
c) over 4 minutes to run CREATE TABLE sets a new record.

Related branches

lp:~stewart/drizzle/bug579310-enum-type-cleanup
Jay Pipes: Pending requested 2010-06-04
Brian Aker: Pending requested 2010-06-04
Drizzle Developers: Pending requested 2010-06-04
Stewart Smith (stewart) wrote :

The MySQL bug is completely different, largely due to limits in the FRM file format:
http://bugs.mysql.com/bug.php?id=54194

i.e. the limit of the FRM file is 64kb-ish

Stewart Smith (stewart) on 2010-06-04
Changed in drizzle:
status: Confirmed → Fix Committed
Stewart Smith (stewart) on 2010-06-05
Changed in drizzle:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.