From: Date: July 20 2007 8:35pm Subject: bk commit into 5.1 tree (acurtis:1.2555) BUG#29875 List-Archive: http://lists.mysql.com/commits/31284 X-Bug: 29875 Message-Id: <200707201835.l6KIZad0006275@mail.mysql.com> Below is the list of changes that have just been committed into a local 5.1 repository of antony. When antony does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet@stripped, 2007-07-20 11:35:19-07:00, acurtis@stripped +5 -0 Bug#29875 "Disable transaction support in Federated storage engine" Minimal patch to disable Federated's transactions until they can be fixed. mysql-test/r/federated.result@stripped, 2007-07-20 11:35:16-07:00, acurtis@stripped +22 -0 verify that transactions are disabled mysql-test/t/disabled.def@stripped, 2007-07-20 11:35:16-07:00, acurtis@stripped +1 -0 bug29875 disable federated_transactions test until Bug#29523 is resolved. mysql-test/t/federated.test@stripped, 2007-07-20 11:35:16-07:00, acurtis@stripped +26 -0 verify that transactions are disabled storage/federated/ha_federated.cc@stripped, 2007-07-20 11:35:16-07:00, acurtis@stripped +12 -0 bug29875 Disable support for transactions until fixed. storage/federated/ha_federated.h@stripped, 2007-07-20 11:35:16-07:00, acurtis@stripped +1 -0 bug29875 Disable support for transactions until fixed. diff -Nrup a/mysql-test/r/federated.result b/mysql-test/r/federated.result --- a/mysql-test/r/federated.result 2007-06-30 01:18:48 -07:00 +++ b/mysql-test/r/federated.result 2007-07-20 11:35:16 -07:00 @@ -1882,6 +1882,28 @@ a b 2 Curly drop table federated.t1; drop table federated.t1; +CREATE TABLE federated.t1 (a INT PRIMARY KEY) DEFAULT CHARSET=utf8; +CREATE TABLE federated.t1 (a INT PRIMARY KEY) +ENGINE=FEDERATED +CONNECTION='mysql://root@stripped:SLAVE_PORT/federated/t1' + DEFAULT CHARSET=utf8; +SELECT transactions FROM information_schema.engines WHERE engine="FEDERATED"; +transactions +NO +INSERT INTO federated.t1 VALUES (1); +SET autocommit=0; +INSERT INTO federated.t1 VALUES (2); +ROLLBACK; +Warnings: +Warning 1196 Some non-transactional changed tables couldn't be rolled back +SET autocommit=1; +SELECT * FROM federated.t1; +a +1 +2 +DROP TABLE federated.t1; +DROP TABLE federated.t1; +End of 5.1 tests DROP TABLE IF EXISTS federated.t1; DROP DATABASE IF EXISTS federated; DROP TABLE IF EXISTS federated.t1; diff -Nrup a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def --- a/mysql-test/t/disabled.def 2007-07-17 01:20:30 -07:00 +++ b/mysql-test/t/disabled.def 2007-07-20 11:35:16 -07:00 @@ -25,4 +25,5 @@ ctype_big5 : BUG#26711 200 mysql_upgrade : Bug#28560 test links to /usr/local/mysql/lib libraries, causes non-determinism and failures on ABI breakage federated_innodb : Bug#29522 failed assertion in binlog_close_connection() +federated_transactions : Bug#29523 Transactions do not work lowercase_table3 : Bug#29839 2007-07-17 ingo Cannot find table test/T1 from the internal data dictionary diff -Nrup a/mysql-test/t/federated.test b/mysql-test/t/federated.test --- a/mysql-test/t/federated.test 2007-06-30 01:18:48 -07:00 +++ b/mysql-test/t/federated.test 2007-07-20 11:35:16 -07:00 @@ -1683,4 +1683,30 @@ connection slave; drop table federated.t1; +# +# BUG#29875 Disable support for transactions +# +connection slave; +CREATE TABLE federated.t1 (a INT PRIMARY KEY) DEFAULT CHARSET=utf8; +connection master; +--replace_result $SLAVE_MYPORT SLAVE_PORT +eval CREATE TABLE federated.t1 (a INT PRIMARY KEY) + ENGINE=FEDERATED + CONNECTION='mysql://root@stripped:$SLAVE_MYPORT/federated/t1' + DEFAULT CHARSET=utf8; + +SELECT transactions FROM information_schema.engines WHERE engine="FEDERATED"; +INSERT INTO federated.t1 VALUES (1); +SET autocommit=0; +INSERT INTO federated.t1 VALUES (2); +ROLLBACK; +SET autocommit=1; +SELECT * FROM federated.t1; + +DROP TABLE federated.t1; +connection slave; +DROP TABLE federated.t1; + +--echo End of 5.1 tests + source include/federated_cleanup.inc; diff -Nrup a/storage/federated/ha_federated.cc b/storage/federated/ha_federated.cc --- a/storage/federated/ha_federated.cc 2007-06-30 09:17:08 -07:00 +++ b/storage/federated/ha_federated.cc 2007-07-20 11:35:16 -07:00 @@ -449,6 +449,13 @@ int federated_db_init(void *p) federated_hton->create= federated_create_handler; federated_hton->flags= HTON_ALTER_NOT_SUPPORTED | HTON_NO_PARTITION; + /* + Support for transactions disabled until WL#2952 fixes it. + We do it like this to avoid "defined but not used" compiler warnings. + */ + federated_hton->commit= 0; + federated_hton->rollback= 0; + if (pthread_mutex_init(&federated_mutex, MY_MUTEX_INIT_FAST)) goto error; if (!hash_init(&federated_open_tables, &my_charset_bin, 32, 0, 0, @@ -3163,6 +3170,10 @@ int ha_federated::external_lock(THD *thd ha_federated *trx= (ha_federated *)thd->ha_data[ht->slot]; DBUG_ENTER("ha_federated::external_lock"); + /* + Support for transactions disabled until WL#2952 fixes it. + */ +#ifdef XXX_SUPERCEDED_BY_WL2952 if (lock_type != F_UNLCK) { DBUG_PRINT("info",("federated not lock F_UNLCK")); @@ -3216,6 +3227,7 @@ int ha_federated::external_lock(THD *thd } } } +#endif /* XXX_SUPERCEDED_BY_WL2952 */ DBUG_RETURN(0); } diff -Nrup a/storage/federated/ha_federated.h b/storage/federated/ha_federated.h --- a/storage/federated/ha_federated.h 2007-06-30 09:17:08 -07:00 +++ b/storage/federated/ha_federated.h 2007-07-20 11:35:16 -07:00 @@ -141,6 +141,7 @@ public: | HA_REC_NOT_IN_SEQ | HA_AUTO_PART_KEY | HA_CAN_INDEX_BLOBS | HA_BINLOG_ROW_CAPABLE | HA_BINLOG_STMT_CAPABLE | HA_NO_PREFIX_CHAR_KEYS | HA_PRIMARY_KEY_REQUIRED_FOR_DELETE | + HA_NO_TRANSACTIONS /* until fixed by WL#2952 */ | HA_PARTIAL_COLUMN_READ | HA_NULL_IN_KEY); } /*