From b2a68038cecdd9881ef420fcbe984acfaa934b7a Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 6 Mar 2008 14:07:49 -0500 Subject: Bug#28269: FEDERATED engine fails to quote reserved words for \ field names Add a test that proves the bug is fixed. This doesn't add any new server code. mysql-test/r/federated.result: Verifying that one can use federated with keyword and bizarre column names. mysql-test/t/federated.test: Verifying that one can use federated with keyword and bizarre column names. Eval interprets one level of backslash escaping, so some of this may look strange. --- mysql-test/t/federated.test | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'mysql-test/t/federated.test') diff --git a/mysql-test/t/federated.test b/mysql-test/t/federated.test index 76cb5fd4793..191bba244c3 100644 --- a/mysql-test/t/federated.test +++ b/mysql-test/t/federated.test @@ -6,6 +6,9 @@ connection slave; DROP TABLE IF EXISTS federated.t1; CREATE TABLE federated.t1 ( `id` int(20) NOT NULL, + `group` int NOT NULL default 0, + `a\\b` int NOT NULL default 0, + `a\\` int NOT NULL default 0, `name` varchar(32) NOT NULL default '' ) DEFAULT CHARSET=latin1; @@ -16,6 +19,9 @@ DROP TABLE IF EXISTS federated.t1; --error 1432 CREATE TABLE federated.t1 ( `id` int(20) NOT NULL, + `group` int NOT NULL default 0, + `a\\b` inT NOT NULL default 0, + `a\\` int NOT NULL default 0, `name` varchar(32) NOT NULL default '' ) ENGINE="FEDERATED" DEFAULT CHARSET=latin1 @@ -25,6 +31,9 @@ CREATE TABLE federated.t1 ( --error 1432 CREATE TABLE federated.t1 ( `id` int(20) NOT NULL, + `group` int NOT NULL default 0, + `a\\b` iNt NOT NULL default 0, + `a\\` int NOT NULL default 0, `name` varchar(32) NOT NULL default '' ) ENGINE="FEDERATED" DEFAULT CHARSET=latin1 @@ -34,6 +43,9 @@ CREATE TABLE federated.t1 ( --replace_result $SLAVE_MYPORT SLAVE_PORT eval CREATE TABLE federated.t1 ( `id` int(20) NOT NULL, + `group` int NOT NULL default 0, + `a\\\\b` iNT NOT NULL default 0, + `a\\\\` int NOT NULL default 0, `name` varchar(32) NOT NULL default '' ) ENGINE="FEDERATED" DEFAULT CHARSET=latin1 @@ -46,6 +58,9 @@ DROP TABLE federated.t1; --replace_result $SLAVE_MYPORT SLAVE_PORT eval CREATE TABLE federated.t1 ( `id` int(20) NOT NULL, + `group` int NOT NULL default 0, + `a\\\\b` Int NOT NULL default 0, + `a\\\\` int NOT NULL default 0, `name` varchar(32) NOT NULL default '' ) ENGINE="FEDERATED" DEFAULT CHARSET=latin1 @@ -58,6 +73,9 @@ DROP TABLE federated.t1; --replace_result $SLAVE_MYPORT SLAVE_PORT eval CREATE TABLE federated.t1 ( `id` int(20) NOT NULL, + `group` int NOT NULL default 0, + `a\\\\b` InT NOT NULL default 0, + `a\\\\` int NOT NULL default 0, `name` varchar(32) NOT NULL default '' ) ENGINE="FEDERATED" DEFAULT CHARSET=latin1 @@ -65,6 +83,9 @@ eval CREATE TABLE federated.t1 ( INSERT INTO federated.t1 (id, name) VALUES (1, 'foo'); INSERT INTO federated.t1 (id, name) VALUES (2, 'fee'); +INSERT INTO federated.t1 (id, `group`) VALUES (3, 42); +INSERT INTO federated.t1 (id, `a\\b`) VALUES (4, 23); +INSERT INTO federated.t1 (id, `a\\`) VALUES (5, 1); SELECT * FROM federated.t1; DELETE FROM federated.t1; -- cgit v1.2.1