MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:antony Date:July 20 2007 6:35pm
Subject:bk commit into 5.1 tree (acurtis:1.2555) BUG#29875
View as plain text  
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);
   }
   /*
Thread
bk commit into 5.1 tree (acurtis:1.2555) BUG#29875antony20 Jul