Problem: output was empty if the result is empty.
Fix: print XML header and footer, even if the result
is empty, to produce well-formed XML output.
client/mysql.cc:
Print header and footer even on empty set, when --xml
mysql-test/r/client_xml.result:
Adding test case
mysql-test/t/client_xml.test:
Adding test case
Fix: adding namespace reference into "mysql --xml" output,
to make it work similary to "mysqldump --xml".
client/mysql.cc:
Adding namespace reference.
mysql-test/r/client_xml.result:
Fixing test results
Fix: "mysql --xml" now print NULL values the same way that "mysqldump --xml" does:
<field name="name" xsi:nil="true" />
to distinguish from empty strings:
<field name="name"></field>
and from string "NULL":
<field name="name">NULL</field>
client/mysql.cc:
Fixing to print NULLs differently from empty strings
mysql-test/r/client_xml.result:
Fixing test result accordingly
tool does, with the column names as attributes on <field>
elements, instead of trying to use the column name as the
element name. Also fix some encoding issues. (Bug #7811)
client/mysql.cc:
Quote > and " in XML output, and use <field name="XXX"></field>
instead of <XXX></XXX>, to make the output more like
mysqldump --xml and avoid having to turn XXX into a sensible
element name.