Description:
The output format of mysql --html is not as pretty as --xml output. A couple of line breaks and indents would help to make the output more readable.
How to repeat:
kai-voigts-macbook-air:client k$ mysql -V
mysql Ver 14.14 Distrib 5.1.32-ndb-7.0.5, for apple-darwin9.5.0 (i386) using readline 5.1
kai-voigts-macbook-air:client k$ mysql -uroot -proot -e "select * from world.city limit 3" --html
<TABLE BORDER=1><TR><TH>ID</TH><TH>Name</TH><TH>CountryCode</TH><TH>District</TH><TH>Population</TH></TR><TR><TD>1</TD><TD>Kabul</TD><TD>AFG</TD><TD>Kabol</TD><TD>1780000</TD></TR><TR><TD>2</TD><TD>Qandahar</TD><TD>AFG</TD><TD>Qandahar</TD><TD>237500</TD></TR><TR><TD>3</TD><TD>Herat</TD><TD>AFG</TD><TD>Herat</TD><TD>186800</TD></TR></TABLE>kai-voigts-macbook-air:client k$
Suggested fix:
kai-voigts-macbook-air:client k$ diff -c mysql.cc.orig mysql.cc
*** mysql.cc.orig 2009-06-16 14:22:52.000000000 +0200
--- mysql.cc 2009-07-21 13:39:47.000000000 +0200
***************
*** 3388,3422 ****
MYSQL_FIELD *field;
mysql_field_seek(result,0);
! (void) tee_fputs("<TABLE BORDER=1><TR>", PAGER);
if (column_names)
{
while((field = mysql_fetch_field(result)))
{
! tee_fputs("<TH>", PAGER);
! if (field->name && field->name[0])
xmlencode_print(field->name, field->name_length);
! else
tee_fputs(field->name ? " " : "NULL", PAGER);
! tee_fputs("</TH>", PAGER);
}
! (void) tee_fputs("</TR>", PAGER);
}
while ((cur = mysql_fetch_row(result)))
{
if (interrupted_query)
break;
ulong *lengths=mysql_fetch_lengths(result);
! (void) tee_fputs("<TR>", PAGER);
for (uint i=0; i < mysql_num_fields(result); i++)
{
! (void) tee_fputs("<TD>", PAGER);
xmlencode_print(cur[i], lengths[i]);
! (void) tee_fputs("</TD>", PAGER);
}
! (void) tee_fputs("</TR>", PAGER);
}
! (void) tee_fputs("</TABLE>", PAGER);
}
--- 3388,3423 ----
MYSQL_FIELD *field;
mysql_field_seek(result,0);
! (void) tee_fputs("<TABLE BORDER=1>\n <TR>\n", PAGER);
if (column_names)
{
while((field = mysql_fetch_field(result)))
{
! tee_fputs(" <TH>", PAGER);
! if (field->name && field->name[0]) {
xmlencode_print(field->name, field->name_length);
! } else {
tee_fputs(field->name ? " " : "NULL", PAGER);
! }
! tee_fputs("</TH>\n", PAGER);
}
! (void) tee_fputs(" </TR>\n", PAGER);
}
while ((cur = mysql_fetch_row(result)))
{
if (interrupted_query)
break;
ulong *lengths=mysql_fetch_lengths(result);
! (void) tee_fputs(" <TR>\n", PAGER);
for (uint i=0; i < mysql_num_fields(result); i++)
{
! (void) tee_fputs(" <TD>", PAGER);
xmlencode_print(cur[i], lengths[i]);
! (void) tee_fputs("</TD>\n", PAGER);
}
! (void) tee_fputs(" </TR>\n", PAGER);
}
! (void) tee_fputs("</TABLE>\n", PAGER);
}
kai-voigts-macbook-air:client k$ ./mysql -uroot -proot -e "select * from world.city limit 3" --html
<TABLE BORDER=1>
<TR>
<TH>ID</TH>
<TH>Name</TH>
<TH>CountryCode</TH>
<TH>District</TH>
<TH>Population</TH>
</TR>
<TR>
<TD>1</TD>
<TD>Kabul</TD>
<TD>AFG</TD>
<TD>Kabol</TD>
<TD>1780000</TD>
</TR>
<TR>
<TD>2</TD>
<TD>Qandahar</TD>
<TD>AFG</TD>
<TD>Qandahar</TD>
<TD>237500</TD>
</TR>
<TR>
<TD>3</TD>
<TD>Herat</TD>
<TD>AFG</TD>
<TD>Herat</TD>
<TD>186800</TD>
</TR>
</TABLE>
kai-voigts-macbook-air:client k$