Commit 9f308f67 authored by jimw@rama.(none)'s avatar jimw@rama.(none)

Merge bk-internal:/home/bk/mysql-5.0-maint

into  rama.(none):/home/jimw/my/mysql-5.0-18539
parents 0af88d0e 9c18b575
...@@ -79,3 +79,31 @@ uncompress(a) uncompressed_length(a) ...@@ -79,3 +79,31 @@ uncompress(a) uncompressed_length(a)
NULL NULL NULL NULL
a 1 a 1
drop table t1; 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
...@@ -57,3 +57,17 @@ select uncompress(a), uncompressed_length(a) from t1; ...@@ -57,3 +57,17 @@ select uncompress(a), uncompressed_length(a) from t1;
drop table t1; drop table t1;
# End of 4.1 tests # 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
...@@ -803,7 +803,7 @@ class Item_func_uncompress: public Item_str_func ...@@ -803,7 +803,7 @@ class Item_func_uncompress: public Item_str_func
String buffer; String buffer;
public: public:
Item_func_uncompress(Item *a): Item_str_func(a){} Item_func_uncompress(Item *a): Item_str_func(a){}
void fix_length_and_dec(){max_length= MAX_BLOB_WIDTH;} void fix_length_and_dec(){ maybe_null= 1; max_length= MAX_BLOB_WIDTH; }
const char *func_name() const{return "uncompress";} const char *func_name() const{return "uncompress";}
String *val_str(String *) ZLIB_DEPENDED_FUNCTION String *val_str(String *) ZLIB_DEPENDED_FUNCTION
}; };
......
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