summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorunknown <aivanov@mysql.com>2006-01-30 15:17:33 +0300
committerunknown <aivanov@mysql.com>2006-01-30 15:17:33 +0300
commitcc47eb77913aa40fc7642ccf5d372675059ec8f2 (patch)
tree08ba2fde9e3237be148e59033c35f0b139b97a33 /innobase
parent6cc16c50191951e1d4fe3eb657fa53eb3f44da9d (diff)
downloadmariadb-git-cc47eb77913aa40fc7642ccf5d372675059ec8f2.tar.gz
Fixed BUG#16387.
Applied innodb-4.1-ss17 snapshot. Do not mistake TABLENAME_ibfk_0 for auto-generated id. innobase/dict/dict0dict.c: Applied innodb-4.1-ss17 snapshot. dict_table_get_highest_foreign_id(): Ignore foreign constraint identifiers starting with the pattern TABLENAME_ibfk_0 (BUG#16387). mysql-test/r/innodb.result: Applied innodb-4.1-ss17 snapshot. Fixed results for added test case. mysql-test/t/innodb.test: Applied innodb-4.1-ss17 snapshot. Added test case.
Diffstat (limited to 'innobase')
-rw-r--r--innobase/dict/dict0dict.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/innobase/dict/dict0dict.c b/innobase/dict/dict0dict.c
index 0cdd593b678..093df5118af 100644
--- a/innobase/dict/dict0dict.c
+++ b/innobase/dict/dict0dict.c
@@ -2755,7 +2755,8 @@ dict_table_get_highest_foreign_id(
if (ut_strlen(foreign->id) > ((sizeof dict_ibfk) - 1) + len
&& 0 == ut_memcmp(foreign->id, table->name, len)
&& 0 == ut_memcmp(foreign->id + len,
- dict_ibfk, (sizeof dict_ibfk) - 1)) {
+ dict_ibfk, (sizeof dict_ibfk) - 1)
+ && foreign->id[len + ((sizeof dict_ibfk) - 1)] != '0') {
/* It is of the >= 4.0.18 format */
id = strtoul(foreign->id + len + ((sizeof dict_ibfk) - 1),