Description:
This bug report is for documentation only, I don't expect this to be fixed in 5.0.
This test failure occurs since at least times of 5.0.72, but never got reported. The occurrence reported here is of the 5.0.91 build:
=====
func_compress [ fail ]
mysqltest: At line NNN: query 'select compress(repeat('aaaaaaaaaa', IF('$LOW_MEMORY', 10, 10000000))) is null' failed: 5: Out of memory (Needed 120000024 bytes)
The result from queries just before the failure was:
< snip >
create table t1 (a text);
insert t1 values (compress(null)), ('A\0\0\0BBBBBBBB'), (compress(space(50000))), (space(50000));
select length(a) from t1;
length(a)
NULL
12
76
50000
select length(uncompress(a)) from t1;
length(uncompress(a))
NULL
NULL
50000
NULL
Warnings:
Error 1259 ZLIB: Input data corrupted
Error 1256 Uncompressed data size too large; the maximum size is 1048576 (probably, length of uncompressed data was corrupted)
drop table t1;
set @@global.max_allowed_packet=1048576*100;
select compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null;
More results from queries before failure can be found in /PATH/mysql-test/var/log/func_compress.log
Stopping All Servers
=====
This happens in debug builds only; in optimized ones, the test passes.
It occurs in "community" and "enterprise" configurations, but not in "classic" or "cluster" - so it might be coupled to InnoDB being configured, but I haven't done any analysis why this might be related.
How to repeat:
Build + run tests.
Suggested fix:
None - 5.0 is in extended maintenance, and the problem is specific to "debug" builds.