summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2003-03-16 16:26:59 +0200
committerunknown <monty@mashka.mysql.fi>2003-03-16 16:26:59 +0200
commitd5292ebfb668db3832ab8808ca5d594a3728de0b (patch)
treef1261b91e246fd614f771c3a209a6273ac150730
parentfcf035a0d85bc49c8c071246ce22a19f2fea395b (diff)
parent11fdb2d387f563e44821549a1f7382e752ec6a09 (diff)
downloadmariadb-git-d5292ebfb668db3832ab8808ca5d594a3728de0b.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-3.23
into mashka.mysql.fi:/home/my/mysql-3.23
-rw-r--r--configure.in2
-rw-r--r--innobase/row/row0mysql.c2
-rw-r--r--innobase/row/row0sel.c21
3 files changed, 10 insertions, 15 deletions
diff --git a/configure.in b/configure.in
index a8aacc6a6bf..cc6f3a79b69 100644
--- a/configure.in
+++ b/configure.in
@@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(sql/mysqld.cc)
AC_CANONICAL_SYSTEM
# The Docs Makefile.am parses this line!
-AM_INIT_AUTOMAKE(mysql, 3.23.56)
+AM_INIT_AUTOMAKE(mysql, 3.23.57)
AM_CONFIG_HEADER(config.h)
PROTOCOL_VERSION=10
diff --git a/innobase/row/row0mysql.c b/innobase/row/row0mysql.c
index f0aa413a64c..ae2f3514f4d 100644
--- a/innobase/row/row0mysql.c
+++ b/innobase/row/row0mysql.c
@@ -6,7 +6,7 @@ Contains also create table and other data dictionary operations.
Created 9/17/2000 Heikki Tuuri
*******************************************************/
-
+
#include "row0mysql.h"
#ifdef UNIV_NONINL
diff --git a/innobase/row/row0sel.c b/innobase/row/row0sel.c
index 5f260634149..c9de502eb9a 100644
--- a/innobase/row/row0sel.c
+++ b/innobase/row/row0sel.c
@@ -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,