diff options
author | unknown <aivanov@mysql.com> | 2006-01-30 15:17:33 +0300 |
---|---|---|
committer | unknown <aivanov@mysql.com> | 2006-01-30 15:17:33 +0300 |
commit | cc47eb77913aa40fc7642ccf5d372675059ec8f2 (patch) | |
tree | 08ba2fde9e3237be148e59033c35f0b139b97a33 /innobase | |
parent | 6cc16c50191951e1d4fe3eb657fa53eb3f44da9d (diff) | |
download | mariadb-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.c | 3 |
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), |