From: Mattias Jonsson Date: May 25 2010 1:41pm Subject: bzr commit into mysql-5.1-bugteam branch (mattias.jonsson:3397) Bug#49161 List-Archive: http://lists.mysql.com/commits/109187 X-Bug: 49161 Message-Id: <20100525134140.E5F6EA94C7F@witty.localhost> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary_(ID_8t5evEZ40hTOxbTo+sgQ/A)" --Boundary_(ID_8t5evEZ40hTOxbTo+sgQ/A) MIME-version: 1.0 Content-type: text/plain; CHARSET=US-ASCII Content-transfer-encoding: 7BIT Content-disposition: inline #At file:///Users/mattiasj/mysql-bzr/b49161-51-bugteam/ based on revid:li-bing.song@stripped 3397 Mattias Jonsson 2010-05-25 Bug#49161: Out of memory; restart server and try again (needed 2 bytes) Problem was reporting wrong error Fixed by adding a new error which better explain the problem. @ mysql-test/r/partition_error.result Bug#49161: Out of memory; restart server and try again (needed 2 bytes) Updated test result @ mysql-test/t/partition_error.test Bug#49161: Out of memory; restart server and try again (needed 2 bytes) Added test case @ sql/ha_partition.cc Bug#49161: Out of memory; restart server and try again (needed 2 bytes) Better error message. (used ER_UNKNOWN_ERROR to avoid merge problems in mysql-trunk+) modified: mysql-test/r/partition_error.result mysql-test/t/partition_error.test sql/ha_partition.cc === modified file 'mysql-test/r/partition_error.result' --- a/mysql-test/r/partition_error.result 2010-05-21 12:18:14 +0000 +++ b/mysql-test/r/partition_error.result 2010-05-25 13:41:00 +0000 @@ -1,5 +1,21 @@ drop table if exists t1; # +# Bug#49161: Out of memory; restart server and try again (needed 2 bytes) +# +CREATE TABLE t1 (a INT) PARTITION BY HASH (a); +FLUSH TABLES; +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check Error Failed to read from the .par file +test.t1 check Error Incorrect information in file: './test/t1.frm' +test.t1 check error Corrupt +SELECT * FROM t1; +ERROR HY000: Failed to read from the .par file +# Note that it is currently impossible to drop a partitioned table +# without the .par file +DROP TABLE t1; +ERROR 42S02: Unknown table 't1' +# # Bug#49477: Assertion `0' failed in ha_partition.cc:5530 # with temporary table and partitions # === modified file 'mysql-test/t/partition_error.test' --- a/mysql-test/t/partition_error.test 2010-05-21 12:18:14 +0000 +++ b/mysql-test/t/partition_error.test 2010-05-25 13:41:00 +0000 @@ -7,7 +7,26 @@ --disable_warnings drop table if exists t1; --enable_warnings - + +let $MYSQLD_DATADIR= `SELECT @@datadir`; + +--echo # +--echo # Bug#49161: Out of memory; restart server and try again (needed 2 bytes) +--echo # +CREATE TABLE t1 (a INT) PARTITION BY HASH (a); +FLUSH TABLES; +--remove_file $MYSQLD_DATADIR/test/t1.par +CHECK TABLE t1; +--error ER_UNKNOWN_ERROR +SELECT * FROM t1; +--echo # Note that it is currently impossible to drop a partitioned table +--echo # without the .par file +--error ER_BAD_TABLE_ERROR +DROP TABLE t1; +--remove_file $MYSQLD_DATADIR/test/t1.frm +--remove_file $MYSQLD_DATADIR/test/t1#P#p0.MYI +--remove_file $MYSQLD_DATADIR/test/t1#P#p0.MYD + --echo # --echo # Bug#49477: Assertion `0' failed in ha_partition.cc:5530 --echo # with temporary table and partitions @@ -167,7 +186,6 @@ partitions 3 partition x2 tablespace ts2, partition x3 tablespace ts3); -let $MYSQLD_DATADIR= `select @@datadir`; select load_file('$MYSQLD_DATADIR/test/t1.par'); # # Partition by hash, invalid field in function === modified file 'sql/ha_partition.cc' --- a/sql/ha_partition.cc 2010-05-21 12:18:14 +0000 +++ b/sql/ha_partition.cc 2010-05-25 13:41:00 +0000 @@ -359,7 +359,7 @@ bool ha_partition::initialize_partition( } else if (get_from_handler_file(table_share->normalized_path.str, mem_root)) { - mem_alloc_error(2); + my_message(ER_UNKNOWN_ERROR, "Failed to read from the .par file", MYF(0)); DBUG_RETURN(1); } /* --Boundary_(ID_8t5evEZ40hTOxbTo+sgQ/A) MIME-version: 1.0 Content-type: text/bzr-bundle; CHARSET=US-ASCII; name*0="bzr/mattias.jonsson@stripped"; name*1=00-zvcewbb64i00kd5k.bundle Content-transfer-encoding: 7BIT Content-disposition: inline; filename*0="bzr/mattias.jonsson@stripped"; filename*1=00-zvcewbb64i00kd5k.bundle # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: mattias.jonsson@stripped # target_branch: file:///Users/mattiasj/mysql-bzr/b49161-51-bugteam/ # testament_sha1: f29683172a5fcb685208c620dcbc70d0456f836b # timestamp: 2010-05-25 15:41:40 +0200 # source_branch: file:///Users/mattiasj/clones/bzrroot/b49161-51-\ # bugteam/ # base_revision_id: li-bing.song@stripped\ # bkd9vj6bxvc2xkdq # # Begin bundle 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 koHk57Ax63zbJnE5hOjvf/F3JFOFCQ0Emg4w --Boundary_(ID_8t5evEZ40hTOxbTo+sgQ/A)--