List:Commits« Previous MessageNext Message »
From:Mikael Ronström Date:September 19 2006 12:15pm
Subject:bk commit - 5.1 tree (mikael:....) BUG#21210
View as plain text  
diff -Nur --exclude=RCS --exclude=CVS --exclude=SCCS  
--exclude=BitKeeper --exclude=ChangeSet  
clean-compare/mysql-test/r/partition.result  
clean-bug21210/mysql-test/r/partition.result
--- clean-compare/mysql-test/r/partition.result	2006-09-08 03:37:03  
-04:00
+++ clean-bug21210/mysql-test/r/partition.result	2006-09-19 07:44:14  
-04:00
@@ -21,32 +21,6 @@
  partitions 1e+300;
  ERROR 42000: Only normal integers allowed as number here near '1e+300'  
at line 3
  create table t1 (a int)
-engine = innodb
-partition by key (a);
-show table status;
-Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	 
Max_data_length	Index_length	Data_free	Auto_increment	Create_time	 
Update_time	Check_time	Collation	Checksum	Create_options	Comment
-t1	InnoDB	10	Compact	2	8192	16384	0	0	0	NULL	NULL	NULL	NULL	 
latin1_swedish_ci	NULL	partitioned	
-insert into t1 values (0), (1), (2), (3);
-show table status;
-Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	 
Max_data_length	Index_length	Data_free	Auto_increment	Create_time	 
Update_time	Check_time	Collation	Checksum	Create_options	Comment
-t1	InnoDB	10	Compact	4	4096	16384	0	0	0	NULL	NULL	NULL	NULL	 
latin1_swedish_ci	NULL	partitioned	
-drop table t1;
-create table t1 (a int auto_increment primary key)
-engine = innodb
-partition by key (a);
-show table status;
-Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	 
Max_data_length	Index_length	Data_free	Auto_increment	Create_time	 
Update_time	Check_time	Collation	Checksum	Create_options	Comment
-t1	InnoDB	10	Compact	2	8192	16384	0	0	0	1	NULL	NULL	NULL	 
latin1_swedish_ci	NULL	partitioned	
-insert into t1 values (NULL), (NULL), (NULL), (NULL);
-show table status;
-Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	 
Max_data_length	Index_length	Data_free	Auto_increment	Create_time	 
Update_time	Check_time	Collation	Checksum	Create_options	Comment
-t1	InnoDB	10	Compact	4	4096	16384	0	0	0	5	NULL	NULL	NULL	 
latin1_swedish_ci	NULL	partitioned	
-insert into t1 values (NULL), (NULL), (NULL), (NULL);
-show table status;
-Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	 
Max_data_length	Index_length	Data_free	Auto_increment	Create_time	 
Update_time	Check_time	Collation	Checksum	Create_options	Comment
-t1	InnoDB	10	Compact	8	2048	16384	0	0	0	9	NULL	NULL	NULL	 
latin1_swedish_ci	NULL	partitioned	
-drop table t1;
-create table t1 (a int)
  partition by key (a)
  (partition p0 DATA DIRECTORY 'part-data' INDEX DIRECTORY 'part-data');
  ERROR 42000: Incorrect table name 'part-data'
@@ -1039,17 +1013,6 @@
    `a` int(11) DEFAULT NULL
  ) /*!50100 PARTITION BY KEY (a) (PARTITION p0) */
  set session sql_mode='';
-drop table t1;
-create table t1 (a int)
-partition by key (a)
-(partition p1 engine = innodb);
-alter table t1 rebuild partition p1;
-alter table t1 rebuild partition p1;
-alter table t1 rebuild partition p1;
-alter table t1 rebuild partition p1;
-alter table t1 rebuild partition p1;
-alter table t1 rebuild partition p1;
-alter table t1 rebuild partition p1;
  drop table t1;
  create table t1 (a int)
  partition by key (a)
diff -Nur --exclude=RCS --exclude=CVS --exclude=SCCS  
--exclude=BitKeeper --exclude=ChangeSet  
clean-compare/mysql-test/r/partition_error.result  
clean-bug21210/mysql-test/r/partition_error.result
--- clean-compare/mysql-test/r/partition_error.result	2006-06-21  
18:53:30 -04:00
+++ clean-bug21210/mysql-test/r/partition_error.result	2006-09-08  
03:17:59 -04:00
@@ -1,28 +1,4 @@
  drop table if exists t1;
