Commit e1660368 authored by ram@gw.mysql.r18.ru's avatar ram@gw.mysql.r18.ru

A fix (bug #3756: ISNULL(QUOTE()) returns 1 for every row after 1st NULL)

parent b4ae2577
...@@ -273,3 +273,12 @@ i ELT(j, '345', '34') ...@@ -273,3 +273,12 @@ i ELT(j, '345', '34')
1 345 1 345
2 34 2 34
DROP TABLE t1; DROP TABLE t1;
create table t1(a char(4));
insert into t1 values ('one'),(NULL),('two'),('four');
select a, quote(a), isnull(quote(a)), quote(a) is null, ifnull(quote(a), 'n') from t1;
a quote(a) isnull(quote(a)) quote(a) is null ifnull(quote(a), 'n')
one 'one' 0 0 'one'
NULL NULL 1 1 n
two 'two' 0 0 'two'
four 'four' 0 0 'four'
drop table t1;
...@@ -163,3 +163,12 @@ CREATE TABLE t1 (i int, j int); ...@@ -163,3 +163,12 @@ CREATE TABLE t1 (i int, j int);
INSERT INTO t1 VALUES (1,1),(2,2); INSERT INTO t1 VALUES (1,1),(2,2);
SELECT DISTINCT i, ELT(j, '345', '34') FROM t1; SELECT DISTINCT i, ELT(j, '345', '34') FROM t1;
DROP TABLE t1; DROP TABLE t1;
#
# bug #3756: quote and NULL
#
create table t1(a char(4));
insert into t1 values ('one'),(NULL),('two'),('four');
select a, quote(a), isnull(quote(a)), quote(a) is null, ifnull(quote(a), 'n') from t1;
drop table t1;
\ No newline at end of file
...@@ -2215,6 +2215,7 @@ String *Item_func_quote::val_str(String *str) ...@@ -2215,6 +2215,7 @@ String *Item_func_quote::val_str(String *str)
} }
*to= '\''; *to= '\'';
str->length(new_length); str->length(new_length);
null_value= 0;
return str; return str;
null: null:
......
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