Bug #23211 Table status for innodb tables show "innodb free" 2 times
Submitted: 12 Oct 2006 12:11 Modified: 12 Oct 2006 13:20
Reporter: Heikki Tuuri Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.0.21 OS:
Assigned to: CPU Architecture:Any

[12 Oct 2006 12:11] Heikki Tuuri
Description:
Quoting Dominik Klein:

http://lists.mysql.com/mysql/202569
"
I recently deleted about 7.000.000 rows from a table, there are about 
4.000.000 left.
So I want to know how much space is free in table space now and execute:

mysql> show table status like "table"\G
*************************** 1. row ***************************
            Name: table
          Engine: InnoDB
         Version: 10
      Row_format: Compact
            Rows: 4354196
  Avg_row_length: 210
     Data_length: 917536768
Max_data_length: 0
    Index_length: 2294349824
       Data_free: 0
  Auto_increment: 35040856
     Create_time: 2006-10-12 10:29:36
     Update_time: NULL
      Check_time: NULL
       Collation: latin1_german1_ci
        Checksum: NULL
  Create_options:
         Comment: InnoDB free: 6144 kB; InnoDB free: 1762304 kB
1 row in set (0,26 sec)

Why does it show two values for InnoDB free? Which one is correct?

I use MySQL 5.0.21

Regards
Dominik
"

"
> what does SHOW TABLE STATUS show for other tables?

It shows 2 values for about 3 of 260 tables. So most tables are okay. It
does not seem to depend on table size, as the other tables only have a
few hundred rows.

> Are you using innodb_file_per_table?

Yes.
"

How to repeat:
Do not know.
[12 Oct 2006 12:46] Marko Mäkelä
The string "InnoDB free: " or "; InnoDB free:" is appended to the table comment by the method ha_innobase::update_table_comment() while holding srv_dict_tmpfile_mutex.

My only explanation for this behaviour is that MySQL stores the result of ha_innobase::update_table_comment() and invokes the method again.

It has been argued in the past that the table comment is the wrong place for this piece of information. I am not sure how the bug should be fixed, but I think that it needs to be addressed on the MySQL layer. Therefore, I am changing the category and assigning this bug away from me.
[12 Oct 2006 13:15] Valeriy Kravchuk
Thank you for a problem report. Any exact steps to get this each and every time are still needed. Do you have any ideas (like innodb_file_per_table used, some specific SQL or configuration)?
[12 Oct 2006 13:18] Dominik Klein
Please read this. This is no bug.

http://lists.mysql.com/mysql/202576
[12 Oct 2006 13:20] Heikki Tuuri
Dominik,

thank you :).

Heikki