Bug #3094 SHOW TABLE STATUS can report Dynamic for MEMORY tables

Submitted: 7 Mar 2004 12:09 Modified: 10 Aug 2005 19:41
Reporter: Paul DuBois Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:3.23 OS:
Assigned to: Jim Winstead CPU Architecture:Any

[7 Mar 2004 12:09] Paul DuBois
Description:
The manual indicates that MEMORY tables use
fixed-length row format. However, under certain circumstances,
SHOW TABLE STATUS will report that the table has
Dynamic format.  I'll quote the relevant mail message
here:

From: Michael Widenius <monty@mysql.com>
Date: Sun, 7 Mar 2004 08:04:04 +0200
To: Sergei Golubchik <serg@mysql.com>, Paul DuBois <paul@mysql.com>
Cc: dev-public@mysql.com
Subject: Re: MERGE/MEMORY/BDB

Hi!

>>>>> "Sergei" == Sergei Golubchik <serg@mysql.com> writes:

Sergei> Hi!
Sergei> On Mar 03, Paul DuBois wrote:

<cut>

>> >@code{MEMORY} tables use a fixed record length format.
>> 
>> Always?  If I use a VARCHAR column, I get this:
>> 
mysql> CREATE TABLE mem (c VARCHAR(10)) ENGINE=MEMORY;
>> Query OK, 0 rows affected (0.00 sec)
>> 
mysql> SHOW TABLE STATUS LIKE 'mem'\G
>> *************************** 1. row ***************************
>> Name: mem
>> Type: HEAP
>> Row_format: Dynamic

<cut>

Sergei> Don't believe it. Try to insert few empty strings. Avg_row_length will
Sergei> still be 11.

Sergei> I would consider "Dynamic" above as a bug.
Sergei> (but I'm not 100% sure about it)
 
Yes, this is a bug.  HEAP tables uses internall always fixed size rows
(even if this should be fixed in the future)

Regards,
Monty

How to repeat:
See above.
[5 Aug 2005 20:19] 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/internals/27938
[8 Aug 2005 19:11] Jim Winstead
Fixed in 5.0.12.
[10 Aug 2005 19:41] Paul DuBois
Noted in 5.0.12 changelog.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.038 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.