mirror of
https://github.com/MariaDB/server.git
synced 2025-01-28 01:34:17 +01:00
161 lines
6.5 KiB
Text
161 lines
6.5 KiB
Text
|
set @old_handler_icp_attempts=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_attempts');
|
||
|
set @old_handler_icp_match=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_match');
|
||
|
CREATE TABLE t1 (a int PRIMARY KEY, b BLOB, c varchar(16) DEFAULT 'Filler...',
|
||
|
INDEX (b(4), a)) ENGINE = MyISAM PARTITION BY HASH (a) PARTITIONS 3;
|
||
|
INSERT INTO t1 (a, b) VALUES (1, 0xdeadbeef), (2, "text filler"),
|
||
|
(3, 'filler...'), (4, " more filler "), (5, "test text"), (6, "testing...");
|
||
|
SELECT a, HEX(b) FROM t1 WHERE b >= 'te' and (a % 2);
|
||
|
a HEX(b)
|
||
|
5 746573742074657874
|
||
|
1 DEADBEEF
|
||
|
set @handler_icp_attempts=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_attempts');
|
||
|
set @handler_icp_match=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_match');
|
||
|
select @old_handler_icp_attempts = @handler_icp_attempts;
|
||
|
@old_handler_icp_attempts = @handler_icp_attempts
|
||
|
1
|
||
|
select @old_handler_icp_match = @handler_icp_match;
|
||
|
@old_handler_icp_match = @handler_icp_match
|
||
|
1
|
||
|
CREATE TABLE t2 (a int PRIMARY KEY, b BLOB, c varchar(16) DEFAULT 'Filler...',
|
||
|
INDEX (b(4), a)) ENGINE = innodb PARTITION BY HASH (a) PARTITIONS 3;
|
||
|
INSERT INTO t2 (a, b) VALUES (1, 0xdeadbeef), (2, "text filler"),
|
||
|
(3, 'filler...'), (4, " more filler "), (5, "test text"), (6, "testing...");
|
||
|
set @@optimizer_switch='index_condition_pushdown=off';
|
||
|
SELECT a, HEX(b) FROM t2 WHERE b >= 'te' and (a % 2);
|
||
|
a HEX(b)
|
||
|
5 746573742074657874
|
||
|
1 DEADBEEF
|
||
|
set @handler_icp_attempts=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_attempts');
|
||
|
set @handler_icp_match=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_match');
|
||
|
select @old_handler_icp_attempts = @handler_icp_attempts;
|
||
|
@old_handler_icp_attempts = @handler_icp_attempts
|
||
|
1
|
||
|
select @old_handler_icp_match = @handler_icp_match;
|
||
|
@old_handler_icp_match = @handler_icp_match
|
||
|
1
|
||
|
set @@optimizer_switch='index_condition_pushdown=on';
|
||
|
SELECT a, HEX(b) FROM t2 WHERE b >= 'te' and (a % 2);
|
||
|
a HEX(b)
|
||
|
5 746573742074657874
|
||
|
1 DEADBEEF
|
||
|
set @handler_icp_attempts=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_attempts');
|
||
|
set @handler_icp_match=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_match');
|
||
|
select @old_handler_icp_attempts < @handler_icp_attempts;
|
||
|
@old_handler_icp_attempts < @handler_icp_attempts
|
||
|
1
|
||
|
select @old_handler_icp_match < @handler_icp_match;
|
||
|
@old_handler_icp_match < @handler_icp_match
|
||
|
1
|
||
|
CREATE TABLE t3 (
|
||
|
pk INT PRIMARY KEY,
|
||
|
a INT,
|
||
|
b INT,
|
||
|
c INT,
|
||
|
filler varchar(100),
|
||
|
key(a,b,c)
|
||
|
) engine=innodb partition by hash(pk) partitions 4;
|
||
|
INSERT INTO t3 SELECT seq, seq, seq, seq, 'hello' FROM seq_1_to_10000;
|
||
|
set @@optimizer_switch='index_condition_pushdown=off';
|
||
|
set @old_handler_icp_attempts = @handler_icp_attempts;
|
||
|
set @old_handler_icp_match = @handler_icp_match;
|
||
|
SELECT * from t3 where a < 10 AND (b+1>3);
|
||
|
pk a b c filler
|
||
|
3 3 3 3 hello
|
||
|
4 4 4 4 hello
|
||
|
5 5 5 5 hello
|
||
|
6 6 6 6 hello
|
||
|
7 7 7 7 hello
|
||
|
8 8 8 8 hello
|
||
|
9 9 9 9 hello
|
||
|
set @handler_icp_attempts=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_attempts');
|
||
|
set @handler_icp_match=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_match');
|
||
|
select @old_handler_icp_attempts = @handler_icp_attempts;
|
||
|
@old_handler_icp_attempts = @handler_icp_attempts
|
||
|
1
|
||
|
select @old_handler_icp_match = @handler_icp_match;
|
||
|
@old_handler_icp_match = @handler_icp_match
|
||
|
1
|
||
|
set @@optimizer_switch='index_condition_pushdown=on';
|
||
|
SELECT * from t3 where a < 10 AND (b+1>3);
|
||
|
pk a b c filler
|
||
|
3 3 3 3 hello
|
||
|
4 4 4 4 hello
|
||
|
5 5 5 5 hello
|
||
|
6 6 6 6 hello
|
||
|
7 7 7 7 hello
|
||
|
8 8 8 8 hello
|
||
|
9 9 9 9 hello
|
||
|
set @handler_icp_attempts=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_attempts');
|
||
|
set @handler_icp_match=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_match');
|
||
|
select @old_handler_icp_attempts < @handler_icp_attempts;
|
||
|
@old_handler_icp_attempts < @handler_icp_attempts
|
||
|
1
|
||
|
select @old_handler_icp_match < @handler_icp_match;
|
||
|
@old_handler_icp_match < @handler_icp_match
|
||
|
1
|
||
|
CREATE TABLE t4 (
|
||
|
pk INT PRIMARY KEY,
|
||
|
a INT,
|
||
|
b INT,
|
||
|
c INT,
|
||
|
filler varchar(100),
|
||
|
key(a,b,c)
|
||
|
) engine=myisam partition by hash(pk) partitions 4;
|
||
|
INSERT INTO t4 SELECT seq, seq, seq, seq, 'hello' FROM seq_1_to_10000;
|
||
|
set @@optimizer_switch='index_condition_pushdown=off';
|
||
|
set @old_handler_icp_attempts = @handler_icp_attempts;
|
||
|
set @old_handler_icp_match = @handler_icp_match;
|
||
|
SELECT * from t4 where a < 10 AND (b+1>3);
|
||
|
pk a b c filler
|
||
|
3 3 3 3 hello
|
||
|
4 4 4 4 hello
|
||
|
5 5 5 5 hello
|
||
|
6 6 6 6 hello
|
||
|
7 7 7 7 hello
|
||
|
8 8 8 8 hello
|
||
|
9 9 9 9 hello
|
||
|
set @handler_icp_attempts=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_attempts');
|
||
|
set @handler_icp_match=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_match');
|
||
|
select @old_handler_icp_attempts = @handler_icp_attempts;
|
||
|
@old_handler_icp_attempts = @handler_icp_attempts
|
||
|
1
|
||
|
select @old_handler_icp_match = @handler_icp_match;
|
||
|
@old_handler_icp_match = @handler_icp_match
|
||
|
1
|
||
|
set @@optimizer_switch='index_condition_pushdown=on';
|
||
|
SELECT * from t4 where a < 10 AND (b+1>3);
|
||
|
pk a b c filler
|
||
|
3 3 3 3 hello
|
||
|
4 4 4 4 hello
|
||
|
5 5 5 5 hello
|
||
|
6 6 6 6 hello
|
||
|
7 7 7 7 hello
|
||
|
8 8 8 8 hello
|
||
|
9 9 9 9 hello
|
||
|
set @handler_icp_attempts=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_attempts');
|
||
|
set @handler_icp_match=(select cast(variable_value as int) from information_schema.session_status where variable_name='handler_icp_match');
|
||
|
select @old_handler_icp_attempts < @handler_icp_attempts;
|
||
|
@old_handler_icp_attempts < @handler_icp_attempts
|
||
|
1
|
||
|
select @old_handler_icp_match < @handler_icp_match;
|
||
|
@old_handler_icp_match < @handler_icp_match
|
||
|
1
|
||
|
create table t5(pk int primary key, kp1 int, kp2 int, filler int, key(kp1, kp2)) partition by hash(pk) partitions 2;
|
||
|
insert into t5 select seq, seq/40, seq, seq from seq_1_to_4000;
|
||
|
select * from t5 where t5.kp1=10 and mod(t5.kp2,2)=1 and t5.kp2+1<401;
|
||
|
pk kp1 kp2 filler
|
||
|
381 10 381 381
|
||
|
383 10 383 383
|
||
|
385 10 385 385
|
||
|
387 10 387 387
|
||
|
389 10 389 389
|
||
|
391 10 391 391
|
||
|
393 10 393 393
|
||
|
395 10 395 395
|
||
|
397 10 397 397
|
||
|
399 10 399 399
|
||
|
drop table t1, t2, t3, t4, t5;
|
||
|
#
|
||
|
# End of 11.4 tests
|
||
|
#
|