summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <istruewing@chilla.local>2007-03-06 12:35:58 +0100
committerunknown <istruewing@chilla.local>2007-03-06 12:35:58 +0100
commit1d6584e61cce7b2a9e2fd0d85becae66c6557bb4 (patch)
treeb5e7fd77af400ddf6416bcffa2fe76bf67bb8ceb
parent8bf49833318770d5e9a559b8cdc66f9cc02a5f55 (diff)
parent2f863451b5c5fe848d26f5f87ae27f13415805b3 (diff)
downloadmariadb-git-1d6584e61cce7b2a9e2fd0d85becae66c6557bb4.tar.gz
Merge chilla.local:/home/mydev/mysql-5.0-bug26464
into chilla.local:/home/mydev/mysql-5.1-bug26464 mysql-test/r/merge.result: Auto merged mysql-test/t/merge.test: Auto merged storage/myisammrg/ha_myisammrg.h: Bug#26464 - insert delayed + update + merge = corruption Manual merge from 5.0
-rw-r--r--mysql-test/r/merge.result5
-rw-r--r--mysql-test/t/merge.test9
-rw-r--r--storage/myisammrg/ha_myisammrg.h4
3 files changed, 16 insertions, 2 deletions
diff --git a/mysql-test/r/merge.result b/mysql-test/r/merge.result
index c654392f6e1..9dc2db39e9f 100644
--- a/mysql-test/r/merge.result
+++ b/mysql-test/r/merge.result
@@ -806,6 +806,11 @@ CREATE TABLE tm1(a SMALLINT, b SMALLINT, KEY(a)) ENGINE=MERGE UNION=(t1);
SELECT * FROM tm1;
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
DROP TABLE t1, tm1;
+CREATE TABLE t1(c1 INT) ENGINE=MyISAM;
+CREATE TABLE t2(c1 INT) ENGINE=MERGE UNION=(t1);
+INSERT DELAYED INTO t2 VALUES(1);
+ERROR HY000: Table storage engine for 't2' doesn't have this option
+DROP TABLE t1, t2;
create table t1 (b bit(1));
create table t2 (b bit(1));
create table tm (b bit(1)) engine = merge union = (t1,t2);
diff --git a/mysql-test/t/merge.test b/mysql-test/t/merge.test
index d3639b07bdb..1fce643a5e3 100644
--- a/mysql-test/t/merge.test
+++ b/mysql-test/t/merge.test
@@ -434,6 +434,15 @@ CREATE TABLE tm1(a SMALLINT, b SMALLINT, KEY(a)) ENGINE=MERGE UNION=(t1);
SELECT * FROM tm1;
DROP TABLE t1, tm1;
+#
+# Bug#26464 - insert delayed + update + merge = corruption
+#
+CREATE TABLE t1(c1 INT) ENGINE=MyISAM;
+CREATE TABLE t2(c1 INT) ENGINE=MERGE UNION=(t1);
+--error 1031
+INSERT DELAYED INTO t2 VALUES(1);
+DROP TABLE t1, t2;
+
# End of 4.1 tests
#
diff --git a/storage/myisammrg/ha_myisammrg.h b/storage/myisammrg/ha_myisammrg.h
index ffa55673ad1..04379f6cf70 100644
--- a/storage/myisammrg/ha_myisammrg.h
+++ b/storage/myisammrg/ha_myisammrg.h
@@ -36,8 +36,8 @@ class ha_myisammrg: public handler
{
return (HA_REC_NOT_IN_SEQ | HA_AUTO_PART_KEY | HA_NO_TRANSACTIONS |
HA_NULL_IN_KEY | HA_CAN_INDEX_BLOBS | HA_FILE_BASED |
- HA_CAN_INSERT_DELAYED | HA_ANY_INDEX_MAY_BE_UNIQUE |
- HA_CAN_BIT_FIELD | HA_NO_COPY_ON_ALTER);
+ HA_ANY_INDEX_MAY_BE_UNIQUE | HA_CAN_BIT_FIELD |
+ HA_NO_COPY_ON_ALTER);
}
ulong index_flags(uint inx, uint part, bool all_parts) const
{