List:Commits« Previous MessageNext Message »
From:Jim Winstead Date:February 13 2006 6:15pm
Subject:bk commit into 5.1 tree (jimw:1.2096) BUG#16775
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of jimw. When jimw 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
  1.2096 06/02/13 10:15:42 jimw@stripped +3 -0
  Bug #16775: DROP TABLE of subpartitioned table can fail if default engine
  used. The problem is that the actual engine was not stored in the .par
  file, causing confusion when the default engine was changed. Now the
  actual storage engine is stored for subpartitions, as was intended.

  sql/ha_partition.cc
    1.28 06/02/13 10:15:38 jimw@stripped +3 -2
    Record correct engine type for subpartition parts, and fix use of
    constant for .par extension instead of ha_par_ext variable.

  mysql-test/t/partition.test
    1.12 06/02/13 10:15:38 jimw@stripped +12 -0
    Add new regression test, marker for end of 5.1 tests

  mysql-test/r/partition.result
    1.11 06/02/13 10:15:38 jimw@stripped +8 -0
    Add new results

# 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:	jimw
# Host:	rama.(none)
# Root:	/home/jimw/my/mysql-5.1-16775

--- 1.10/mysql-test/r/partition.result	2006-01-18 02:56:17 -08:00
+++ 1.11/mysql-test/r/partition.result	2006-02-13 10:15:38 -08:00
@@ -278,3 +278,11 @@
 insert into t1 values (10,1);
 ERROR HY000: Table has no partition for value 11
 drop table t1;
+set session storage_engine= 'memory';
+create table t1 (f_int1 int(11) default null) engine = memory
+partition by range (f_int1) subpartition by hash (f_int1)
+(partition part1 values less than (1000)
+(subpartition subpart11 engine = memory));
+set session storage_engine='myisam';
+drop table t1;
+End of 5.1 tests

--- 1.11/mysql-test/t/partition.test	2006-01-18 03:09:00 -08:00
+++ 1.12/mysql-test/t/partition.test	2006-02-13 10:15:38 -08:00
@@ -353,3 +353,15 @@
 
 drop table t1;
 
+#
+# Bug #16775: Wrong engine type stored for subpartition
+#
+set session storage_engine= 'memory';
+create table t1 (f_int1 int(11) default null) engine = memory
+  partition by range (f_int1) subpartition by hash (f_int1)
+  (partition part1 values less than (1000)
+   (subpartition subpart11 engine = memory));
+set session storage_engine='myisam';
+drop table t1;
+
+--echo End of 5.1 tests

--- 1.27/sql/ha_partition.cc	2006-01-31 23:22:46 -08:00
+++ 1.28/sql/ha_partition.cc	2006-02-13 10:15:38 -08:00
@@ -1937,7 +1937,8 @@
 	name_buffer_ptr+= name_add(name_buffer_ptr,
 				   part_name,
 				   subpart_name);
-	*engine_array= (uchar) ha_legacy_type(part_elem->engine_type);
+        *engine_array= (uchar) ha_legacy_type(subpart_elem->engine_type);
+        DBUG_PRINT("info", ("engine: %u", *engine_array));
 	engine_array++;
       }
     }
@@ -1954,7 +1955,7 @@
     Create and write and close file
     to be used at open, delete_table and rename_table
   */
-  fn_format(file_name, name, "", ".par", MY_APPEND_EXT);
+  fn_format(file_name, name, "", ha_par_ext, MY_APPEND_EXT);
   if ((file= my_create(file_name, CREATE_MODE, O_RDWR | O_TRUNC,
 		       MYF(MY_WME))) >= 0)
   {
Thread
bk commit into 5.1 tree (jimw:1.2096) BUG#16775Jim Winstead13 Feb