diff --git a/mysql-test/suite/maria/r/maria-partitioning.result b/mysql-test/suite/maria/r/maria-partitioning.result new file mode 100644 index 0000000000000000000000000000000000000000..ff3035e560eea631284651d758d4bd07d5849479 --- /dev/null +++ b/mysql-test/suite/maria/r/maria-partitioning.result @@ -0,0 +1,30 @@ +set global storage_engine=maria; +set session storage_engine=maria; +DROP TABLE if exists t1,t2; +Warnings: +Note 1051 Unknown table 't1' +Note 1051 Unknown table 't2' +create table t2(a blob) engine=maria; +create table t1(a int primary key) engine=maria; +insert into t2 values ('foo'),('bar'); +select * from t2 left join t1 on (t2.a=t1.a) where t2.a='bbb'; +a a +insert into t1 values (1); +select * from t2 left join t1 on (t2.a=t1.a) where t2.a='bbb'; +a a +insert into t1 values (2); +select * from t2 left join t1 on (t2.a=t1.a) where t2.a='bbb'; +a a +drop table t1,t2; +create table t2(a blob) engine= maria; +create table t1(a int primary key) engine= maria PARTITION BY HASH (a) PARTITIONS 2; +insert into t2 values ('foo'),('bar'); +select * from t2 left join t1 on (t2.a=t1.a) where t2.a='bbb'; +a a +insert into t1 values (1); +select * from t2 left join t1 on (t2.a=t1.a) where t2.a='bbb'; +a a +insert into t1 values (2); +select * from t2 left join t1 on (t2.a=t1.a) where t2.a='bbb'; +a a +drop table t1,t2; diff --git a/mysql-test/suite/maria/t/maria-partitioning.test b/mysql-test/suite/maria/t/maria-partitioning.test new file mode 100644 index 0000000000000000000000000000000000000000..589b489331d6dc755284d797edf47793ee2db373 --- /dev/null +++ b/mysql-test/suite/maria/t/maria-partitioning.test @@ -0,0 +1,42 @@ +# +# Testing of potential problems in Maria with partitioning +# + +--source include/have_maria.inc +--source include/have_partition.inc + +let $default_engine=`select @@global.storage_engine`; +let $default_checksum=`select @@global.maria_page_checksum`; +set global storage_engine=maria; +set session storage_engine=maria; + +# +# Test outer join const propagation +# +DROP TABLE if exists t1,t2; +create table t2(a blob) engine=maria; +create table t1(a int primary key) engine=maria; +insert into t2 values ('foo'),('bar'); +select * from t2 left join t1 on (t2.a=t1.a) where t2.a='bbb'; +insert into t1 values (1); +select * from t2 left join t1 on (t2.a=t1.a) where t2.a='bbb'; +insert into t1 values (2); +select * from t2 left join t1 on (t2.a=t1.a) where t2.a='bbb'; +drop table t1,t2; + +create table t2(a blob) engine= maria; +create table t1(a int primary key) engine= maria PARTITION BY HASH (a) PARTITIONS 2; +insert into t2 values ('foo'),('bar'); +select * from t2 left join t1 on (t2.a=t1.a) where t2.a='bbb'; +insert into t1 values (1); +select * from t2 left join t1 on (t2.a=t1.a) where t2.a='bbb'; +insert into t1 values (2); +select * from t2 left join t1 on (t2.a=t1.a) where t2.a='bbb'; +drop table t1,t2; + +# Set defaults back +--disable_result_log +--disable_query_log +eval set global storage_engine=$default_engine; +--enable_result_log +--enable_query_log