#At file:///Users/mattiasj/clones/bzrroot/b31210-60-bugteam/
2664 Mattias Jonsson 2008-06-03 [merge]
Bug#31210: INSERT DELAYED crashes server when used on partitioned tables
Manual merge from 5.1
modified:
mysql-test/r/innodb-replace.result
mysql-test/t/innodb-replace.test
mysql-test/t/merge.test
mysql-test/t/partition_hash.test
sql/share/errmsg.txt
sql/sql_insert.cc
per-file messages:
mysql-test/r/innodb-replace.result
Bug#31210: INSERT DELAYED crashes server when used on partitioned tables
Manual merge from 5.1
mysql-test/t/innodb-replace.test
Bug#31210: INSERT DELAYED crashes server when used on partitioned tables
Manual merge from 5.1
mysql-test/t/merge.test
Bug#31210: INSERT DELAYED crashes server when used on partitioned tables
Manual merge from 5.1
mysql-test/t/partition_hash.test
Bug#31210: INSERT DELAYED crashes server when used on partitioned tables
Manual merge from 5.1
sql/share/errmsg.txt
Bug#31210: INSERT DELAYED crashes server when used on partitioned tables
Manual merge from 5.1
sql/sql_insert.cc
Bug#31210: INSERT DELAYED crashes server when used on partitioned tables
Manual merge from 5.1
=== modified file 'mysql-test/r/innodb-replace.result'
--- a/mysql-test/r/innodb-replace.result 2007-02-15 14:39:03 +0000
+++ b/mysql-test/r/innodb-replace.result 2008-06-03 11:25:41 +0000
@@ -3,11 +3,11 @@ create table t1 (c1 char(5) unique not n
select * from t1;
c1 c2 stamp
replace delayed into t1 (c1, c2) values ( "text1","11");
-ERROR HY000: Table storage engine for 't1' doesn't have this option
+ERROR HY000: DELAYED option not supported for table 't1'
select * from t1;
c1 c2 stamp
replace delayed into t1 (c1, c2) values ( "text1","12");
-ERROR HY000: Table storage engine for 't1' doesn't have this option
+ERROR HY000: DELAYED option not supported for table 't1'
select * from t1;
c1 c2 stamp
drop table t1;
=== modified file 'mysql-test/t/innodb-replace.test'
--- a/mysql-test/t/innodb-replace.test 2007-02-15 14:39:03 +0000
+++ b/mysql-test/t/innodb-replace.test 2008-06-03 11:25:41 +0000
@@ -11,10 +11,10 @@ drop table if exists t1;
#
create table t1 (c1 char(5) unique not null, c2 int, stamp timestamp) engine=innodb;
select * from t1;
---error 1031
+--error ER_DELAYED_NOT_SUPPORTED
replace delayed into t1 (c1, c2) values ( "text1","11");
select * from t1;
---error 1031
+--error ER_DELAYED_NOT_SUPPORTED
replace delayed into t1 (c1, c2) values ( "text1","12");
select * from t1;
drop table t1;
=== modified file 'mysql-test/t/merge.test'
--- a/mysql-test/t/merge.test 2008-05-01 09:34:54 +0000
+++ b/mysql-test/t/merge.test 2008-06-03 11:49:53 +0000
@@ -1201,7 +1201,7 @@ UNLOCK TABLES;
# Succeeds in embedded server - is converted to normal insert
# Fails in normal server, ps-protocol - not supported by engine
# Fails in normal server, normal protocol - not a base table
---error 0, ER_ILLEGAL_HA, ER_WRONG_OBJECT
+--error 0, ER_DELAYED_NOT_SUPPORTED, ER_WRONG_OBJECT
INSERT DELAYED INTO t4 VALUES(44);
# Get rid of row in embedded server
DELETE FROM t4 WHERE c1 = 44;
@@ -1214,9 +1214,9 @@ INSERT DELAYED INTO t3 VALUES(33);
}
SELECT * FROM t4 ORDER BY c1;
LOCK TABLES t3 WRITE, t2 WRITE, t4 WRITE, t1 WRITE;
---error ER_DELAYED_INSERT_TABLE_LOCKED, ER_ILLEGAL_HA
+--error ER_DELAYED_INSERT_TABLE_LOCKED, ER_DELAYED_NOT_SUPPORTED
INSERT DELAYED INTO t4 VALUES(444);
---error ER_DELAYED_INSERT_TABLE_LOCKED, ER_ILLEGAL_HA
+--error ER_DELAYED_INSERT_TABLE_LOCKED, ER_DELAYED_NOT_SUPPORTED
INSERT DELAYED INTO t3 VALUES(333);
SELECT * FROM t4 ORDER BY c1;
UNLOCK TABLES;
=== modified file 'mysql-test/t/partition_hash.test'
--- a/mysql-test/t/partition_hash.test 2007-11-20 10:21:00 +0000
+++ b/mysql-test/t/partition_hash.test 2008-06-03 11:25:41 +0000
@@ -165,8 +165,9 @@ drop table t1;
#
CREATE TABLE t1 (c1 INT) ENGINE=MyISAM PARTITION BY HASH(c1) PARTITIONS 1;
# The test succeeds in an embedded server because normal insert is done.
-# The test fails in a normal server with "engine doesn't have this option".
---error 0, ER_ILLEGAL_HA
+# The test fails in a normal server with
+# "DELAYED option not supported by table".
+--error 0, ER_DELAYED_NOT_SUPPORTED
INSERT DELAYED INTO t1 VALUES (1);
DROP TABLE t1;
=== modified file 'sql/share/errmsg.txt'
--- a/sql/share/errmsg.txt 2008-05-29 12:56:51 +0000
+++ b/sql/share/errmsg.txt 2008-06-03 11:49:53 +0000
@@ -6127,8 +6127,13 @@ ER_LOAD_DATA_INVALID_COLUMN
ER_LOG_PURGE_NO_FILE
eng "Being purged log %s was not found"
+
ER_NEED_REPREPARE
eng "Prepared statement needs to be re-prepared"
+
+ER_DELAYED_NOT_SUPPORTED
+ eng "DELAYED option not supported for table '%-.192s'"
+
ER_WARN_AUTO_CONVERT_LOCK
eng "Converted to non-transactional lock on '%-.64s'"
ger "Umgewandelt zu nicht-transaktionalen Sperren auf '%-.64s'"
=== modified file 'sql/sql_insert.cc'
--- a/sql/sql_insert.cc 2008-05-08 20:43:28 +0000
+++ b/sql/sql_insert.cc 2008-06-03 11:49:53 +0000
@@ -2308,7 +2308,7 @@ pthread_handler_t handle_delayed_insert(
}
if (!(di->table->file->ha_table_flags() & HA_CAN_INSERT_DELAYED))
{
- my_error(ER_ILLEGAL_HA, MYF(ME_FATALERROR), di->table_list.table_name);
+ my_error(ER_DELAYED_NOT_SUPPORTED, MYF(ME_FATALERROR), di->table_list.table_name);
goto err;
}
if (di->table->triggers)
| Thread |
|---|
| • bzr commit into mysql-6.0 branch (mattiasj:2664) Bug#31210 | Mattias Jonsson | 3 Jun |