-create table t1 (a int)
-engine = x
-partition by key (a);
-Warnings:
-Error	1286	Unknown table engine 'x'
-show create table t1;
-Table	Create Table
-t1	CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a)   
*/
-drop table t1;
-create table t1 (a int)
-engine = innodb
-partition by list (a)
-(partition p0 values in (0));
-alter table t1 engine = x;
-Warnings:
-Error	1286	Unknown table engine 'x'
-show create table t1;
-Table	Create Table
-t1	CREATE TABLE `t1` (
-  `a` int(11) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a)  
(PARTITION p0 VALUES IN (0) ENGINE = InnoDB) */
-drop table t1;
  partition by list (a)
  partitions 3
  (partition x1 values in (1,2,9,4) tablespace ts1,
diff -Nur --exclude=RCS --exclude=CVS --exclude=SCCS  
--exclude=BitKeeper --exclude=ChangeSet  
clean-compare/mysql-test/r/partition_innodb.result  
clean-bug21210/mysql-test/r/partition_innodb.result
--- clean-compare/mysql-test/r/partition_innodb.result	2006-05-18  
13:16:42 -04:00
+++ clean-bug21210/mysql-test/r/partition_innodb.result	2006-09-08  
03:17:59 -04:00
@@ -3,3 +3,74 @@
   
Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	 
Max_data_length	Index_length	Data_free	Auto_increment	Create_time	 
Update_time	Check_time	Collation	Checksum	Create_options	Comment
   
t1	InnoDB	10	Compact	2	8192	16384	0	0	0	NULL	NULL	NULL	NULL	 
latin1_swedish_ci	NULL	partitioned	
  drop table t1;
+create table t1 (a int)
+engine = innodb
+partition by key (a);
+show table status;
+Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	 
Max_data_length	Index_length	Data_free	Auto_increment	Create_time	 
Update_time	Check_time	Collation	Checksum	Create_options	Comment
+t1	InnoDB	10	Compact	2	8192	16384	0	0	0	NULL	NULL	NULL	NULL	 
latin1_swedish_ci	NULL	partitioned	
+insert into t1 values (0), (1), (2), (3);
+show table status;
+Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	 
Max_data_length	Index_length	Data_free	Auto_increment	Create_time	 
Update_time	Check_time	Collation	Checksum	Create_options	Comment
+t1	InnoDB	10	Compact	4	4096	16384	0	0	0	NULL	NULL	NULL	NULL	 
latin1_swedish_ci	NULL	partitioned	
+drop table t1;
+create table t1 (a int auto_increment primary key)
+engine = innodb
+partition by key (a);
+show table status;
+Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	 
Max_data_length	Index_length	Data_free	Auto_increment	Create_time	 
Update_time	Check_time	Collation	Checksum	Create_options	Comment
+t1	InnoDB	10	Compact	2	8192	16384	0	0	0	1	NULL	NULL	NULL	 
latin1_swedish_ci	NULL	partitioned	
+insert into t1 values (NULL), (NULL), (NULL), (NULL);
+show table status;
+Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	 
Max_data_length	Index_length	Data_free	Auto_increment	Create_time	 
Update_time	Check_time	Collation	Checksum	Create_options	Comment
+t1	InnoDB	10	Compact	4	4096	16384	0	0	0	5	NULL	NULL	NULL	 
latin1_swedish_ci	NULL	partitioned	
+insert into t1 values (NULL), (NULL), (NULL), (NULL);
+show table status;
+Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	 
Max_data_length	Index_length	Data_free	Auto_increment	Create_time	 
Update_time	Check_time	Collation	Checksum	Create_options	Comment
+t1	InnoDB	10	Compact	8	2048	16384	0	0	0	9	NULL	NULL	NULL	 
latin1_swedish_ci	NULL	partitioned	
+drop table t1;
+create table t1 (a int)
+partition by key (a)
+(partition p1 engine = innodb);
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+drop table t1;
+create table t1 (a date)
+engine = innodb
+partition by range (year(a))
+(partition p0 values less than (2006),
+partition p1 values less than (2007));
+explain partitions select * from t1
+where a between '2006-01-01' and '2007-06-01';
+id	select_type	table	partitions	type	possible_keys	key	key_len	ref	 
rows	Extra
+1	SIMPLE	t1	p1	ALL	NULL	NULL	NULL	NULL	2	Using where
+drop table t1;
+create table t1 (a int)
+engine = x
+partition by key (a);
+Warnings:
+Error	1286	Unknown table engine 'x'
+show create table t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (
+  `a` int(11) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 /*!50100 PARTITION BY KEY (a)   
*/
+drop table t1;
+create table t1 (a int)
+engine = innodb
+partition by list (a)
+(partition p0 values in (0));
+alter table t1 engine = x;
+Warnings:
+Error	1286	Unknown table engine 'x'
+show create table t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (
+  `a` int(11) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY LIST (a)  
(PARTITION p0 VALUES IN (0) ENGINE = InnoDB) */
+drop table t1;
diff -Nur --exclude=RCS --exclude=CVS --exclude=SCCS  
--exclude=BitKeeper --exclude=ChangeSet  
clean-compare/mysql-test/r/partition_range.result  
clean-bug21210/mysql-test/r/partition_range.result
--- clean-compare/mysql-test/r/partition_range.result	2006-08-05  
16:12:22 -04:00
+++ clean-bug21210/mysql-test/r/partition_range.result	2006-09-08  
03:17:59 -04:00
@@ -1,14 +1,4 @@
  drop table if exists t1;
-create table t1 (a date)
-engine = innodb
-partition by range (year(a))
-(partition p0 values less than (2006),
-partition p1 values less than (2007));
-explain partitions select * from t1
-where a between '2006-01-01' and '2007-06-01';
-id	select_type	table	partitions	type	possible_keys	key	key_len	ref	 
rows	Extra
-1	SIMPLE	t1	p1	ALL	NULL	NULL	NULL	NULL	2	Using where
-drop table t1;
  create table t1 (a int unsigned)
  partition by range (a)
  (partition pnull values less than (0),
diff -Nur --exclude=RCS --exclude=CVS --exclude=SCCS  
--exclude=BitKeeper --exclude=ChangeSet  
clean-compare/mysql-test/t/partition-master.opt  
clean-bug21210/mysql-test/t/partition-master.opt
--- clean-compare/mysql-test/t/partition-master.opt	1969-12-31 19:00:00  
-05:00
+++ clean-bug21210/mysql-test/t/partition-master.opt	2006-09-08  
05:50:38 -04:00
@@ -0,0 +1 @@
+--symbolic-links=1
diff -Nur --exclude=RCS --exclude=CVS --exclude=SCCS  
--exclude=BitKeeper --exclude=ChangeSet  
clean-compare/mysql-test/t/partition.test  
clean-bug21210/mysql-test/t/partition.test
--- clean-compare/mysql-test/t/partition.test	2006-09-06 14:23:37 -04:00
+++ clean-bug21210/mysql-test/t/partition.test	2006-09-19 07:44:14  
-04:00
@@ -43,27 +43,6 @@
  partitions 1e+300;

  #
-# Bug 21173: SHOW TABLE STATUS crashes server in InnoDB
-#
-create table t1 (a int)
-engine = innodb
-partition by key (a);
-show table status;
-insert into t1 values (0), (1), (2), (3);
-show table status;
-drop table t1;
-
-create table t1 (a int auto_increment primary key)
-engine = innodb
-partition by key (a);
-show table status;
-insert into t1 values (NULL), (NULL), (NULL), (NULL);
-show table status;
-insert into t1 values (NULL), (NULL), (NULL), (NULL);
-show table status;
-drop table t1;
-
-#
  # Bug 21350: Data Directory problems
  #
  -- error 1103
@@ -1191,22 +1170,6 @@
  set session sql_mode='no_table_options';
  show create table t1;
  set session sql_mode='';
-drop table t1;
-
-#
-# BUG 19122 Crash after ALTER TABLE t1 REBUILD PARTITION p1
-#
-create table t1 (a int)
-partition by key (a)
-(partition p1 engine = innodb);
-
-alter table t1 rebuild partition p1;
-alter table t1 rebuild partition p1;
-alter table t1 rebuild partition p1;
-alter table t1 rebuild partition p1;
-alter table t1 rebuild partition p1;
-alter table t1 rebuild partition p1;
-alter table t1 rebuild partition p1;
  drop table t1;

  #
diff -Nur --exclude=RCS --exclude=CVS --exclude=SCCS  
--exclude=BitKeeper --exclude=ChangeSet  
clean-compare/mysql-test/t/partition_error.test  
clean-bug21210/mysql-test/t/partition_error.test
--- clean-compare/mysql-test/t/partition_error.test	2006-06-20 16:38:38  
-04:00
+++ clean-bug21210/mysql-test/t/partition_error.test	2006-09-08  
03:17:59 -04:00
@@ -8,23 +8,6 @@
  drop table if exists t1;
  --enable_warnings

-#
-# Bug 20397: Partitions: Crash when using non-existing engine
-#
-create table t1 (a int)
-engine = x
-partition by key (a);
-show create table t1;
-drop table t1;
-
-create table t1 (a int)
-engine = innodb
-partition by list (a)
-(partition p0 values in (0));
-
-alter table t1 engine = x;
-show create table t1;
-drop table t1;

  #
  # Partition by key stand-alone error
diff -Nur --exclude=RCS --exclude=CVS --exclude=SCCS  
--exclude=BitKeeper --exclude=ChangeSet  
clean-compare/mysql-test/t/partition_innodb.test  
clean-bug21210/mysql-test/t/partition_innodb.test
--- clean-compare/mysql-test/t/partition_innodb.test	2006-06-12  
03:05:19 -04:00
+++ clean-bug21210/mysql-test/t/partition_innodb.test	2006-09-08  
03:17:59 -04:00
@@ -8,3 +8,71 @@
  show table status like 't1';
  drop table t1;

+#
+# Bug 21173: SHOW TABLE STATUS crashes server in InnoDB
+#
+create table t1 (a int)
+engine = innodb
+partition by key (a);
+show table status;
+insert into t1 values (0), (1), (2), (3);
+show table status;
+drop table t1;
+
+create table t1 (a int auto_increment primary key)
+engine = innodb
+partition by key (a);
+show table status;
+insert into t1 values (NULL), (NULL), (NULL), (NULL);
+show table status;
+insert into t1 values (NULL), (NULL), (NULL), (NULL);
+show table status;
+drop table t1;
+
+#
+# BUG 19122 Crash after ALTER TABLE t1 REBUILD PARTITION p1
+#
+create table t1 (a int)
+partition by key (a)
+(partition p1 engine = innodb);
+
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+alter table t1 rebuild partition p1;
+drop table t1;
+
+#
+# Bug 21339: Crash in Explain Partitions
+#
+create table t1 (a date)
+engine = innodb
+partition by range (year(a))
+(partition p0 values less than (2006),
+ partition p1 values less than (2007));
+explain partitions select * from t1
+where a between '2006-01-01' and '2007-06-01';
+drop table t1;
+
+#
+# Bug 20397: Partitions: Crash when using non-existing engine
+#
+create table t1 (a int)
+engine = x
+partition by key (a);
+show create table t1;
+drop table t1;
+
+create table t1 (a int)
+engine = innodb
+partition by list (a)
+(partition p0 values in (0));
+
+alter table t1 engine = x;
+show create table t1;
+drop table t1;
+
+
diff -Nur --exclude=RCS --exclude=CVS --exclude=SCCS  
--exclude=BitKeeper --exclude=ChangeSet  
clean-compare/mysql-test/t/partition_range.test  
clean-bug21210/mysql-test/t/partition_range.test
--- clean-compare/mysql-test/t/partition_range.test	2006-08-05 16:12:22  
-04:00
+++ clean-bug21210/mysql-test/t/partition_range.test	2006-09-08  
03:17:59 -04:00
@@ -10,18 +10,6 @@
  --enable_warnings

  #
-# Bug 21339: Crash in Explain Partitions
-#
-create table t1 (a date)
-engine = innodb
-partition by range (year(a))
-(partition p0 values less than (2006),
- partition p1 values less than (2007));
-explain partitions select * from t1
-where a between '2006-01-01' and '2007-06-01';
-drop table t1;
-
-#
  # More checks for partition pruning
  #
  create table t1 (a int unsigned)
diff -Nur --exclude=RCS --exclude=CVS --exclude=SCCS  
--exclude=BitKeeper --exclude=ChangeSet  
clean-compare/sql/ha_partition.cc clean-bug21210/sql/ha_partition.cc
--- clean-compare/sql/ha_partition.cc	2006-09-19 08:01:40 -04:00
+++ clean-bug21210/sql/ha_partition.cc	2006-09-19 07:48:37 -04:00
@@ -1364,6 +1364,7 @@
    i= 0;
    part_count= 0;
    orig_count= 0;
+  first= TRUE;
    part_it.rewind();
    do
    {
@@ -1391,9 +1392,16 @@
            DBUG_RETURN(ER_OUTOFMEMORY);
          }
        } while (++j < no_subparts);
+      if (part_elem->part_state == PART_CHANGED)
+        orig_count+= no_subparts;
+      else if (temp_partitions && first)
+      {
+        orig_count+= (no_subparts * temp_partitions);
+        first= FALSE;
+      }
      }
    } while (++i < no_parts);
-
+  first= FALSE;
    /*
      Step 5:
        Create the new partitions and also open, lock and call  
external_lock

Mikael Ronstrom, Senior Software Architect
MySQL AB, www.mysql.com

Jumpstart your cluster:
http://www.mysql.com/consulting/packaged/cluster.html
My blog:
http://mikaelronstrom.blogspot.com

Thread
bk commit - 5.1 tree (mikael:....) BUG#21210Mikael Ronström19 Sep