From: Mattias Jonsson Date: August 19 2010 8:26am Subject: bzr commit into mysql-5.5-merge branch (mattias.jonsson:3174) List-Archive: http://lists.mysql.com/commits/116190 Message-Id: <201008190829.o7J8TO13014229@rcsinet13.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7483435230478108741==" --===============7483435230478108741== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///Users/mattiasj/mysql-bzr/topush-5.5-merge/ based on revid:li-bing.song@stripped 3174 Mattias Jonsson 2010-08-19 [merge] merge added: mysql-test/include/not_blackhole.inc mysql-test/r/partition_not_blackhole.result mysql-test/std_data/parts/t1_blackhole.frm mysql-test/std_data/parts/t1_blackhole.par mysql-test/t/partition_not_blackhole-master.opt mysql-test/t/partition_not_blackhole.test modified: sql/ha_partition.cc === added file 'mysql-test/include/not_blackhole.inc' --- a/mysql-test/include/not_blackhole.inc 1970-01-01 00:00:00 +0000 +++ b/mysql-test/include/not_blackhole.inc 2010-07-08 12:36:55 +0000 @@ -0,0 +1,5 @@ +if (`SELECT count(*) FROM information_schema.engines WHERE + (support = 'YES' OR support = 'DEFAULT') AND + engine = 'blackhole'`){ + skip Blackhole engine enabled; +} === added file 'mysql-test/r/partition_not_blackhole.result' --- a/mysql-test/r/partition_not_blackhole.result 1970-01-01 00:00:00 +0000 +++ b/mysql-test/r/partition_not_blackhole.result 2010-07-08 12:36:55 +0000 @@ -0,0 +1,16 @@ +DROP TABLE IF EXISTS t1; +# +# Bug#46086: crash when dropping a partitioned table and +# the original engine is disabled +# Copy a .frm and .par file which was created with: +# create table `t1` (`id` int primary key) engine=blackhole +# partition by key () partitions 1; +SHOW TABLES; +Tables_in_test +t1 +SHOW CREATE TABLE t1; +ERROR HY000: Incorrect information in file: './test/t1.frm' +DROP TABLE t1; +ERROR 42S02: Unknown table 't1' +t1.frm +t1.par === added file 'mysql-test/std_data/parts/t1_blackhole.frm' Binary files a/mysql-test/std_data/parts/t1_blackhole.frm 1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/parts/t1_blackhole.frm 2010-07-08 12:36:55 +0000 differ === added file 'mysql-test/std_data/parts/t1_blackhole.par' Binary files a/mysql-test/std_data/parts/t1_blackhole.par 1970-01-01 00:00:00 +0000 and b/mysql-test/std_data/parts/t1_blackhole.par 2010-07-08 12:36:55 +0000 differ === added file 'mysql-test/t/partition_not_blackhole-master.opt' --- a/mysql-test/t/partition_not_blackhole-master.opt 1970-01-01 00:00:00 +0000 +++ b/mysql-test/t/partition_not_blackhole-master.opt 2010-07-08 12:36:55 +0000 @@ -0,0 +1 @@ +--loose-skip-blackhole === added file 'mysql-test/t/partition_not_blackhole.test' --- a/mysql-test/t/partition_not_blackhole.test 1970-01-01 00:00:00 +0000 +++ b/mysql-test/t/partition_not_blackhole.test 2010-07-08 12:36:55 +0000 @@ -0,0 +1,25 @@ +--source include/have_partition.inc +--source include/not_blackhole.inc + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +let $MYSQLD_DATADIR= `SELECT @@datadir`; + +--echo # +--echo # Bug#46086: crash when dropping a partitioned table and +--echo # the original engine is disabled +--echo # Copy a .frm and .par file which was created with: +--echo # create table `t1` (`id` int primary key) engine=blackhole +--echo # partition by key () partitions 1; +--copy_file std_data/parts/t1_blackhole.frm $MYSQLD_DATADIR/test/t1.frm +--copy_file std_data/parts/t1_blackhole.par $MYSQLD_DATADIR/test/t1.par +SHOW TABLES; +--error ER_NOT_FORM_FILE +SHOW CREATE TABLE t1; +--error ER_BAD_TABLE_ERROR +DROP TABLE t1; +--list_files $MYSQLD_DATADIR/test t1* +--remove_file $MYSQLD_DATADIR/test/t1.frm +--remove_file $MYSQLD_DATADIR/test/t1.par === modified file 'sql/ha_partition.cc' --- a/sql/ha_partition.cc 2010-07-23 20:09:27 +0000 +++ b/sql/ha_partition.cc 2010-08-19 08:22:23 +0000 @@ -2446,9 +2446,14 @@ bool ha_partition::get_from_handler_file tot_partition_words= (m_tot_parts + 3) / 4; engine_array= (handlerton **) my_alloca(m_tot_parts * sizeof(handlerton*)); for (i= 0; i < m_tot_parts; i++) + { engine_array[i]= ha_resolve_by_legacy_type(ha_thd(), (enum legacy_db_type) - *(uchar *) ((file_buffer) + 12 + i)); + *(uchar *) ((file_buffer) + + 12 + i)); + if (!engine_array[i]) + goto err3; + } address_tot_name_len= file_buffer + 12 + 4 * tot_partition_words; tot_name_words= (uint4korr(address_tot_name_len) + 3) / 4; if (len_words != (tot_partition_words + tot_name_words + 4)) --===============7483435230478108741== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/mattias.jonsson@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: mattias.jonsson@stripped\ # 9ahjriaf1mzovmrr # target_branch: file:///Users/mattiasj/mysql-bzr/topush-5.5-merge/ # testament_sha1: ab072da5a30da719c682307f54d57a70ac178955 # timestamp: 2010-08-19 10:27:29 +0200 # source_branch: file:///Users/mattiasj/mysql-bzr/topush-51-bugteam/ # base_revision_id: li-bing.song@stripped\ # 2kzwgsbg9gqwzzdv # # Begin bundle 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 YXew9A== --===============7483435230478108741==--