drop table if exists t1;
CREATE TABLE t1 (
a int not null,
b int not null,
c int not null,
primary key(a,b),
index (a))
engine = ndb
partition by range (a)
partitions 3
(partition x1 values less than (5),
partition x2 values less than (10),
partition x3 values less than (20));
INSERT into t1 values (1, 1, 1);
INSERT into t1 values (6, 1, 1);
INSERT into t1 values (10, 1, 1);
INSERT into t1 values (15, 1, 1);
select * from information_schema.partitions where table_name= 't1';
TABLE_CATALOG	TABLE_SCHEMA	TABLE_NAME	PARTITION_NAME	SUBPARTITION_NAME	PARTITION_ORDINAL_POSITION	SUBPARTITION_ORDINAL_POSITION	PARTITION_METHOD	SUBPARTITION_METHOD	PARTITION_EXPRESSION	SUBPARTITION_EXPRESSION	PARTITION_DESCRIPTION	TABLE_ROWS	AVG_ROW_LENGTH	DATA_LENGTH	MAX_DATA_LENGTH	INDEX_LENGTH	DATA_FREE	CREATE_TIME	UPDATE_TIME	CHECK_TIME	CHECKSUM	PARTITION_COMMENT	NODEGROUP	TABLESPACE_NAME
NULL	test	t1	x1	NULL	1	NULL	RANGE	NULL	a	NULL	5	0	0	0	#	0	0	#	#	NULL	NULL	default	0	default
NULL	test	t1	x2	NULL	2	NULL	RANGE	NULL	a	NULL	10	0	0	0	#	0	0	#	#	NULL	NULL	default	0	default
NULL	test	t1	x3	NULL	3	NULL	RANGE	NULL	a	NULL	20	0	0	0	#	0	0	#	#	NULL	NULL	default	0	default
select * from t1 order by a;
a	b	c
1	1	1
6	1	1
10	1	1
15	1	1
select * from t1 where a=1 order by a;
a	b	c
1	1	1
select * from t1 where a=15 and b=1 order by a;
a	b	c
15	1	1
select * from t1 where a=21 and b=1 order by a;
a	b	c
select * from t1 where a=21 order by a;
a	b	c
select * from t1 where a in (1,6,10,21) order by a;
a	b	c
1	1	1
6	1	1
10	1	1
select * from t1 where b=1 and a in (1,6,10,21) order by a;
a	b	c
1	1	1
6	1	1
10	1	1
drop table t1;
CREATE TABLE t1 (
a int not null,
b int not null,
c int not null,
primary key(b),
unique (a))
engine = ndb
partition by range (b)
partitions 3
(partition x1 values less than (5),
partition x2 values less than (10),
partition x3 values less than (20));
INSERT into t1 values (1, 1, 1);
INSERT into t1 values (2, 6, 1);
INSERT into t1 values (3, 10, 1);
INSERT into t1 values (4, 15, 1);
select * from t1 order by a;
a	b	c
1	1	1
2	6	1
3	10	1
4	15	1
UPDATE t1 set a = 5 WHERE b = 15;
select * from t1 order by a;
a	b	c
1	1	1
2	6	1
3	10	1
5	15	1
UPDATE t1 set a = 6 WHERE a = 5;
select * from t1 order by a;
a	b	c
1	1	1
2	6	1
3	10	1
6	15	1
select * from t1 where b=1 order by b;
a	b	c
1	1	1
select * from t1 where b=15 and a=1 order by b;
a	b	c
select * from t1 where b=21 and a=1 order by b;
a	b	c
select * from t1 where b=21 order by b;
a	b	c
select * from t1 where b in (1,6,10,21) order by b;
a	b	c
1	1	1
2	6	1
3	10	1
select * from t1 where a in (1,2,5,6) order by b;
a	b	c
1	1	1
2	6	1
6	15	1
select * from t1 where a=1 and b in (1,6,10,21) order by b;
a	b	c
1	1	1
DELETE from t1 WHERE b = 6;
DELETE from t1 WHERE a = 6;
show create table t1;
Table	Create Table
t1	CREATE TABLE `t1` (
  `a` int(11) NOT NULL,
  `b` int(11) NOT NULL,
  `c` int(11) NOT NULL,
  PRIMARY KEY  (`b`),
  UNIQUE KEY `a` (`a`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (b) (PARTITION x1 VALUES LESS THAN (5) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (10) ENGINE = ndbcluster, PARTITION x3 VALUES LESS THAN (20) ENGINE = ndbcluster)
drop table t1;
