Commit 9d9fa39b authored by Timothy Smith's avatar Timothy Smith

Cherry-pick fix for Bug#35220 from innodb-5.0-ss2475 snapshot.

Bug#35220: ALTER TABLE too picky on reserved word "foreign"

In ALTER TABLE, change the internal parser to search for
``FOREIGN[[:space:]]'' instead of only ``FOREIGN'' when parsing
ALTER TABLE ... DROP FOREIGN KEY ...; otherwise it could be mistaken
with ALTER TABLE ... DROP foreign_col;

(This fix is already present in MySQL 5.1 and higher.)
parent dc593c3e
......@@ -3554,7 +3554,7 @@ dict_foreign_parse_drop_constraints(
ptr = dict_accept(ptr, "FOREIGN", &success);
if (!success) {
if (!success || !ib_isspace(*ptr)) {
goto loop;
}
......
SET storage_engine=InnoDB;
#
# Bug#35220 ALTER TABLE too picky on reserved word "foreign"
# http://bugs.mysql.com/35220
#
-- source include/have_innodb.inc
SET storage_engine=InnoDB;
# we care only that the following SQL commands do not produce errors
-- disable_query_log
-- disable_result_log
CREATE TABLE bug35220 (foreign_col INT, dummy_cant_delete_all_columns INT);
ALTER TABLE bug35220 DROP foreign_col;
DROP TABLE bug35220;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment