mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
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:
verify that transactions are disabled
mysql-test/t/disabled.def:
bug29875
disable federated_transactions test until Bug#29523 is resolved.
mysql-test/t/federated.test:
verify that transactions are disabled
storage/federated/ha_federated.cc:
bug29875
Disable support for transactions until fixed.
storage/federated/ha_federated.h:
bug29875
Disable support for transactions until fixed.
This commit is contained in:
@@ -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@127.0.0.1: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;
|
||||
|
||||
@@ -25,4 +25,5 @@ ctype_big5 : BUG#26711 2007-06-21 Lars Test has never worked on Do
|
||||
|
||||
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
|
||||
|
||||
@@ -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@127.0.0.1:$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;
|
||||
|
||||
@@ -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, int lock_type)
|
||||
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, int lock_type)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* XXX_SUPERCEDED_BY_WL2952 */
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user