Hi,

In my opinion the test case is not complete, you are missing e.g.

ALTER TABLE t2 ADD FOREIGN KEY IF NOT EXISTS (id) REFERENCES t1(id);
-- should fail on warning
ALTER TABLE t2 ADD FOREIGN KEY IF NOT EXISTS (id) REFERENCES t1(id);
ALTER TABLE t2 ADD FOREIGN KEY IF NOT EXISTS a(id REFERENCES t1(id);
-- should fail, there is already foreign key for id, yes it name is not b or a but anyway
ALTER TABLE t2 ADD FOREIGN KEY IF NOT EXISTS b(id) REFERENCES t1(id);

R:
At file:///home/hf/wmar/10-hf/

------------------------------------------------------------
revno: 3966
revision-id: holyfoot@askmonty.org-20140201114304-7bi0ug2yg3eyyhlr
parent: psergey@askmonty.org-20140121100700-9g8hl8vx8nmk1e2w
committer: Alexey Botchkov <holyfoot@askmonty.org>
branch nick: 10-hf
timestamp: Sat 2014-02-01 15:43:04 +0400
message:
  MDEV-4439 ALTER TABLE .. [ADD|DROP] FOREIGN KEY IF [NOT] EXISTS does not work if constraint name is not used.
    Patches for server and the Innodb engine.
    Server is fixed so it does nothing if no indexes left to alter.
    Innodb parser is fixed so it looks for the IF [NOT] EXISTS option in a string.
    Another change is that it uses the index name for the internal dictionary.
    Prior to that it only used the CONSTRAINT name for it.


_______________________________________________
commits mailing list
commits@mariadb.org
https://lists.askmonty.org/cgi-bin/mailman/listinfo/commits


--

--

Jan Lindström
Principal Engineer

MariaDB | MaxScale | skype: jan_p_lindstrom

www.skysql.com

Twitter Blog Facebook LinkedIn Google+