summaryrefslogtreecommitdiff
path: root/mysql-test/suite/maria/maria_partition.test
blob: ca2651bcdc3cfc694e66a682b3282351e7261df7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Aria tests which require partitioning enabled

--source include/have_partition.inc
-- source include/have_maria.inc

let $default_engine=`select @@global.storage_engine`;
let $default_checksum=`select @@global.aria_page_checksum`;
set global storage_engine=aria;
set session 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 storage_engine=$default_engine, aria_page_checksum=$default_checksum;
set global aria_log_file_size=default;
--enable_result_log
--enable_query_log