From: Date: February 18 2009 9:29pm Subject: bzr commit into mysql-5.1-bugteam branch (mattias.jonsson:2804) Bug#38719 List-Archive: http://lists.mysql.com/commits/66801 X-Bug: 38719 Message-Id: <20090218203000.19C7E1DAD5A4@witty.localhost> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary_(ID_PxrFBvuMNleA74ZpQKDO1Q)" --Boundary_(ID_PxrFBvuMNleA74ZpQKDO1Q) MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline #At file:///Users/mattiasj/clones/bzrroot/topush-51-bugteam/ based on revid:mattias.jonsson@stripped 2804 Mattias Jonsson 2009-02-18 Backport of bug#38719 from 6.0 to 5.1 handler::get_dup_key used the called handler for the info call, but used table->file handler for errkey. Fixed by using table->file->info instead. @ mysql-test/r/partition_error.result Bug#38719: Partitioning returns a different error code for a duplicate key error Added test for verification @ mysql-test/t/partition_error.test Bug#38719: Partitioning returns a different error code for a duplicate key error Added test for verification @ sql/handler.cc Backport of bug#38719 from 6.0 to 5.1 handler::get_dup_key used the called handler for the info call, but used table->file handler for errkey. Fixed by using table->file->info instead. modified: mysql-test/r/partition_error.result mysql-test/t/partition_error.test sql/handler.cc === modified file 'mysql-test/r/partition_error.result' --- a/mysql-test/r/partition_error.result 2008-04-03 09:50:43 +0000 +++ b/mysql-test/r/partition_error.result 2009-02-18 20:29:30 +0000 @@ -1,4 +1,13 @@ drop table if exists t1; +CREATE TABLE t1 (a INTEGER NOT NULL, PRIMARY KEY (a)); +INSERT INTO t1 VALUES (1),(1); +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +DROP TABLE t1; +CREATE TABLE t1 (a INTEGER NOT NULL, PRIMARY KEY (a)) +PARTITION BY KEY (a) PARTITIONS 2; +INSERT INTO t1 VALUES (1),(1); +ERROR 23000: Duplicate entry '1' for key 'PRIMARY' +DROP TABLE t1; CREATE TABLE t1 (a INT) PARTITION BY HASH (a) ( PARTITION p0 ENGINE=MyISAM, === modified file 'mysql-test/t/partition_error.test' --- a/mysql-test/t/partition_error.test 2008-04-03 09:50:43 +0000 +++ b/mysql-test/t/partition_error.test 2009-02-18 20:29:30 +0000 @@ -1,5 +1,5 @@ # -# Simple test for the erroneos create statements using the +# Simple test for the erroneos statements using the # partition storage engine # -- source include/have_partition.inc @@ -7,6 +7,19 @@ --disable_warnings drop table if exists t1; --enable_warnings + +# +# Bug#38719: Partitioning returns a different error code for a +# duplicate key error +CREATE TABLE t1 (a INTEGER NOT NULL, PRIMARY KEY (a)); +-- error ER_DUP_ENTRY +INSERT INTO t1 VALUES (1),(1); +DROP TABLE t1; +CREATE TABLE t1 (a INTEGER NOT NULL, PRIMARY KEY (a)) +PARTITION BY KEY (a) PARTITIONS 2; +-- error ER_DUP_ENTRY +INSERT INTO t1 VALUES (1),(1); +DROP TABLE t1; # # Bug#31931: Mix of handlers error message === modified file 'sql/handler.cc' --- a/sql/handler.cc 2009-02-10 08:37:27 +0000 +++ b/sql/handler.cc 2009-02-18 20:29:30 +0000 @@ -2932,7 +2932,7 @@ uint handler::get_dup_key(int error) if (error == HA_ERR_FOUND_DUPP_KEY || error == HA_ERR_FOREIGN_DUPLICATE_KEY || error == HA_ERR_FOUND_DUPP_UNIQUE || error == HA_ERR_NULL_IN_SPATIAL || error == HA_ERR_DROP_INDEX_FK) - info(HA_STATUS_ERRKEY | HA_STATUS_NO_LOCK); + table->file->info(HA_STATUS_ERRKEY | HA_STATUS_NO_LOCK); DBUG_RETURN(table->file->errkey); } --Boundary_(ID_PxrFBvuMNleA74ZpQKDO1Q) MIME-version: 1.0 Content-type: text/bzr-bundle; name="bzr/mattias.jonsson@stripped"; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline; filename="bzr/mattias.jonsson@stripped" # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: mattias.jonsson@stripped # target_branch: file:///Users/mattiasj/clones/bzrroot/topush-51-\ # bugteam/ # testament_sha1: 45e9394219af746d8cdd89f9aafedb3f28d7408b # timestamp: 2009-02-18 21:29:59 +0100 # source_branch: file:///Users/mattiasj/clones/bzrroot/topush4-51-\ # bugteam/ # base_revision_id: mattias.jonsson@stripped\ # pozg7iedwd6i3b8d # # Begin bundle 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 --Boundary_(ID_PxrFBvuMNleA74ZpQKDO1Q)--