summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorAnnamalai Gurusami <annamalai.gurusami@oracle.com>2012-03-01 11:05:51 +0530
committerAnnamalai Gurusami <annamalai.gurusami@oracle.com>2012-03-01 11:05:51 +0530
commit7e36c4bdb0364158b63b4939838204b4f140b63e (patch)
treeb4c0a4d26199289477ce74e7b5884a6c1df13be9 /mysys
parent0f64bd26bbdc86d317d13f79aff5871b354ca9c0 (diff)
downloadmariadb-git-7e36c4bdb0364158b63b4939838204b4f140b63e.tar.gz
Bug#13635833: MULTIPLE CRASHES IN FOREIGN KEY CODE WITH CONCURRENT DDL/DML
There are two threads. In one thread, dml operation is going on involving cascaded update operation. In another thread, alter table add foreign key constraint is happening. Under these circumstances, it is possible for the dml thread to access a dict_foreign_t object that has been freed by the ddl thread. The debug sync test case provides the sequence of operations. Without fix, the test case will crash the server (because of newly added assert). With fix, the alter table stmt will return an error message. Backporting the fix from MySQL 5.5 to 5.1 rb:961 rb:947
Diffstat (limited to 'mysys')
-rw-r--r--mysys/my_handler_errors.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/mysys/my_handler_errors.h b/mysys/my_handler_errors.h
index 44c79466e84..1710ac81395 100644
--- a/mysys/my_handler_errors.h
+++ b/mysys/my_handler_errors.h
@@ -78,6 +78,10 @@ static const char *handler_error_messages[]=
"Got a fatal error during initialzaction of handler",
"File to short; Expected more data in file",
"Read page with wrong checksum",
- "Too many active concurrent transactions"
+ "Too many active concurrent transactions",
+ "",
+ "",
+ "",
+ "Table is being used in foreign key check" /* HA_ERR_TABLE_IN_FK_CHECK */
};