Commit 7609df7f authored by vasil's avatar vasil

branches/5.1:

 
Fix 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;
 
Approved by:	Heikki
parent 94b5f4dc
......@@ -3395,7 +3395,7 @@ loop:
ptr = dict_accept(cs, ptr, "FOREIGN", &success);
if (!success) {
if (!success || !my_isspace(cs, *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