• unknown's avatar
    Patch inspired by BUG#10491: Server returns data as charset · 2612fc43
    unknown authored
    binary SHOW CREATE TABLE or SELECT FROM I_S.
    
    The problem is that mysqldump generates incorrect dump for a table
    with non-ASCII column name if the mysqldump's character set is
    ASCII.
    
    The fix is to:
      1. Switch character_set_client for the mysqldump's connection
      to binary before issuing SHOW CREATE TABLE statement in order
      to avoid conversion.
      
      2. Dump switch character_set_client statements to UTF8 and back
      for CREATE TABLE statement.
    
    
    client/mysqldump.c:
      1. Switch character_set_client for the mysqldump's connection
      to binary before issuing SHOW CREATE TABLE statement in order
      to avoid conversion.
      
      2. Dump switch character_set_client statements to UTF8 and back
      for CREATE TABLE statement.
    mysql-test/r/mysqldump-max.result:
      Update result file.
    mysql-test/r/mysqldump.result:
      Update result file.
    mysql-test/r/openssl_1.result:
      Update result file.
    mysql-test/r/show_check.result:
      Update result file.
    mysql-test/t/show_check.test:
      Test case:
        - create a table with non-ASCII column name;
        - dump the database by mysqldump using ASCII character set;
        - drop the database;
        - load the dump;
        - check that the table has been re-created properly.
    2612fc43
mysqldump.result 148 KB