mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	mysql-test/r/partition_list.result: test result fixed mysql-test/r/partition_range.result: test result fixed mysql-test/t/partition_list.test: test fixed mysql-test/t/partition_range.test: test fixed
		
			
				
	
	
		
			113 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#--disable_abort_on_error
 | 
						|
#
 | 
						|
# Simple test for the partition storage engine
 | 
						|
# testing list partitioning
 | 
						|
#
 | 
						|
-- source include/have_partition.inc
 | 
						|
 | 
						|
--disable_warnings
 | 
						|
drop table if exists t1;
 | 
						|
--enable_warnings
 | 
						|
 | 
						|
#
 | 
						|
# Test ordinary list partitioning that it works ok
 | 
						|
#
 | 
						|
CREATE TABLE t1 (
 | 
						|
a int not null,
 | 
						|
b int not null,
 | 
						|
c int not null)
 | 
						|
partition by list(a)
 | 
						|
partitions 2
 | 
						|
(partition x123 values in (1,5,6),
 | 
						|
 partition x234 values in (4,7,8));
 | 
						|
 | 
						|
INSERT into t1 VALUES (1,1,1);
 | 
						|
--error ER_NO_PARTITION_FOR_GIVEN_VALUE
 | 
						|
INSERT into t1 VALUES (2,1,1);
 | 
						|
--error ER_NO_PARTITION_FOR_GIVEN_VALUE
 | 
						|
INSERT into t1 VALUES (3,1,1);
 | 
						|
INSERT into t1 VALUES (4,1,1);
 | 
						|
INSERT into t1 VALUES (5,1,1);
 | 
						|
INSERT into t1 VALUES (6,1,1);
 | 
						|
INSERT into t1 VALUES (7,1,1);
 | 
						|
INSERT into t1 VALUES (8,1,1);
 | 
						|
--error ER_NO_PARTITION_FOR_GIVEN_VALUE
 | 
						|
INSERT into t1 VALUES (9,1,1);
 | 
						|
INSERT into t1 VALUES (1,2,1);
 | 
						|
INSERT into t1 VALUES (1,3,1);
 | 
						|
INSERT into t1 VALUES (1,4,1);
 | 
						|
INSERT into t1 VALUES (7,2,1);
 | 
						|
INSERT into t1 VALUES (7,3,1);
 | 
						|
INSERT into t1 VALUES (7,4,1);
 | 
						|
 | 
						|
SELECT * from t1;
 | 
						|
SELECT * from t1 WHERE a=1;
 | 
						|
SELECT * from t1 WHERE a=7;
 | 
						|
SELECT * from t1 WHERE b=2;
 | 
						|
 | 
						|
UPDATE t1 SET a=8 WHERE a=7 AND b=3;
 | 
						|
SELECT * from t1;
 | 
						|
UPDATE t1 SET a=8 WHERE a=5 AND b=1;
 | 
						|
SELECT * from t1;
 | 
						|
 | 
						|
DELETE from t1 WHERE a=8;
 | 
						|
SELECT * from t1;
 | 
						|
DELETE from t1 WHERE a=2;
 | 
						|
SELECT * from t1;
 | 
						|
DELETE from t1 WHERE a=5 OR a=6;
 | 
						|
SELECT * from t1;
 | 
						|
 | 
						|
ALTER TABLE t1
 | 
						|
partition by list(a)
 | 
						|
partitions 2
 | 
						|
(partition x123 values in (1,5,6),
 | 
						|
 partition x234 values in (4,7,8));
 | 
						|
SELECT * from t1;
 | 
						|
INSERT into t1 VALUES (6,2,1);
 | 
						|
--error ER_NO_PARTITION_FOR_GIVEN_VALUE
 | 
						|
INSERT into t1 VALUES (2,2,1);
 | 
						|
 | 
						|
drop table t1;
 | 
						|
#
 | 
						|
# Subpartition by hash, two partitions and two subpartitions
 | 
						|
# Defined node group
 | 
						|
#
 | 
						|
CREATE TABLE t1 (
 | 
						|
a int not null,
 | 
						|
b int not null,
 | 
						|
c int not null,
 | 
						|
primary key (a,b))
 | 
						|
partition by list (a)
 | 
						|
subpartition by hash (a+b)
 | 
						|
( partition x1 values in (1,2,3)
 | 
						|
  ( subpartition x11 nodegroup 0,
 | 
						|
    subpartition x12 nodegroup 1),
 | 
						|
  partition x2 values in (4,5,6)
 | 
						|
  ( subpartition x21 nodegroup 0,
 | 
						|
    subpartition x22 nodegroup 1)
 | 
						|
);
 | 
						|
 | 
						|
INSERT into t1 VALUES (1,1,1);
 | 
						|
INSERT into t1 VALUES (4,1,1);
 | 
						|
--error ER_NO_PARTITION_FOR_GIVEN_VALUE
 | 
						|
INSERT into t1 VALUES (7,1,1);
 | 
						|
UPDATE t1 SET a=5 WHERE a=1;
 | 
						|
SELECT * from t1;
 | 
						|
UPDATE t1 SET a=6 WHERE a=4;
 | 
						|
SELECT * from t1;
 | 
						|
DELETE from t1 WHERE a=6;
 | 
						|
SELECT * from t1;
 | 
						|
 | 
						|
drop table t1;
 | 
						|
 | 
						|
# 
 | 
						|
CREATE TABLE t1 ( 
 | 
						|
a int not null,
 | 
						|
b int not null,
 | 
						|
c int not null,
 | 
						|
primary key(a,b))
 | 
						|
partition by list (a)
 | 
						|
(partition x1 values in (1,2,9,4) tablespace ts1);
 | 
						|
 | 
						|
drop table t1;
 |