• Alexander Nozdrin's avatar
    Backporting a patch for Bug#43138. That patch had been already backported · 67dbff68
    Alexander Nozdrin authored
    to 5.1 partially. This patch brings what was left to mysql-next-mr.
    
    Original revisions in 6.0:
    ------------------------------------------------------------
    revno: 2617.31.26
    committer: Alexander Nozdrin <alik@sun.com>
    branch nick: 6.0-rt-bug43138.3
    timestamp: Thu 2009-04-30 19:31:30 +0400
    message:
      Fix for Bug#43138: DROP DATABASE failure does not clean up message list.
      
      The problem was that the high-level function mysql_rm_db() invoked
      low-level mysql_rm_table_part2(), which reported low-level error
      (Unknown table) if SE refused to delete a table. Also when
      mysql_rm_table_part2() reported an error, it didn't add corresponding
      warning into the list (because it is used from other places where such
      behaviour is required).
      
      The fix is to
        1. Remove no_warnings_for_error usage from sql_table.cc
        2. Improve internal error handler support in THD, so that
           a stack of error handlers is allowed.
        3. Create an internal error handler (Drop_table_error_handler)
           to silence useless warnings.
        4. Use the handler in DROP DATABASE and DROP TABLE statements.
    ------------------------------------------------------------
    revno: 2617.69.38
    committer: Alexander Nozdrin <alik@sun.com>
    branch nick: mysql-next-bugfixing-bug37431
    timestamp: Mon 2009-08-24 21:52:09 +0400
    message:
      A test case for Bug#37431 (DROP TABLE does not report errors correctly).
    ------------------------------------------------------------
    revno: 2617.31.29
    committer: Dmitry Lenev <dlenev@mysql.com>
    branch nick: mysql-6.0-runtime
    timestamp: Fri 2009-05-01 17:37:34 +0400
    message:
      Follow-up for fix for bug "Bug#43138: DROP DATABASE failure
      does not clean up message list".
      
      Fixed drop.test failure under non-debug server by moving part
      of test dependent on debug-only feature to separate .test file,
      which won't be run for non-debug versions of server.
    ------------------------------------------------------------
    revno: 2617.45.17
    committer: Sergei Golubchik <serg@mysql.com>
    branch nick: 6.0-maria
    timestamp: Wed 2009-05-13 20:08:58 +0200
    message:
      followup for bug#43138
      if delete fails with a permission denied error, we want to show it
    ------------------------------------------------------------
    
    The patch was backported to 5.1 in scope of Bug#42364 by
    the following revision:
    ------------------------------------------------------------
    revno: 2497.975.3
    committer: Sergey Glukhov <Sergey.Glukhov@sun.com>
    branch nick: mysql-5.1-bugteam
    timestamp: Fri 2009-07-03 13:22:06 +0500
    message:
      Bug#42364 SHOW ERRORS returns empty resultset after dropping non existent table
      enabled message storing into error message list
      for 'drop table' command
    ------------------------------------------------------------
    67dbff68
sql_table.cc 251 KB