Bug #18539: uncompress(d) is null: impossible?

The UNCOMPRESS() function was not marked as maybe_null, even though
  it returns NULL on invalid data. This confused the optimizer.


mysql-test/r/func_compress.result:
  Add new results
mysql-test/t/func_compress.test:
  Add new regression test
sql/item_strfunc.h:
  Set maybe_null within Item_func_uncompress::fix_length_and_dec()
This commit is contained in:
unknown 2006-07-10 19:50:40 -07:00
commit 8dc1fa1cf1
3 changed files with 43 additions and 1 deletions

View file

@ -57,3 +57,17 @@ select uncompress(a), uncompressed_length(a) from t1;
drop table t1;
# End of 4.1 tests
#
# Bug #18539: uncompress(d) is null: impossible?
#
create table t1 (a varchar(32) not null);
insert into t1 values ('foo');
explain select * from t1 where uncompress(a) is null;
select * from t1 where uncompress(a) is null;
explain select *, uncompress(a) from t1;
select *, uncompress(a) from t1;
select *, uncompress(a), uncompress(a) is null from t1;
drop table t1;
--echo End of 5.0 tests