Skip to content
  • Abhishek Ranjan's avatar
    eb77c924
    Bug#24580586 : MYSQL 8.0 UPGRADE - ERROR POPULATING DD FOR TABLE · eb77c924
    Abhishek Ranjan authored
                   CREATED AS LATIN1
    
    There are two issues here:
    i>  The debug build hits an assert due to empty diagnostics area
        if there is an error in parsing the ALTER VIEW statement while
        fixing view dependencies.
    
    ii> While creating view definition, the character set of view is
        not considered. The view definition is created in default
        system character set. If the view was originally created with
        different character set, the table name used in the view might
        not be recognized. In this case, view is marked invalid.
    
    Fix:
    i>  When my_error() is called from bootstrap thread, error_handler_hook
        is set to my_message_stderr(). It does not set diagnostics area.
        The fix introduces my_message_bootstrap.
    
        It will print the error in the error log in standard format.
        It will set the diagnostics area in case of error.
    
    ii> Use the character set in which view was created to execute
         ALTER VIEW statement.
    
    This patch fixes two other bugs:
    - Bug#24600054 : MYSQL 8.0 UPGRADE - MESSAGES IN MYSQLD LOG WITHOUT
                     DATETIME [NOTE] INFO
    
      my_message_bootstrap calls sql_print_error which prints the error
      in standard format.
    
    - Bug#24606219 : DD_UPGRADE_TEST FAILS DUE TO MISSING
                     I_S.INNODB_TRX_LOCKS TABLE
    
      Test case is enabled as it passes with this fix.
    eb77c924
    Bug#24580586 : MYSQL 8.0 UPGRADE - ERROR POPULATING DD FOR TABLE
    Abhishek Ranjan authored
                   CREATED AS LATIN1
    
    There are two issues here:
    i>  The debug build hits an assert due to empty diagnostics area
        if there is an error in parsing the ALTER VIEW statement while
        fixing view dependencies.
    
    ii> While creating view definition, the character set of view is
        not considered. The view definition is created in default
        system character set. If the view was originally created with
        different character set, the table name used in the view might
        not be recognized. In this case, view is marked invalid.
    
    Fix:
    i>  When my_error() is called from bootstrap thread, error_handler_hook
        is set to my_message_stderr(). It does not set diagnostics area.
        The fix introduces my_message_bootstrap.
    
        It will print the error in the error log in standard format.
        It will set the diagnostics area in case of error.
    
    ii> Use the character set in which view was created to execute
         ALTER VIEW statement.
    
    This patch fixes two other bugs:
    - Bug#24600054 : MYSQL 8.0 UPGRADE - MESSAGES IN MYSQLD LOG WITHOUT
                     DATETIME [NOTE] INFO
    
      my_message_bootstrap calls sql_print_error which prints the error
      in standard format.
    
    - Bug#24606219 : DD_UPGRADE_TEST FAILS DUE TO MISSING
                     I_S.INNODB_TRX_LOCKS TABLE
    
      Test case is enabled as it passes with this fix.
Loading