mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
9cba6c5aa3
This allows one to run the test suite even if any of the following options are changed: - character-set-server - collation-server - join-cache-level - log-basename - max-allowed-packet - optimizer-switch - query-cache-size and query-cache-type - skip-name-resolve - table-definition-cache - table-open-cache - Some innodb options etc Changes: - Don't print out the value of system variables as one can't depend on them to being constants. - Don't set global variables to 'default' as the default may not be the same as the test was started with if there was an additional option file. Instead save original value and reset it at end of test. - Test that depends on the latin1 character set should include default_charset.inc or set the character set to latin1 - Test that depends on the original optimizer switch, should include default_optimizer_switch.inc - Test that depends on the value of a specific system variable should set it in the test (like optimizer_use_condition_selectivity) - Split subselect3.test into subselect3.test and subselect3.inc to make it easier to set and reset system variables. - Added .opt files for test that required specfic options that could be changed by external configuration files. - Fixed result files in rockdsb & tokudb that had not been updated for a while.
217 lines
7.4 KiB
Text
217 lines
7.4 KiB
Text
set @save_max_allowed_packet=@@max_allowed_packet;
|
|
set global max_allowed_packet=1048576;
|
|
connect conn1,localhost,root,,;
|
|
connection conn1;
|
|
select @test_compress_string:='string for test compress function aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ';
|
|
@test_compress_string:='string for test compress function aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa '
|
|
string for test compress function aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
select length(@test_compress_string);
|
|
length(@test_compress_string)
|
|
117
|
|
select uncompress(compress(@test_compress_string));
|
|
uncompress(compress(@test_compress_string))
|
|
string for test compress function aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
explain extended select uncompress(compress(@test_compress_string));
|
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
|
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
|
|
Warnings:
|
|
Note 1003 select uncompress(compress(@`test_compress_string`)) AS `uncompress(compress(@test_compress_string))`
|
|
select uncompressed_length(compress(@test_compress_string))=length(@test_compress_string);
|
|
uncompressed_length(compress(@test_compress_string))=length(@test_compress_string)
|
|
1
|
|
explain extended select uncompressed_length(compress(@test_compress_string))=length(@test_compress_string);
|
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
|
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
|
|
Warnings:
|
|
Note 1003 select uncompressed_length(compress(@`test_compress_string`)) = length(@`test_compress_string`) AS `uncompressed_length(compress(@test_compress_string))=length(@test_compress_string)`
|
|
select uncompressed_length(compress(@test_compress_string));
|
|
uncompressed_length(compress(@test_compress_string))
|
|
117
|
|
select length(compress(@test_compress_string))<length(@test_compress_string);
|
|
length(compress(@test_compress_string))<length(@test_compress_string)
|
|
1
|
|
create table t1 (a text, b char(255), c char(4)) engine=myisam;
|
|
insert into t1 (a,b,c) values (compress(@test_compress_string),compress(@test_compress_string),'d ');
|
|
select uncompress(a) from t1;
|
|
uncompress(a)
|
|
string for test compress function aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
select uncompress(b) from t1;
|
|
uncompress(b)
|
|
string for test compress function aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
select concat('|',c,'|') from t1;
|
|
concat('|',c,'|')
|
|
|d|
|
|
drop table t1;
|
|
select compress("");
|
|
compress("")
|
|
|
|
select uncompress("");
|
|
uncompress("")
|
|
|
|
select uncompress(compress(""));
|
|
uncompress(compress(""))
|
|
|
|
select uncompressed_length("");
|
|
uncompressed_length("")
|
|
0
|
|
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:
|
|
Warning 1259 ZLIB: Input data corrupted
|
|
Warning 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;
|
|
connect newconn, localhost, root,,;
|
|
select compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null;
|
|
compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null
|
|
0
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect DOUBLE value: XXX
|
|
Warning 1292 Truncated incorrect DOUBLE value: XXX
|
|
disconnect newconn;
|
|
connection default;
|
|
set @@global.max_allowed_packet=@save_max_allowed_packet;
|
|
create table t1(a blob);
|
|
insert into t1 values(NULL), (compress('a'));
|
|
select uncompress(a), uncompressed_length(a) from t1;
|
|
uncompress(a) uncompressed_length(a)
|
|
NULL NULL
|
|
a 1
|
|
drop table t1;
|
|
create table t1(a blob);
|
|
insert into t1 values ('0'), (NULL), ('0');
|
|
select compress(a), compress(a) from t1;
|
|
select compress(a) is null from t1;
|
|
compress(a) is null
|
|
0
|
|
1
|
|
0
|
|
drop table t1;
|
|
End of 4.1 tests
|
|
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:
|
|
Warning 1259 ZLIB: Input data corrupted
|
|
select * from t1 where uncompress(a) is null;
|
|
a
|
|
foo
|
|
Warnings:
|
|
Warning 1259 ZLIB: Input data 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:
|
|
Warning 1259 ZLIB: Input data corrupted
|
|
select *, uncompress(a), uncompress(a) is null from t1;
|
|
a uncompress(a) uncompress(a) is null
|
|
foo NULL 1
|
|
Warnings:
|
|
Warning 1259 ZLIB: Input data corrupted
|
|
Warning 1259 ZLIB: Input data corrupted
|
|
drop table t1;
|
|
CREATE TABLE t1 (c1 INT);
|
|
INSERT INTO t1 VALUES (1), (1111), (11111);
|
|
SELECT UNCOMPRESS(c1), UNCOMPRESSED_LENGTH(c1) FROM t1;
|
|
UNCOMPRESS(c1) UNCOMPRESSED_LENGTH(c1)
|
|
NULL NULL
|
|
NULL NULL
|
|
NULL 825307441
|
|
EXPLAIN EXTENDED SELECT * FROM (SELECT UNCOMPRESSED_LENGTH(c1) FROM t1) AS s;
|
|
DROP TABLE t1;
|
|
End of 5.0 tests
|
|
#
|
|
# Start of 5.3 tests
|
|
#
|
|
#
|
|
# MDEV-5783 Assertion `0' failed in make_sortkey(SORTPARAM*, uchar*, uchar*) on ORDER BY HEX(UNCOMPRESSED_LENGTH(pk))
|
|
#
|
|
CREATE TABLE t1 (pk INT PRIMARY KEY);
|
|
INSERT INTO t1 VALUES (1),(2);
|
|
SELECT UNCOMPRESSED_LENGTH(pk) FROM t1;
|
|
UNCOMPRESSED_LENGTH(pk)
|
|
NULL
|
|
NULL
|
|
Warnings:
|
|
Warning 1259 ZLIB: Input data corrupted
|
|
Warning 1259 ZLIB: Input data corrupted
|
|
SELECT * FROM t1 ORDER BY HEX(UNCOMPRESSED_LENGTH(pk));
|
|
DROP TABLE t1;
|
|
#
|
|
# End of 5.3 tests
|
|
#
|
|
SELECT UNCOMPRESS(CAST(0 AS BINARY(5)));
|
|
UNCOMPRESS(CAST(0 AS BINARY(5)))
|
|
NULL
|
|
Warnings:
|
|
Warning 1259 ZLIB: Input data corrupted
|
|
disconnect conn1;
|
|
connection default;
|
|
set global max_allowed_packet=@save_max_allowed_packet;
|
|
#
|
|
# End of 5.5 tests
|
|
#
|
|
#
|
|
# Start of 10.1 tests
|
|
#
|
|
#
|
|
# MDEV-10864 Wrong result for WHERE .. (f2=COMPRESS('test') OR f2=COMPRESS('TEST'))
|
|
#
|
|
CREATE TABLE t1 (f1 VARCHAR(4), f2 VARCHAR(64), UNIQUE KEY k1 (f1,f2));
|
|
INSERT INTO t1 VALUES ('test',compress('test')), ('TEST', compress('TEST'));
|
|
SELECT f1,HEX(f2) FROM t1 ignore index(k1) WHERE f1='test' AND (f2= compress("test") OR f2= compress("TEST"));
|
|
f1 HEX(f2)
|
|
test 04000000789C2B492D2E0100045D01C1
|
|
TEST 04000000789C0B710D0E0100031D0141
|
|
SELECT f1,HEX(f2) FROM t1 WHERE f1='test' AND (f2= compress("test") OR f2= compress("TEST"));
|
|
f1 HEX(f2)
|
|
TEST 04000000789C0B710D0E0100031D0141
|
|
test 04000000789C2B492D2E0100045D01C1
|
|
SELECT f1,HEX(f2) FROM t1 WHERE f1='test' AND (f2= compress("TEST") OR f2= compress("test"));
|
|
f1 HEX(f2)
|
|
TEST 04000000789C0B710D0E0100031D0141
|
|
test 04000000789C2B492D2E0100045D01C1
|
|
DROP TABLE t1;
|
|
#
|
|
# End of 10.1 tests
|
|
#
|
|
#
|
|
# Start of 10.2 tests
|
|
#
|
|
#
|
|
# MDEV-10134 Add full support for DEFAULT
|
|
#
|
|
CREATE TABLE t1 (a TEXT, b BLOB DEFAULT COMPRESS(a), bl INT DEFAULT UNCOMPRESSED_LENGTH(b), a1 TEXT DEFAULT UNCOMPRESS(b));
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` text DEFAULT NULL,
|
|
`b` blob DEFAULT compress(`a`),
|
|
`bl` int(11) DEFAULT uncompressed_length(`b`),
|
|
`a1` text DEFAULT uncompress(`b`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
|
INSERT INTO t1 (a) VALUES (REPEAT('a',100));
|
|
SELECT bl, a1 FROM t1;
|
|
bl a1
|
|
100 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
DROP TABLE t1;
|
|
#
|
|
# End of 10.2 tests
|
|
#
|