diff options
author | Nirbhay Choubey <nirbhay.choubey@sun.com> | 2011-01-14 19:50:34 +0530 |
---|---|---|
committer | Nirbhay Choubey <nirbhay.choubey@sun.com> | 2011-01-14 19:50:34 +0530 |
commit | ab2d29ec6b84eb4531d2d63887ac29f7d9617e60 (patch) | |
tree | acc6315fad9570b276eedcd05fbeb423913afaec /mysql-test | |
parent | faafae781adc87d80dc0e7c5e631996ed015f8ed (diff) | |
download | mariadb-git-ab2d29ec6b84eb4531d2d63887ac29f7d9617e60.tar.gz |
Bug#13618 : mysqldump --xml omits comment on table field
When mysqldump tries to dump information in xml format,
the result does not contain field level comments.
In order to retrieve various informations for a field/column,
mysqldump currently uses 'show fields from <tab>' statement.
The attributes returned by the statement lacks the information
regarding field comments.
Fixed by changing the query to one that probes I_S to retrieve
required field informations, including the field comment.
client/mysqldump.c:
Bug#13618 : mysqldump --xml omits comment on table field.
Replaced the 'show fields' command by a statement that
queries I_S, in order to retrieve information on all the
attributes that 'show fields' returns along-with an additional
column_comment information.
mysql-test/r/client_xml.result:
Result modifications for bug#13618.
mysql-test/r/mysqldump.result:
Result modifications for bug#13618.
mysql-test/t/mysqldump.test:
Added a testcase for bug#13618.
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/client_xml.result | 6 | ||||
-rw-r--r-- | mysql-test/r/mysqldump.result | 37 | ||||
-rw-r--r-- | mysql-test/t/mysqldump.test | 9 |
3 files changed, 38 insertions, 14 deletions
diff --git a/mysql-test/r/client_xml.result b/mysql-test/r/client_xml.result index aa4bdb2bd61..7f74a092af7 100644 --- a/mysql-test/r/client_xml.result +++ b/mysql-test/r/client_xml.result @@ -21,9 +21,9 @@ insert into t1 values (1, 2, 'a&b a<b a>b'); <mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <database name="test"> <table_structure name="t1"> - <field Field="a&b" Type="int(11)" Null="YES" Key="" Extra="" /> - <field Field="a<b" Type="int(11)" Null="YES" Key="" Extra="" /> - <field Field="a>b" Type="text" Null="YES" Key="" Extra="" /> + <field Field="a&b" Type="int(11)" Null="YES" Key="" Extra="" Comment="" /> + <field Field="a<b" Type="int(11)" Null="YES" Key="" Extra="" Comment="" /> + <field Field="a>b" Type="text" Null="YES" Key="" Extra="" Comment="" /> </table_structure> <table_data name="t1"> <row> diff --git a/mysql-test/r/mysqldump.result b/mysql-test/r/mysqldump.result index d26eaac7a93..289e7f66406 100644 --- a/mysql-test/r/mysqldump.result +++ b/mysql-test/r/mysqldump.result @@ -14,7 +14,7 @@ INSERT INTO t1 VALUES (1), (2); <mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <database name="test"> <table_structure name="t1"> - <field Field="a" Type="int(11)" Null="YES" Key="MUL" Extra="" /> + <field Field="a" Type="int(11)" Null="YES" Key="MUL" Extra="" Comment="" /> <key Table="t1" Non_unique="1" Key_name="a" Seq_in_index="1" Column_name="a" Collation="A" Null="YES" Index_type="BTREE" Comment="" /> </table_structure> <table_data name="t1"> @@ -150,9 +150,9 @@ INSERT INTO t1 VALUES (1, "test", "tes"), (2, "TEST", "TES"); <mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <database name="test"> <table_structure name="t1"> - <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" /> - <field Field="b" Type="text" Null="YES" Key="" Extra="" /> - <field Field="c" Type="varchar(3)" Null="YES" Key="" Extra="" /> + <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" /> + <field Field="b" Type="text" Null="YES" Key="" Extra="" Comment="" /> + <field Field="c" Type="varchar(3)" Null="YES" Key="" Extra="" Comment="" /> </table_structure> <table_data name="t1"> <row> @@ -178,7 +178,7 @@ INSERT INTO t1 VALUES ("1\""), ("\"2"); <mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <database name="test"> <table_structure name="t1"> - <field Field="a"b"" Type="char(2)" Null="YES" Key="" Extra="" /> + <field Field="a"b"" Type="char(2)" Null="YES" Key="" Extra="" Comment="" /> </table_structure> <table_data name="t1"> <row> @@ -1612,10 +1612,10 @@ CREATE TABLE `t2` ( <mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <database name="mysqldump_test_db"> <table_structure name="t1"> - <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" /> + <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" /> </table_structure> <table_structure name="t2"> - <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" /> + <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" /> </table_structure> </database> </mysqldump> @@ -1623,10 +1623,10 @@ CREATE TABLE `t2` ( <mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <database name="mysqldump_test_db"> <table_structure name="t1"> - <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" /> + <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" /> </table_structure> <table_structure name="t2"> - <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" /> + <field Field="a" Type="int(11)" Null="YES" Key="" Extra="" Comment="" /> </table_structure> </database> </mysqldump> @@ -3644,8 +3644,8 @@ INSERT INTO t1 VALUES(1,0xff00fef0); <mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <database name="test"> <table_structure name="t1"> - <field Field="f1" Type="int(10)" Null="YES" Key="" Extra="" /> - <field Field="data" Type="mediumblob" Null="YES" Key="" Extra="" /> + <field Field="f1" Type="int(10)" Null="YES" Key="" Extra="" Comment="" /> + <field Field="data" Type="mediumblob" Null="YES" Key="" Extra="" Comment="" /> </table_structure> <table_data name="t1"> <row> @@ -4576,5 +4576,20 @@ LENGTH(a) 800 DROP TABLE t1, t2; # +# Bug #13618 : mysqldump --xml ommit comment on table field +# +CREATE TABLE `comment_table` (i INT COMMENT 'FIELD COMMENT') COMMENT = 'TABLE COMMENT'; +<?xml version="1.0"?> +<mysqldump xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> +<database name="test"> + <table_structure name="comment_table"> + <field Field="i" Type="int(11)" Null="YES" Key="" Extra="" Comment="FIELD COMMENT" /> + </table_structure> + <table_data name="comment_table"> + </table_data> +</database> +</mysqldump> +DROP TABLE `comment_table`; +# # End of 5.1 tests # diff --git a/mysql-test/t/mysqldump.test b/mysql-test/t/mysqldump.test index 9246d488dd8..fe0b05dbb42 100644 --- a/mysql-test/t/mysqldump.test +++ b/mysql-test/t/mysqldump.test @@ -2164,6 +2164,15 @@ SELECT LENGTH(a) FROM t2; DROP TABLE t1, t2; ########################################################################### + +--echo # +--echo # Bug #13618 : mysqldump --xml ommit comment on table field +--echo # + +CREATE TABLE `comment_table` (i INT COMMENT 'FIELD COMMENT') COMMENT = 'TABLE COMMENT'; +--exec $MYSQL_DUMP --compact --skip-create --xml test +DROP TABLE `comment_table`; + --echo # --echo # End of 5.1 tests --echo # |