mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
cd65845a0e
MDEV-18734 FIXME: vcol.partition triggers ASAN heap-use-after-free
79 lines
2.3 KiB
Text
79 lines
2.3 KiB
Text
#
|
|
# Tests for partitioned FEDERATED
|
|
#
|
|
source have_federatedx.inc;
|
|
source include/have_partition.inc;
|
|
source include/have_innodb.inc;
|
|
source include/federated.inc;
|
|
|
|
disable_warnings;
|
|
drop table if exists t1;
|
|
enable_warnings;
|
|
|
|
#
|
|
# Federated + partition
|
|
#
|
|
# Create 2 tables on the Slave, we can use different storage engines.
|
|
# Then create a Federated table on the Master, using different connect
|
|
# string to specify the two different target partitions we want to use.
|
|
#
|
|
|
|
connection slave;
|
|
create table federated.t1_1 (s1 int primary key) engine=myisam;
|
|
create table federated.t1_2 (s1 int primary key) engine=innodb;
|
|
|
|
connection master;
|
|
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
|
eval create table t1 (s1 int primary key) engine=federated
|
|
CONNECTION="remember_this"
|
|
partition by list (s1)
|
|
(partition p1 values in (1,3)
|
|
connection='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1_1',
|
|
partition p2 values in (2,4)
|
|
connection='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1_2');
|
|
|
|
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
|
show create table t1;
|
|
|
|
insert into t1 values (1), (2), (3), (4);
|
|
select * from t1;
|
|
|
|
connection slave;
|
|
select * from federated.t1_1;
|
|
select * from federated.t1_2;
|
|
|
|
connection master;
|
|
drop table t1;
|
|
|
|
connection slave;
|
|
drop table federated.t1_1;
|
|
drop table federated.t1_2;
|
|
|
|
--echo End of 5.1 tests
|
|
|
|
--echo #
|
|
--echo # MDEV-18734 ASAN heap-use-after-free upon sorting by blob column from partitioned table
|
|
--echo #
|
|
connection slave;
|
|
use federated;
|
|
create table t1_1 (x int, b text, key(x));
|
|
create table t1_2 (x int, b text, key(x));
|
|
connection master;
|
|
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
|
eval create table t1 (x int, b text, key(x)) engine=federated
|
|
partition by range columns (x) (
|
|
partition p1 values less than (40) connection='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1_1',
|
|
partition pn values less than (maxvalue) connection='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1_2'
|
|
);
|
|
insert t1 values (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8);
|
|
insert t1 select x + 8, x + 8 from t1;
|
|
insert t1 select x + 16, x + 16 from t1;
|
|
insert t1 select x + 49, repeat(x + 49, 100) from t1;
|
|
flush tables;
|
|
--echo # This produces wrong result before MDEV-17573
|
|
select x, left(b, 10) from t1 where x > 30 and x < 60 order by b;
|
|
drop table t1;
|
|
connection slave;
|
|
drop table t1_1, t1_2;
|
|
|
|
source include/federated_cleanup.inc;
|