diff options
author | monty@narttu.mysql.fi <> | 2003-03-18 02:51:16 +0200 |
---|---|---|
committer | monty@narttu.mysql.fi <> | 2003-03-18 02:51:16 +0200 |
commit | 85de222334f89a95bb60554b537d84c3bdc5a627 (patch) | |
tree | 56e522f3b2b2b8377449166173697dc2e9f1e7ff /sql | |
parent | d9dfba6e5c68c4aad569856f37cc037cfe02c18f (diff) | |
download | mariadb-git-85de222334f89a95bb60554b537d84c3bdc5a627.tar.gz |
Fix of 'halloween bug' with UPDATE of InnoDB tables.
Diffstat (limited to 'sql')
-rw-r--r-- | sql/key.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sql/key.cc b/sql/key.cc index f2488ab74cb..9f5379487c3 100644 --- a/sql/key.cc +++ b/sql/key.cc @@ -269,5 +269,13 @@ bool check_if_key_used(TABLE *table, uint idx, List<Item> &fields) return 1; } } + + /* + If table handler has primary key as part of the index, check that primary + key is not updated + */ + if (idx != table->primary_key && table->primary_key < MAX_KEY && + (table->file->option_flag() & HA_PRIMARY_KEY_IN_READ_INDEX)) + return check_if_key_used(table, table->primary_key, fields); return 0; } |