From: Mattias Jonsson Date: February 10 2011 9:49am Subject: bzr commit into mysql-trunk branch (mattias.jonsson:3624) Bug#60039 List-Archive: http://lists.mysql.com/commits/130990 X-Bug: 60039 Message-Id: <201102100951.p1A7DGPd031481@rcsinet13.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1161460423521203488==" --===============1161460423521203488== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///Users/mattiasj/mysql-bzr/b60039-trunk/ based on revid:john.embretsen@stripped 3624 Mattias Jonsson 2011-02-10 Bug#60039: crash when exchanging a partition on nonpartitioned table with a view Since the table was a view, it was never opened. Due to this it crashed on null pointer reference. Fixed by checking the tables before using it. @ mysql-test/r/partition_error.result updated result @ mysql-test/t/partition_error.test added test @ sql/sql_partition_admin.cc check swap_table before using it. modified: mysql-test/r/partition_error.result mysql-test/t/partition_error.test sql/sql_partition_admin.cc === modified file 'mysql-test/r/partition_error.result' --- a/mysql-test/r/partition_error.result 2011-01-26 20:13:31 +0000 +++ b/mysql-test/r/partition_error.result 2011-02-10 09:49:47 +0000 @@ -1,5 +1,15 @@ drop table if exists t1, t2; # +# Bug#60039: crash when exchanging a partition on +# nonpartitioned table with a view +# +CREATE TABLE t1 (a int); +CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1; +ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE v1; +ERROR 42000: Can't open table +DROP VIEW v1; +DROP TABLE t1; +# # Bug#57924: crash when creating partitioned table with # multiple columns in the partition key # === modified file 'mysql-test/t/partition_error.test' --- a/mysql-test/t/partition_error.test 2011-01-26 20:13:31 +0000 +++ b/mysql-test/t/partition_error.test 2011-02-10 09:49:47 +0000 @@ -11,6 +11,17 @@ drop table if exists t1, t2; let $MYSQLD_DATADIR= `SELECT @@datadir`; --echo # +--echo # Bug#60039: crash when exchanging a partition on +--echo # nonpartitioned table with a view +--echo # +CREATE TABLE t1 (a int); +CREATE OR REPLACE VIEW v1 AS SELECT * FROM t1; +--error ER_CHECK_NO_SUCH_TABLE +ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE v1; +DROP VIEW v1; +DROP TABLE t1; + +--echo # --echo # Bug#57924: crash when creating partitioned table with --echo # multiple columns in the partition key --echo # === modified file 'sql/sql_partition_admin.cc' --- a/sql/sql_partition_admin.cc 2010-12-03 10:05:56 +0000 +++ b/sql/sql_partition_admin.cc 2011-02-10 09:49:47 +0000 @@ -527,11 +527,12 @@ bool Sql_cmd_alter_table_exchange_partit part_table= table_list->table; swap_table= swap_table_list->table; - table_hton= swap_table->file->ht; if (check_exchange_partition(swap_table, part_table)) DBUG_RETURN(TRUE); + table_hton= swap_table->file->ht; + thd_proc_info(thd, "verifying table"); /* Will append the partition name later in part_info->get_part_elem() */ --===============1161460423521203488== 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\ # 87nou5h4etl6rn1c # target_branch: file:///Users/mattiasj/mysql-bzr/b60039-trunk/ # testament_sha1: b3341a10d3ae1e1398ebe919455e93bf6dd16239 # timestamp: 2011-02-10 10:49:55 +0100 # base_revision_id: john.embretsen@stripped\ # mmuq9b2ifgjxthj2 # # Begin bundle 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 g1MU5aA= --===============1161460423521203488==--