From: Mattias Jonsson Date: October 5 2010 8:55am Subject: bzr commit into mysql-trunk-bugfixing branch (mattias.jonsson:3284) List-Archive: http://lists.mysql.com/commits/119989 Message-Id: <201010050857.o94NQLpl001215@acsinet15.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8007218748128097020==" --===============8007218748128097020== 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-trunk-bugfixing/ based on revid:alexander.nozdrin@stripped 3284 Mattias Jonsson 2010-10-05 [merge] merge modified: mysql-test/r/partition_exchange.result mysql-test/t/partition_exchange.test sql/share/errmsg-utf8.txt sql/sql_partition_admin.cc === modified file 'mysql-test/r/partition_exchange.result' --- a/mysql-test/r/partition_exchange.result 2010-08-04 11:53:45 +0000 +++ b/mysql-test/r/partition_exchange.result 2010-08-25 14:00:02 +0000 @@ -1,3 +1,16 @@ +DROP TABLE IF EXISTS t1, t2, t3, t, tp, tsp, tmp; +CREATE TABLE t1 (s1 INT PRIMARY KEY) engine=innodb; +CREATE TABLE t2 (s1 INT, FOREIGN KEY (s1) REFERENCES t1 (s1)) engine=innodb; +INSERT INTO t1 VALUES (1),(2),(3); +INSERT INTO t2 VALUES (1),(2),(3); +CREATE TABLE t3 (s1 INT PRIMARY KEY) +engine=innodb +PARTITION BY LIST (s1) +(PARTITION p1 VALUES IN (1,2,3)); +ALTER TABLE t3 EXCHANGE PARTITION p1 WITH TABLE t1; +ERROR HY000: Table to exchange with partition have foreign key references: 't1' +DROP TABLE t2, t1, t3; +# Tests for WL#4445 CREATE TABLE t (a INT, b VARCHAR(55), PRIMARY KEY (a)) === modified file 'mysql-test/t/partition_exchange.test' --- a/mysql-test/t/partition_exchange.test 2010-08-04 11:53:45 +0000 +++ b/mysql-test/t/partition_exchange.test 2010-08-25 14:00:02 +0000 @@ -1,5 +1,29 @@ --source include/have_innodb.inc --source include/have_partition.inc + +--disable_warnings +DROP TABLE IF EXISTS t1, t2, t3, t, tp, tsp, tmp; +--enable_warnings + +CREATE TABLE t1 (s1 INT PRIMARY KEY) engine=innodb; + +CREATE TABLE t2 (s1 INT, FOREIGN KEY (s1) REFERENCES t1 (s1)) engine=innodb; + +INSERT INTO t1 VALUES (1),(2),(3); + +INSERT INTO t2 VALUES (1),(2),(3); + +CREATE TABLE t3 (s1 INT PRIMARY KEY) + engine=innodb + PARTITION BY LIST (s1) + (PARTITION p1 VALUES IN (1,2,3)); + +--error ER_PARTITION_EXCHANGE_FOREIGN_KEY +ALTER TABLE t3 EXCHANGE PARTITION p1 WITH TABLE t1; + +DROP TABLE t2, t1, t3; + +--echo # Tests for WL#4445 CREATE TABLE t (a INT, b VARCHAR(55), PRIMARY KEY (a)) === modified file 'sql/share/errmsg-utf8.txt' --- a/sql/share/errmsg-utf8.txt 2010-07-29 14:15:38 +0000 +++ b/sql/share/errmsg-utf8.txt 2010-08-25 14:00:02 +0000 @@ -6387,3 +6387,6 @@ ER_TABLES_DIFFERENT_METADATA ER_ROW_DOES_NOT_MATCH_PARTITION eng "Found row that does not match the partition" swe "Hittade rad som inte passar i partitionen" +ER_PARTITION_EXCHANGE_FOREIGN_KEY + eng "Table to exchange with partition have foreign key references: '%-.64s'" + swe "Tabellen att byta ut mot partition har foreign key referenser: '%-.64s'" === modified file 'sql/sql_partition_admin.cc' --- a/sql/sql_partition_admin.cc 2010-08-16 15:07:53 +0000 +++ b/sql/sql_partition_admin.cc 2010-08-25 14:00:02 +0000 @@ -145,6 +145,14 @@ static bool check_exchange_partition(TAB table->s->table_name.str); DBUG_RETURN(TRUE); } + + /* The table cannot have foreign keys constraints or be referenced */ + if(!table->file->can_switch_engines()) + { + my_error(ER_PARTITION_EXCHANGE_FOREIGN_KEY, MYF(0), + table->s->table_name.str); + DBUG_RETURN(TRUE); + } DBUG_RETURN(FALSE); } --===============8007218748128097020== 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\ # k34ou3cgfnm9b2n2 # target_branch: file:///Users/mattiasj/mysql-bzr/topush-trunk-\ # bugfixing/ # testament_sha1: 2481e5a1035cf46066cb228549a79bab15370e69 # timestamp: 2010-10-05 10:55:47 +0200 # source_branch: file:///Users/mattiasj/mysql-bzr/b55784-trunk-bf/ # base_revision_id: alexander.nozdrin@stripped\ # eutx7eydu1me7aml # # Begin bundle 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 DwpXqapiu5NR/4u5IpwoSE6Lxk6A --===============8007218748128097020==--