1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Bug #21618: NULL shown as empty string in client

The column's NOT NULL flag doesn't affect what we should print.  Remove the
wrong logic that does check it.

Also, verify that this and the previous two tests print the same data as 
other output formats.


client/mysql.cc:
  Don't check the column's NOT NULL flag when determining whether to print 
  "NULL" or not.
mysql-test/r/mysql.result:
  Add results and confirm that the other output forms give the same results
  for other similar tests.
mysql-test/t/mysql.test:
  Add regression tests for this bug and two similar bugs.
This commit is contained in:
unknown
2006-09-13 11:41:41 -04:00
parent d31a343465
commit 306827a5cc
3 changed files with 26 additions and 5 deletions

View File

@@ -2270,10 +2270,8 @@ print_table_data(MYSQL_RES *result)
MYSQL_ROW cur;
MYSQL_FIELD *field;
bool *num_flag;
bool *not_null_flag;
num_flag=(bool*) my_alloca(sizeof(bool)*mysql_num_fields(result));
not_null_flag=(bool*) my_alloca(sizeof(bool)*mysql_num_fields(result));
if (info_flag)
{
print_field_types(result);
@@ -2307,7 +2305,6 @@ print_table_data(MYSQL_RES *result)
MAX_COLUMN_LENGTH),
field->name);
num_flag[off]= IS_NUM(field->type);
not_null_flag[off]= IS_NOT_NULL(field->flags);
}
(void) tee_fputs("\n", PAGER);
tee_puts((char*) separator.ptr(), PAGER);
@@ -2328,7 +2325,7 @@ print_table_data(MYSQL_RES *result)
uint extra_padding;
/* If this column may have a null value, use "NULL" for empty. */
if (! not_null_flag[off] && (cur[off] == NULL))
if (cur[off] == NULL)
{
buffer= "NULL";
data_length= 4;
@@ -2368,7 +2365,6 @@ print_table_data(MYSQL_RES *result)
}
tee_puts((char*) separator.ptr(), PAGER);
my_afree((gptr) num_flag);
my_afree((gptr) not_null_flag);
}