diff options
author | Sergey Glukhov <Sergey.Glukhov@sun.com> | 2010-02-26 17:40:01 +0400 |
---|---|---|
committer | Sergey Glukhov <Sergey.Glukhov@sun.com> | 2010-02-26 17:40:01 +0400 |
commit | 5d9a74f22dfefd27d0bb62a1829a2484741bbf8a (patch) | |
tree | f0ae736e5674de5566766cbec76784fcfad888f9 /sql/item.cc | |
parent | 3fcb25d806c84c41f85f3bb6b27275a42b3cb8b5 (diff) | |
download | mariadb-git-5d9a74f22dfefd27d0bb62a1829a2484741bbf8a.tar.gz |
Bug#47669 Query showed by EXPLAIN EXTENDED gives different result from original query
Item_field::print method does not take into
account fields whose values may be null.
The fix is to print 'NULL' if field value is null.
Diffstat (limited to 'sql/item.cc')
-rw-r--r-- | sql/item.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sql/item.cc b/sql/item.cc index 934e897f923..04496338b8f 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -5690,9 +5690,14 @@ void Item_field::print(String *str, enum_query_type query_type) char buff[MAX_FIELD_WIDTH]; String tmp(buff,sizeof(buff),str->charset()); field->val_str(&tmp); - str->append('\''); - str->append(tmp); - str->append('\''); + if (field->is_null()) + str->append("NULL"); + else + { + str->append('\''); + str->append(tmp); + str->append('\''); + } return; } Item_ident::print(str, query_type); |