mysql --skip-column-names flag should not affect alignment of field values,

set num_flag[] unconditionally, not under "if (column_names)"

http://ronaldbradford.com/blog/unexplained-trivial-mysql-behavior-2013-08-02/
This commit is contained in:
Sergei Golubchik 2013-08-08 13:33:15 +02:00
parent cafe9d13f6
commit b718dc449b
3 changed files with 10 additions and 1 deletions

View File

@ -3510,6 +3510,7 @@ print_table_data(MYSQL_RES *result)
if (length < 4 && !IS_NOT_NULL(field->flags))
length=4; // Room for "NULL"
field->max_length=length;
num_flag[mysql_field_tell(result) - 1]= IS_NUM(field->type);
separator.fill(separator.length()+length+2,'-');
separator.append('+');
}
@ -3529,7 +3530,6 @@ print_table_data(MYSQL_RES *result)
tee_fprintf(PAGER, " %-*s |",(int) min(display_length,
MAX_COLUMN_LENGTH),
field->name);
num_flag[off]= IS_NUM(field->type);
}
(void) tee_fputs("\n", PAGER);
tee_puts((char*) separator.ptr(), PAGER);

View File

@ -515,5 +515,9 @@ aa`bb``cc
drop database `aa``bb````cc`;
a
>>\ndelimiter\n<<
+-------------------+
| a |
| aaaaaaaaaaaaaaaaa |
+-------------------+
End of tests

View File

@ -603,5 +603,10 @@ delimiter
EOF
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/13639125.sql
#
# --skip-column-names and alignment
#
--exec $MYSQL -t -N -e "SELECT 'a' union select 'aaaaaaaaaaaaaaaaa'"
--echo
--echo End of tests