diff options
Diffstat (limited to 'mysql-test/suite/maria/maria_partition.test')
-rw-r--r-- | mysql-test/suite/maria/maria_partition.test | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/mysql-test/suite/maria/maria_partition.test b/mysql-test/suite/maria/maria_partition.test new file mode 100644 index 00000000..c515b6e7 --- /dev/null +++ b/mysql-test/suite/maria/maria_partition.test @@ -0,0 +1,80 @@ +# Aria tests which require partitioning enabled + +--source include/have_partition.inc +-- source include/have_maria.inc + +let $default_engine=`select @@global.default_storage_engine`; +let $default_checksum=`select @@global.aria_page_checksum`; +set global default_storage_engine=aria; +set session default_storage_engine=aria; +set global aria_page_checksum=0; + +# Initialise +--disable_warnings +drop table if exists t1,t2; +drop view if exists v1; +--enable_warnings +SET SQL_WARNINGS=1; + +# +# Bug #39227 Aria: crash with ALTER TABLE PARTITION +# + +create table t1 (s1 int); +insert into t1 values (1); +--error ER_NO_PARTITION_FOR_GIVEN_VALUE +alter table t1 partition by list (s1) (partition p1 values in (2)); +drop table t1; + +# +# Test outer join const propagation +# +create table t2(a blob) engine=aria; +create table t1(a int primary key) engine=aria; +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); +create table t1(a int primary key) 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; + +# +# MDEV-6493 +# Assertion `table->file->stats.records > 0 || error' +# failure, or 'Invalid write' valgrind warnings, or crash on scenario +# with Aria table, view, LOCK TABLES # +# + +CREATE TABLE t1 (pk INT PRIMARY KEY) ENGINE=Aria PARTITION BY KEY() PARTITIONS 2; +CREATE VIEW v1 AS SELECT * FROM t1; + +LOCK TABLE v1 WRITE; +--error 1100 +CREATE TABLE v1 (i INT); +INSERT INTO v1 VALUES (1); +UNLOCK TABLES; +check table t1; + +SELECT * FROM t1; + +drop table t1; +drop view v1; + +# Set defaults back +--disable_result_log +--disable_query_log +eval set global default_storage_engine=$default_engine, aria_page_checksum=$default_checksum; +set global aria_log_file_size=default; +--enable_result_log +--enable_query_log |