Bug #8624 myisam_data_pointer_size ignored for tables with dynamic row sizes

Submitted: 19 Feb 2005 7:30 Modified: 30 Jun 2005 17:54
Reporter: Dean Ellis Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: MyISAM storage engine Severity:S3 (Non-critical)
Version:4.1.11 OS:
Assigned to: Dean Ellis CPU Architecture:Any

[19 Feb 2005 7:30] Dean Ellis
Description:
myisam_data_pointer_size is ignored (overruled) for tables with dynamic row sizes.

mi_get_pointer_length() (myisam/mi_create.c) returns a value calculated from file_length rather than the potentially larger def (from myisam_data_pointer_size).

How to repeat:
SET GLOBAL myisam_data_pointer_size=8;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( a VARCHAR(10) PRIMARY KEY );
SHOW TABLE STATUS LIKE 't1';

(or use myisamchk -dv)

Suggested fix:
Pass file_length of 0 when creating a new table with dynamic row sizes, or perhaps have the function return the larger of def and the length calculated from file_length.
[30 Jun 2005 17:54] Dean Ellis
Fixed in 4.1.13 while correcting bug #11226.

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

Page generated in 0.050 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.