Skip to content
  • Nisha Gopalakrishnan's avatar
    b8466d31
    BUG#27516741: MYSQL SERVER DOES NOT WRITE INNODB ROW_TYPE TO · b8466d31
    Nisha Gopalakrishnan authored
                  .FRM FILE WHEN DEFAULT USED
    
    Analysis
    ========
    SHOW CREATE TABLE for tables with implicitly or explicitly
    specified DEFAULT row format does not show the actual row
    format used by the table.
    
    The output of SHOW CREATE TABLE shows the actual row format used
    only when the actual format is explicitly specified in the
    CREATE TABLE statement. SHOW CREATE TABLE code suppresses displaying
    the actual row format if the row format is not specified at all, or
    if ROW_FORMAT = DEFAULT is explicitly specified. This may cause
    TTS table import to break if the destination server is using a
    different default row format than the server from which it is
    exported.
    
    Fix
    ===
    A new per-session dynamic system variable called 'show_create_table_verbosity'
    and a corresponding start-up option is introduced. The decision to add a new
    variable was in order to preserve the current behavior of SHOW CREATE TABLE.
    
    Variable name: 'show_create_table_verbosity'
    Values accepted: Boolean values.
    Default value: 0 or FALSE.
    
    When this variable set to 1/ON for the session, SHOW CREATE
    TABLE behavior for that session is changed to display the actual
    row format used by the table even if ROW_FORMAT = DEFAULT was
    specified in the CREATE TABLE statement. By default(0 or FALSE)
    causes the server to retain the old behavior i.e tables with
    implicitly or explicitly specified DEFAULT row format during CREATE
    TABLE does not show the actual row format used by the table in the
    SHOW CREATE TABLE output.
    b8466d31
    BUG#27516741: MYSQL SERVER DOES NOT WRITE INNODB ROW_TYPE TO
    Nisha Gopalakrishnan authored
                  .FRM FILE WHEN DEFAULT USED
    
    Analysis
    ========
    SHOW CREATE TABLE for tables with implicitly or explicitly
    specified DEFAULT row format does not show the actual row
    format used by the table.
    
    The output of SHOW CREATE TABLE shows the actual row format used
    only when the actual format is explicitly specified in the
    CREATE TABLE statement. SHOW CREATE TABLE code suppresses displaying
    the actual row format if the row format is not specified at all, or
    if ROW_FORMAT = DEFAULT is explicitly specified. This may cause
    TTS table import to break if the destination server is using a
    different default row format than the server from which it is
    exported.
    
    Fix
    ===
    A new per-session dynamic system variable called 'show_create_table_verbosity'
    and a corresponding start-up option is introduced. The decision to add a new
    variable was in order to preserve the current behavior of SHOW CREATE TABLE.
    
    Variable name: 'show_create_table_verbosity'
    Values accepted: Boolean values.
    Default value: 0 or FALSE.
    
    When this variable set to 1/ON for the session, SHOW CREATE
    TABLE behavior for that session is changed to display the actual
    row format used by the table even if ROW_FORMAT = DEFAULT was
    specified in the CREATE TABLE statement. By default(0 or FALSE)
    causes the server to retain the old behavior i.e tables with
    implicitly or explicitly specified DEFAULT row format during CREATE
    TABLE does not show the actual row format used by the table in the
    SHOW CREATE TABLE output.
Loading