MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:holyfoot Date:April 5 2007 3:26pm
Subject:bk commit into 5.1 tree (holyfoot:1.2558) BUG#26074
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of hf. When hf 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, 2007-04-05 20:26:18+05:00, holyfoot@stripped +3 -0
  bug #26074 Mysql crash creating partition
  
  As we have unified paths inside partition engine, we should look for '/'
  as a path separator

  mysql-test/r/windows.result@stripped, 2007-04-05 20:26:16+05:00, holyfoot@stripped +15 -0
    result fixed

  mysql-test/t/windows.test@stripped, 2007-04-05 20:26:16+05:00, holyfoot@stripped +21 -0
    testcase

  sql/ha_partition.cc@stripped, 2007-04-05 20:26:16+05:00, holyfoot@stripped +2 -1
    check for '/' instead of FN_LIBCHAR

# 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:	holyfoot
# Host:	hfmain.(none)
# Root:	/home/hf/work/26074/my51-26074

--- 1.9/mysql-test/r/windows.result	2007-04-05 20:26:22 +05:00
+++ 1.10/mysql-test/r/windows.result	2007-04-05 20:26:22 +05:00
@@ -26,3 +26,18 @@ ERROR HY000: No paths allowed for shared
 execute abc;
 ERROR HY000: No paths allowed for shared library
 deallocate prepare abc;
+CREATE TABLE t1 (
+`pkid` int(11) NOT NULL AUTO_INCREMENT,
+`SALES_DATE` date NOT NULL DEFAULT '0000-00-00',
+KEY `pkid` (`pkid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+PARTITION BY RANGE (MONTH(SALES_DATE))
+(
+PARTITION p0 VALUES LESS THAN (2) ENGINE=INNODB
+data DIRECTORY='c:/tmp/'
+		index DIRECTORY = 'c:/tmp/',
+PARTITION p1 VALUES LESS THAN (3) ENGINE=INNODB
+data DIRECTORY='c:/tmp/'
+		index DIRECTORY = 'c:/tmp/'
+);
+drop table t1;

--- 1.8/mysql-test/t/windows.test	2007-04-05 20:26:22 +05:00
+++ 1.9/mysql-test/t/windows.test	2007-04-05 20:26:22 +05:00
@@ -1,5 +1,6 @@
 # Windows-specific tests
 --source include/windows.inc
+-- source include/have_innodb.inc
 
 #
 # Bug 9148: Denial of service
@@ -49,3 +50,23 @@ execute abc;
 execute abc;
 deallocate prepare abc;
 
+#
+# Bug #26074 Mysql crash when creating partitions 
+#
+
+CREATE TABLE t1 (
+  `pkid` int(11) NOT NULL AUTO_INCREMENT,
+  `SALES_DATE` date NOT NULL DEFAULT '0000-00-00',
+  KEY `pkid` (`pkid`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+PARTITION BY RANGE (MONTH(SALES_DATE))
+(
+        PARTITION p0 VALUES LESS THAN (2) ENGINE=INNODB
+                data DIRECTORY='c:/tmp/'
+                index DIRECTORY = 'c:/tmp/',
+        PARTITION p1 VALUES LESS THAN (3) ENGINE=INNODB
+                data DIRECTORY='c:/tmp/'
+                index DIRECTORY = 'c:/tmp/'
+);
+
+DROP TABLE t1;

--- 1.87/sql/ha_partition.cc	2007-04-05 20:26:22 +05:00
+++ 1.88/sql/ha_partition.cc	2007-04-05 20:26:22 +05:00
@@ -1781,7 +1781,8 @@ int ha_partition::set_up_table_before_cr
   }
   table->s->max_rows= part_elem->part_max_rows;
   table->s->min_rows= part_elem->part_min_rows;
-  partition_name= strrchr(partition_name_with_path, FN_LIBCHAR);
+  /* Here we have unified path so should always look for '/', not FN_LIBCHAR */
+  partition_name= strrchr(partition_name_with_path, '/');
   if ((part_elem->index_file_name &&
       (error= append_file_to_dir(thd,
                                  (const char**)&part_elem->index_file_name,
Thread
bk commit into 5.1 tree (holyfoot:1.2558) BUG#26074holyfoot5 Apr