summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/maria/maria_partition.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/maria/maria_partition.test')
-rw-r--r--mysql-test/suite/maria/maria_partition.test80
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