List:Commits« Previous MessageNext Message »
From:magnus.blaudd Date:May 11 2012 9:15am
Subject:bzr push into mysql-trunk branch (magnus.blaudd:3810 to 3811)
View as plain text  
 3811 magnus.blaudd@stripped	2012-05-11 [merge]
      Merge trunk-bug13979471 -> trunk

    modified:
      sql/handler.h
      sql/sql_base.cc
      sql/table.cc
 3810 Sunny Bains	2012-05-11
      Bug#14057307 - CRASH DUE TO FIX FOR BUG#14034087
      
      The event that coordinates between the lock wait monitor thread and other 
      threads needs to be anchored in lock_sys_t. The current problem is that at 
      startup, the monitor thread may not have started up. To ensure that the event 
      always exists we create it at the same time as the lock data structures are 
      created at startup.
      
      rb://1066 Approved by Jimmy Yang.

    modified:
      storage/innobase/include/lock0lock.h
      storage/innobase/lock/lock0lock.cc
      storage/innobase/lock/lock0wait.cc
      storage/innobase/srv/srv0srv.cc
      storage/innobase/srv/srv0start.cc
=== modified file 'sql/handler.h'
--- a/sql/handler.h	2012-05-02 12:04:42 +0000
+++ b/sql/handler.h	2012-05-11 08:04:48 +0000
@@ -2269,6 +2269,17 @@ public:
 
   virtual int get_default_no_partitions(HA_CREATE_INFO *info) { return 1;}
   virtual void set_auto_partitions(partition_info *part_info) { return; }
+
+  /**
+    Get number of partitions for table in SE
+
+    @param name normalized path(same as open) to the table
+
+    @param[out] no_parts Number of partitions
+
+    @retval false for success
+    @retval true for failure, for example table didn't exist in engine
+  */
   virtual bool get_no_parts(const char *name,
                             uint *no_parts)
   {

=== modified file 'sql/sql_base.cc'
--- a/sql/sql_base.cc	2012-05-07 08:29:18 +0000
+++ b/sql/sql_base.cc	2012-05-11 08:59:53 +0000
@@ -6174,7 +6174,12 @@ TABLE *open_table_uncached(THD *thd, con
                                     HA_GET_INDEX) : 0,
                             READ_KEYINFO | COMPUTE_TYPES | EXTRA_RECORD,
                             ha_open_options,
-                            tmp_table, FALSE))
+                            tmp_table,
+                            /*
+                              Set "is_create_table" if the table does not
+                              exist in SE
+                            */
+                            open_in_engine ? false : true))
   {
     /* No need to lock share->mutex as this is not needed for tmp tables */
     free_table_share(share);

=== modified file 'sql/table.cc'
--- a/sql/table.cc	2012-04-30 07:13:31 +0000
+++ b/sql/table.cc	2012-05-11 08:04:48 +0000
@@ -1865,6 +1865,8 @@ static int open_binary_frm(THD *thd, TAB
     prgflag   		READ_ALL etc..
     ha_open_flags	HA_OPEN_ABORT_IF_LOCKED etc..
     outparam       	result table
+    is_create_table     Indicates that table is opened as part
+                        of CREATE or ALTER and does not yet exist in SE
 
   RETURN VALUES
    0	ok

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk branch (magnus.blaudd:3810 to 3811) magnus.blaudd9 Jun