• Mattias Jonsson's avatar
    Bug#32430:'show innodb status' causes errors Invalid (old?) table · d0c9d4bf
    Mattias Jonsson authored
    or database name in logs
    
    Problem was that InnoDB used filenam_to_tablename,
    which do not handle partitions (due to the '#' in
    the filename).
    
    Solution is to add a new function for explaining
    what the filename means: explain_filename.
    It expands the database, table, partition and subpartition
    parts and uses errmsg.txt for localization.
    It also converts from my_charset_filename to system_charset_info
    (i.e. human readable form for non ascii characters).
      http://lists.mysql.com/commits/70370
    
    2773 Mattias Jonsson	2009-03-25
    
    It has three different output styles.
    
    NOTE: This is the server side ONLY part (introducing the explain_filename
    function). There will be a patch for InnoDB using this function to solve
    the bug.
    
    sql/mysql_priv.h:
      Bug#32430:'show innodb status' causes errors Invalid (old?) table
      or database name in logs
      
      Added EXPLAIN_FILENAME_MAX_EXTRA_LENGTH, enum_explain_filename_mode
      and explain_filename.
    sql/share/errmsg.txt:
      Bug#32430:'show innodb status' causes errors Invalid (old?) table
      or database name in logs
      
      Added localization names for Database, Table, Partition, Subpartition
      Temporary and Renamed.
    sql/sql_table.cc:
      Bug#32430:'show innodb status' causes errors Invalid (old?) table
      or database name in logs
      
      Added explain_filename function for giving better information
      to the user about a specific table/partitions file.
    d0c9d4bf
sql_table.cc 246 KB