Below is the list of changes that have just been committed into a local
5.1 repository of mats. When mats 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-06-22 01:08:26+02:00, mats@stripped +3 -0
BUG#23051 (READ COMMITTED breaks mixed and statement-based replication):
Minor fixes to get proper detection of transaction isolation level when
inside external_lock().
mysql-test/t/disabled.def@stripped, 2007-06-22 01:08:19+02:00, mats@stripped +0 -1
Enabling innodb.test again.
mysql-test/t/innodb.test@stripped, 2007-06-22 01:08:20+02:00, mats@stripped +6 -2
Fixing some error codes. Test currently requires MIXED or ROW mode since
READ-COMMITTED and READ-UNCOMMITTED are not safe for STATEMENT mode, i.e.,
when the binary log is enabled.
storage/innobase/handler/ha_innodb.cc@stripped, 2007-06-22 01:08:20+02:00, mats@stripped +4 -3
Using tx_isolation since trx->isolation_level is not defined when
inside external_lock().
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: mats
# Host: kindahl-laptop.dnsalias.net
# Root: /home/bk/b23051-mysql-5.1-rpl
--- 1.264/mysql-test/t/disabled.def 2007-06-22 01:08:33 +02:00
+++ 1.265/mysql-test/t/disabled.def 2007-06-22 01:08:33 +02:00
@@ -19,7 +19,6 @@
im_life_cycle : BUG#27851 Instance manager dies on ASSERT in ~Thread_registry() or from not being able to close a mysqld instance.
im_instance_conf : BUG#28743 Instance manager generates warnings in test suite
im_utils : BUG#28743 Instance manager generates warnings in test suite
-innodb : Disabling test case awaiting reply from Innobase
concurrent_innodb : BUG#21579 2006-08-11 mleich innodb_concurrent random failures with varying differences
ndb_autodiscover : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog
ndb_autodiscover2 : BUG#18952 2006-02-16 jmiller Needs to be fixed w.r.t binlog
--- 1.166/mysql-test/t/innodb.test 2007-06-22 01:08:33 +02:00
+++ 1.167/mysql-test/t/innodb.test 2007-06-22 01:08:33 +02:00
@@ -15,6 +15,10 @@
-- source include/have_innodb.inc
-- source include/have_log_bin.inc
+# Disabling it temporarily for statement-based logging since some
+# tests are not safe while binlog is on.
+-- source include/have_binlog_format_mixed_or_row.inc
+
#
# Small basic test with ignore
#
@@ -775,7 +779,7 @@
insert into t1 values (1,1),(2,2);
insert into t2 values (1,1),(4,4);
reset master;
---error ER_DUP_ENTRY_WITH_KEY_NAME
+--error ER_DUP_ENTRY
UPDATE t2,t1 SET t2.a=t1.a+2;
# check
select * from t2 /* must be (3,1), (4,4) */;
@@ -787,7 +791,7 @@
insert into t1 values (1,2),(3,4),(4,4);
insert into t2 values (1,2),(3,4),(4,4);
reset master;
---error ER_DUP_ENTRY_WITH_KEY_NAME
+--error ER_DUP_ENTRY
UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
show master status /* there must be no UPDATE query event */;
--- 1.342/storage/innobase/handler/ha_innodb.cc 2007-06-22 01:08:33 +02:00
+++ 1.343/storage/innobase/handler/ha_innodb.cc 2007-06-22 01:08:33 +02:00
@@ -6267,16 +6267,17 @@
if (lock_type == F_WRLCK)
{
ulong const binlog_format= thd->variables.binlog_format;
- if (trx->isolation_level <= TRX_ISO_READ_COMMITTED &&
+ ulong const tx_isolation = thd_tx_isolation(current_thd);
+ if (tx_isolation <= ISO_READ_COMMITTED &&
binlog_format == BINLOG_FORMAT_STMT)
{
char buf[256];
bool const read_uncommitted =
trx->isolation_level == TRX_ISO_READ_UNCOMMITTED;
my_snprintf(buf, sizeof(buf),
- "Transaction level 'READ %sCOMMITTED' in"
+ "Transaction level '%s' in"
" InnoDB is not safe for binlog mode '%s'",
- read_uncommitted ? "UN" : "",
+ tx_isolation_names[tx_isolation],
binlog_format_names[binlog_format]);
my_error(ER_BINLOG_LOGGING_IMPOSSIBLE, MYF(0), buf);
return HA_ERR_LOGGING_IMPOSSIBLE;
| Thread |
|---|
| • bk commit into 5.1 tree (mats:1.2532) BUG#23051 | Mats Kindahl | 22 Jun |