• unknown's avatar
    Fixed bug #30126. · 0d1e92ff
    unknown authored
    When dumping database from a 4.x server, the mysqldump client
    inserted a delimiter sign inside special commentaries of the form:
      /*!... CREATE DATABASE IF NOT EXISTS ... ;*/
    During restoration that dump file was splitten by delimiter signs on
    the client side, and the rest of some commentary strings was prepended
    to following statements.
    
    The 4x_server_emul test case option has been added for use with the
    DBUG_EXECUTE_IF debugging macro. This option affects debug server
    builds only to emulate particular behavior of a 4.x server for
    the mysqldump client testing. Non-debugging builds are not affected.
    
    
    mysql-test/r/mysqldump-compat.result:
      Added test case for bug #30126.
    mysql-test/t/mysqldump-compat.opt:
      Added test case for bug #30126.
    mysql-test/t/mysqldump-compat.test:
      Added test case for bug #30126.
    sql/sql_parse.cc:
      Fixed bug #30126.
      The mysqldump client uses the "SHOW CREATE DATABASE" query to
      obtain the "CREATE DATABASE" statement from that database.
      The 4.x server doesn't recognise that query, and mysqldump
      forms the "CREATE DATABASE" statement from scratch.
      That statement was formed incorrectly.
      
      To enforce the mysqldump client to create that statement from
      scratch, debugging code has been added to the mysql_execute_command
      function: in tcase of the --loose-debug=d,4x_server_emul option,
      the server returns parse error to client to emulate old behaviour.
      
      The 4x_server_emul test case option has been added for use with the
      DBUG_EXECUTE_IF debugging macro. This option affects debug server
      builds only to emulate particular behavior of a 4.x server for
      the mysqldump client testing. Non-debugging builds are not affected.
    client/mysqldump.c:
      Fixed bug #30126.
      The init_dumping_tables function has been modified to output semicolon
      outside of commentaries.
    0d1e92ff
mysqldump-compat.test 433 Bytes