MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Jon Olav Hauglid Date:January 20 2010 8:17am
Subject:bzr commit into mysql-5.6-next-mr branch (jon.hauglid:3053) Bug#50412
View as plain text  
#At file:///export/home/z/mysql-next-4284-bug50412/ based on revid:jon.hauglid@stripped

 3053 Jon Olav Hauglid	2010-01-20
      Bug #50412 Assertion `! is_set()' failed in
                 Diagnostics_area::set_ok_status at PREPARE
      The problem occured during processing of stored routines. 
      Routines are loaded from mysql.proc, parsed and put into the sp cache by
      sp_cache_routine().  The assert occured because the return value from
      sp_cache_routine() was not checked for top level CALLs. This meant that any
      errors during sp_cache_routine() went unoticed and triggered the assert when
      my_ok() was later called.
      This is a regression introduced by the patch for Bug#30977, only visible in
      source trees with MDL and using debug builds of the server.
      This patch fixes the problem by checking the return value from sp_cache_routine() 
      for top level CALLs and propagating any errors similar to what is done for other 
      calls to sp_cache_routine().
      No test case added.

=== modified file 'sql/'
--- a/sql/	2009-12-30 17:53:30 +0000
+++ b/sql/	2010-01-20 08:17:31 +0000
@@ -3955,7 +3955,8 @@ open_and_process_routine(THD *thd, Query
           Validating routine version is unnecessary, since CALL
           does not affect the prepared statement prelocked list.
-        sp_cache_routine(thd, rt, FALSE, &sp);
+        if (sp_cache_routine(thd, rt, FALSE, &sp))
+          DBUG_RETURN(TRUE);

Attachment: [text/bzr-bundle] bzr/
bzr commit into mysql-5.6-next-mr branch (jon.hauglid:3053) Bug#50412Jon Olav Hauglid20 Jan
  • Re: bzr commit into mysql-5.6-next-mr branch (jon.hauglid:3053)Bug#50412Konstantin Osipov20 Jan