• unknown's avatar
    Fix for 5.1 for BUG#10491: Server returns data as charset binary · 03cb6626
    unknown authored
    SHOW CREATE TABLE or SELECT FROM I_S.
    
    This is the last patch for this bug, which depends on the big
    CS patch and was pending.
    
    The problem was that SHOW CREATE statements returned original
    queries in the binary character set. That could cause the query
    to be unreadable.
    
    The fix is to use original character_set_client when sending
    the original query to the client. In order to preserve the query
    in mysqldump, 'binary' character set results should be set when
    issuing SHOW CREATE statement. If either source or destination
    character set is 'binary' , no conversion is performed.
    The idea is that since the source character set is no longer
    'binary', we fix the destination character set to still produce
    valid dumps.
    
    
    client/mysqldump.c:
      Switch character_set_results of mysqldump-connection before
      calling SHOW CREATE statements for the objects.
    mysql-test/r/show_check.result:
      Result file.
    mysql-test/t/show_check.test:
      Add test case for the part of BUG#10491.
    sql/events.cc:
      Send original query in the original character set.
    sql/sp_head.cc:
      Send original query in the original character set.
    sql/sql_show.cc:
      Send original query in the original character set.
    03cb6626
events.cc 32.6 KB