List:Commits« Previous MessageNext Message »
From:gluh Date:August 23 2006 11:58am
Subject:bk commit into 5.1 tree (gluh:1.2281) BUG#20548
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of gluh. When gluh does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2006-08-23 16:58:36+05:00, gluh@stripped +3 -0
  Bug#20548 Events: crash if InnoDB, multiple events, busy procedures, partitions
  setup 'share' struct for all partiton file elements. It's neccessary because we use
  m_file[0]->update_create_info(create_info) during ha_partition::update_create_info
  and 'share' for m_file[0] should be valid

  sql/ha_partition.cc@stripped, 2006-08-23 16:58:28+05:00, gluh@stripped +11 -0
    Bug#20548 Events: crash if InnoDB, multiple events, busy procedures, partitions
    setup 'share' struct for all partiton file elements. It's neccessary because we use
    m_file[0]->update_create_info(create_info) during ha_partition::update_create_info
    and 'share' for m_file[0] should be valid

  sql/ha_partition.h@stripped, 2006-08-23 16:58:28+05:00, gluh@stripped +1 -0
    Bug#20548 Events: crash if InnoDB, multiple events, busy procedures, partitions

  sql/handler.h@stripped, 2006-08-23 16:58:28+05:00, gluh@stripped +1 -1
    Bug#20548 Events: crash if InnoDB, multiple events, busy procedures, partitions

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	gluh
# Host:	gluh.(none)
# Root:	/home/gluh/MySQL/Merge/5.1-kt

--- 1.232/sql/handler.h	2006-08-23 16:58:50 +05:00
+++ 1.233/sql/handler.h	2006-08-23 16:58:50 +05:00
@@ -983,7 +983,7 @@
   virtual void print_error(int error, myf errflag);
   virtual bool get_error_message(int error, String *buf);
   uint get_dup_key(int error);
-  void change_table_ptr(TABLE *table_arg, TABLE_SHARE *share)
+  virtual void change_table_ptr(TABLE *table_arg, TABLE_SHARE *share)
   {
     table= table_arg;
     table_share= share;

--- 1.65/sql/ha_partition.cc	2006-08-23 16:58:50 +05:00
+++ 1.66/sql/ha_partition.cc	2006-08-23 16:58:50 +05:00
@@ -1579,6 +1579,17 @@
 }
 
 
+void ha_partition::change_table_ptr(TABLE *table_arg, TABLE_SHARE *share)
+{
+  handler **file_array= m_file;
+  table= table_arg;
+  table_share= share;
+  do
+  {
+    (*file_array)->change_table_ptr(table_arg, share);
+  } while (*(++file_array));
+}
+
 /*
   Change comments specific to handler
 

--- 1.25/sql/ha_partition.h	2006-08-23 16:58:50 +05:00
+++ 1.26/sql/ha_partition.h	2006-08-23 16:58:50 +05:00
@@ -199,6 +199,7 @@
     *no_parts= m_tot_parts;
     DBUG_RETURN(0);
   }
+  virtual void change_table_ptr(TABLE *table_arg, TABLE_SHARE *share);
 private:
   int prepare_for_delete();
   int copy_partitions(ulonglong *copied, ulonglong *deleted);
Thread
bk commit into 5.1 tree (gluh:1.2281) BUG#20548gluh23 Aug