Commit 27a7c0c8 authored by unknown's avatar unknown

row0sel.c:

  Fix bug number 154: GROUP BY and DISTINCT could treat NULL values inequal


innobase/row/row0sel.c:
  Fix bug number 154: GROUP BY and DISTINCT could treat NULL values inequal
parent 0ee78534
......@@ -2115,19 +2115,14 @@ row_sel_store_mysql_rec(
extern_field_heap = NULL;
}
} else {
/* MySQL sometimes seems to copy the 'data'
pointed to by a BLOB field even if the field
has been marked to contain the SQL NULL value.
This caused seg faults reported by two users.
Set the BLOB length to 0 and the data pointer
to NULL to avoid a seg fault. */
if (templ->type == DATA_BLOB) {
row_sel_field_store_in_mysql_format(
mysql_rec + templ->mysql_col_offset,
templ->mysql_col_len, NULL,
0, templ->type, templ->is_unsigned);
}
/* MySQL seems to assume the field for an SQL NULL
value is set to zero. Not taking this into account
caused seg faults with NULL BLOB fields, and
bug number 154 in the MySQL bug database: GROUP BY
and DISTINCT could treat NULL values inequal. */
memset(mysql_rec + templ->mysql_col_offset, '\0',
templ->mysql_col_len);
if (!templ->mysql_null_bit_mask) {
fprintf(stderr,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment