diff options
author | unknown <jimw@rama.(none)> | 2006-07-10 19:50:40 -0700 |
---|---|---|
committer | unknown <jimw@rama.(none)> | 2006-07-10 19:50:40 -0700 |
commit | 8dc1fa1cf1aa8f04d2b52db26512f142bb1156ad (patch) | |
tree | 071591d27875662133e93f5967d673f319ab92fe /mysql-test/r/func_compress.result | |
parent | 66fc547d1bd6f267e47ac170f3038f5dd6559691 (diff) | |
download | mariadb-git-8dc1fa1cf1aa8f04d2b52db26512f142bb1156ad.tar.gz |
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()
Diffstat (limited to 'mysql-test/r/func_compress.result')
-rw-r--r-- | mysql-test/r/func_compress.result | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/mysql-test/r/func_compress.result b/mysql-test/r/func_compress.result index e3d31566741..df8939d98f1 100644 --- a/mysql-test/r/func_compress.result +++ b/mysql-test/r/func_compress.result @@ -79,3 +79,31 @@ uncompress(a) uncompressed_length(a) NULL NULL a 1 drop table t1; +create table t1 (a varchar(32) not null); +insert into t1 values ('foo'); +explain select * from t1 where uncompress(a) is null; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 system NULL NULL NULL NULL 1 +Warnings: +Error 1256 Uncompressed data size too large; the maximum size is 104857600 (probably, length of uncompressed data was corrupted) +select * from t1 where uncompress(a) is null; +a +foo +Warnings: +Error 1256 Uncompressed data size too large; the maximum size is 104857600 (probably, length of uncompressed data was corrupted) +explain select *, uncompress(a) from t1; +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 system NULL NULL NULL NULL 1 +select *, uncompress(a) from t1; +a uncompress(a) +foo NULL +Warnings: +Error 1256 Uncompressed data size too large; the maximum size is 104857600 (probably, length of uncompressed data was corrupted) +select *, uncompress(a), uncompress(a) is null from t1; +a uncompress(a) uncompress(a) is null +foo NULL 1 +Warnings: +Error 1256 Uncompressed data size too large; the maximum size is 104857600 (probably, length of uncompressed data was corrupted) +Error 1256 Uncompressed data size too large; the maximum size is 104857600 (probably, length of uncompressed data was corrupted) +drop table t1; +End of 5.0 tests |