List:Commits« Previous MessageNext Message »
From:Georgi Kodinov Date:February 15 2010 8:55am
Subject:bzr push into mysql-5.1-bugteam branch (joro:3339 to 3340) Bug#46175
View as plain text  
 3340 Georgi Kodinov	2010-02-15
      Addendum 2 for bug #46175: NULL read_view and consistent read assertion
      
      Fixed a compilation warning.

    modified:
      sql/sql_select.h
 3339 Davi Arnaut	2010-02-13
      Bug#50624: crash in check_table_access during call procedure
      
      This bug is just one facet of stored routines not being able to
      detect changes in meta-data (WL#4179). This particular problem
      can be triggered within a single session due to the improper
      management of the pre-locking list if the view is expanded after
      the pre-locking list is calculated.
      
      Since the overall solution for the meta-data detection issue is
      planned for a later release, for now a workaround is used to
      fix this particular aspect that only involves a single session.
      The workaround is to flush the thread-local stored routine cache
      every time a view is created or modified, causing locally cached
      routines to be re-evaluated upon invocation.
     @ mysql-test/r/sp-bugs.result
        Add test case result for Bug#50624.
     @ mysql-test/t/sp-bugs.test
        Add test case for Bug#50624.
     @ sql/sp_cache.cc
        Update function description.
     @ sql/sql_view.cc
        Invalidate the SP cache if a view is being created or modified.

    modified:
      mysql-test/r/sp-bugs.result
      mysql-test/t/sp-bugs.test
      sql/sp_cache.cc
      sql/sql_view.cc
=== modified file 'sql/sql_select.h'
--- a/sql/sql_select.h	2010-02-11 17:41:53 +0000
+++ b/sql/sql_select.h	2010-02-15 08:54:27 +0000
@@ -769,7 +769,7 @@ protected:  
       if ((res= item->save_in_field(to_field, 1)))
       {       
         if (!err)
-          err= res;
+          err= res < 0 ? 1 : res; /* 1=STORE_KEY_FATAL */
       }
       /*
         Item::save_in_field() may call Item::val_xxx(). And if this is a subquery
@@ -779,7 +779,7 @@ protected:  
         err= 1; /* STORE_KEY_FATAL */
     }
     null_key= to_field->is_null() || item->null_value;
-    return ((err < 0 || err > 2) ? STORE_KEY_FATAL : (store_key_result) err);
+    return (err > 2 ? STORE_KEY_FATAL : (store_key_result) err);
   }
 };
 


Attachment: [text/bzr-bundle] bzr/joro@sun.com-20100215085427-g2we19b3m2a3jvne.bundle
Thread
bzr push into mysql-5.1-bugteam branch (joro:3339 to 3340) Bug#46175Georgi Kodinov15 Feb