mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Many files:
Adding back ndb partition tests from mysql-test-extra per tomas and clavin new file mysql-test/t/ndb_partition_error.test: Adding back ndb partition tests from mysql-test-extra per tomas and clavin mysql-test/t/ndb_partition_key.test: Adding back ndb partition tests from mysql-test-extra per tomas and clavin mysql-test/t/ndb_partition_list.test: Adding back ndb partition tests from mysql-test-extra per tomas and clavin mysql-test/t/ndb_partition_range.test: Adding back ndb partition tests from mysql-test-extra per tomas and clavin mysql-test/t/ndb_blob_partition.test: Adding back ndb partition tests from mysql-test-extra per tomas and clavin mysql-test/t/ndb_dd_backuprestore.test: Adding back ndb partition tests from mysql-test-extra per tomas and clavin mysql-test/r/ndb_partition_error.result: Adding back ndb partition tests from mysql-test-extra per tomas and clavin mysql-test/r/ndb_partition_key.result: Adding back ndb partition tests from mysql-test-extra per tomas and clavin mysql-test/r/ndb_partition_list.result: Adding back ndb partition tests from mysql-test-extra per tomas and clavin mysql-test/r/ndb_partition_range.result: Adding back ndb partition tests from mysql-test-extra per tomas and clavin mysql-test/r/ndb_blob_partition.result: Adding back ndb partition tests from mysql-test-extra per tomas and clavin mysql-test/r/ndb_dd_backuprestore.result: Adding back ndb partition tests from mysql-test-extra per tomas and clavin
This commit is contained in:
104
mysql-test/r/ndb_blob_partition.result
Normal file
104
mysql-test/r/ndb_blob_partition.result
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
drop table if exists t1;
|
||||||
|
create table t1 (
|
||||||
|
a mediumint not null,
|
||||||
|
b text not null,
|
||||||
|
c int not null,
|
||||||
|
d longblob,
|
||||||
|
primary key using hash (a,c),
|
||||||
|
unique key (c)
|
||||||
|
)
|
||||||
|
engine=ndb
|
||||||
|
partition by range (c)
|
||||||
|
partitions 3
|
||||||
|
( partition p1 values less than (200),
|
||||||
|
partition p2 values less than (300),
|
||||||
|
partition p3 values less than (400));
|
||||||
|
insert into t1 values (1, @v1, 101, @v2);
|
||||||
|
insert into t1 values (1, @v2, 102, @v3);
|
||||||
|
insert into t1 values (1, @v3, 103, @v4);
|
||||||
|
insert into t1 values (2, @v4, 201, @v5);
|
||||||
|
insert into t1 values (2, @v5, 202, @v6);
|
||||||
|
insert into t1 values (2, @v6, 203, @v7);
|
||||||
|
insert into t1 values (3, @v7, 301, @v8);
|
||||||
|
insert into t1 values (3, @v8, 302, @v9);
|
||||||
|
insert into t1 values (3, @v9, 303, @v1);
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 order by a;
|
||||||
|
a sha1(b) c sha1(d)
|
||||||
|
1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6
|
||||||
|
1 10d3c783026b310218d10b7188da96a2401648c6 102 a33549d9844092289a58ac348dd59f09fc28406a
|
||||||
|
1 a33549d9844092289a58ac348dd59f09fc28406a 103 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c
|
||||||
|
2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d
|
||||||
|
2 70fc9a7d08beebc522258bfb02000a30c77a8f1d 202 090565c580809efed3d369481a4bbb168b20713e
|
||||||
|
2 090565c580809efed3d369481a4bbb168b20713e 203 1e0070bec426871a46291de27b9bd6e4255ab4e5
|
||||||
|
3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e
|
||||||
|
3 acbaba01bc2e682f015f40e79d9cbe475db3002e 302 9ee30d99162574f79c66ae95cdf132dcf9cbc259
|
||||||
|
3 9ee30d99162574f79c66ae95cdf132dcf9cbc259 303 1d42dd9090cf78314a06665d4ea938c35cc760f4
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 where a = 1 and c = 101;
|
||||||
|
a sha1(b) c sha1(d)
|
||||||
|
1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 where a = 2 and c = 201;
|
||||||
|
a sha1(b) c sha1(d)
|
||||||
|
2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 where a = 3 and c = 301;
|
||||||
|
a sha1(b) c sha1(d)
|
||||||
|
3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e
|
||||||
|
update t1 set b = @v3, d = @v4 where a = 1 and c = 102;
|
||||||
|
update t1 set b = @v6, d = @v7 where a = 2 and c = 202;
|
||||||
|
update t1 set b = @v9, d = @v1 where a = 3 and c = 302;
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 order by a;
|
||||||
|
a sha1(b) c sha1(d)
|
||||||
|
1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6
|
||||||
|
1 a33549d9844092289a58ac348dd59f09fc28406a 102 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c
|
||||||
|
1 a33549d9844092289a58ac348dd59f09fc28406a 103 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c
|
||||||
|
2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d
|
||||||
|
2 090565c580809efed3d369481a4bbb168b20713e 202 1e0070bec426871a46291de27b9bd6e4255ab4e5
|
||||||
|
2 090565c580809efed3d369481a4bbb168b20713e 203 1e0070bec426871a46291de27b9bd6e4255ab4e5
|
||||||
|
3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e
|
||||||
|
3 9ee30d99162574f79c66ae95cdf132dcf9cbc259 302 1d42dd9090cf78314a06665d4ea938c35cc760f4
|
||||||
|
3 9ee30d99162574f79c66ae95cdf132dcf9cbc259 303 1d42dd9090cf78314a06665d4ea938c35cc760f4
|
||||||
|
update t1 set b = @v4, d = @v5 where c = 103;
|
||||||
|
update t1 set b = @v7, d = @v8 where c = 203;
|
||||||
|
update t1 set b = @v1, d = @v2 where c = 303;
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 order by a;
|
||||||
|
a sha1(b) c sha1(d)
|
||||||
|
1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6
|
||||||
|
1 a33549d9844092289a58ac348dd59f09fc28406a 102 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c
|
||||||
|
1 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 103 70fc9a7d08beebc522258bfb02000a30c77a8f1d
|
||||||
|
2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d
|
||||||
|
2 090565c580809efed3d369481a4bbb168b20713e 202 1e0070bec426871a46291de27b9bd6e4255ab4e5
|
||||||
|
2 1e0070bec426871a46291de27b9bd6e4255ab4e5 203 acbaba01bc2e682f015f40e79d9cbe475db3002e
|
||||||
|
3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e
|
||||||
|
3 9ee30d99162574f79c66ae95cdf132dcf9cbc259 302 1d42dd9090cf78314a06665d4ea938c35cc760f4
|
||||||
|
3 1d42dd9090cf78314a06665d4ea938c35cc760f4 303 10d3c783026b310218d10b7188da96a2401648c6
|
||||||
|
update t1 set b = @v5, d = @v6;
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 order by a;
|
||||||
|
a sha1(b) c sha1(d)
|
||||||
|
1 70fc9a7d08beebc522258bfb02000a30c77a8f1d 101 090565c580809efed3d369481a4bbb168b20713e
|
||||||
|
1 70fc9a7d08beebc522258bfb02000a30c77a8f1d 102 090565c580809efed3d369481a4bbb168b20713e
|
||||||
|
1 70fc9a7d08beebc522258bfb02000a30c77a8f1d 103 090565c580809efed3d369481a4bbb168b20713e
|
||||||
|
2 70fc9a7d08beebc522258bfb02000a30c77a8f1d 201 090565c580809efed3d369481a4bbb168b20713e
|
||||||
|
2 70fc9a7d08beebc522258bfb02000a30c77a8f1d 202 090565c580809efed3d369481a4bbb168b20713e
|
||||||
|
2 70fc9a7d08beebc522258bfb02000a30c77a8f1d 203 090565c580809efed3d369481a4bbb168b20713e
|
||||||
|
3 70fc9a7d08beebc522258bfb02000a30c77a8f1d 301 090565c580809efed3d369481a4bbb168b20713e
|
||||||
|
3 70fc9a7d08beebc522258bfb02000a30c77a8f1d 302 090565c580809efed3d369481a4bbb168b20713e
|
||||||
|
3 70fc9a7d08beebc522258bfb02000a30c77a8f1d 303 090565c580809efed3d369481a4bbb168b20713e
|
||||||
|
update t1 set b = @v1, d = @v2 where 100 < c and c < 200;
|
||||||
|
update t1 set b = @v4, d = @v5 where 200 < c and c < 300;
|
||||||
|
update t1 set b = @v7, d = @v8 where 300 < c and c < 400;
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 order by a;
|
||||||
|
a sha1(b) c sha1(d)
|
||||||
|
1 1d42dd9090cf78314a06665d4ea938c35cc760f4 101 10d3c783026b310218d10b7188da96a2401648c6
|
||||||
|
1 1d42dd9090cf78314a06665d4ea938c35cc760f4 102 10d3c783026b310218d10b7188da96a2401648c6
|
||||||
|
1 1d42dd9090cf78314a06665d4ea938c35cc760f4 103 10d3c783026b310218d10b7188da96a2401648c6
|
||||||
|
2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 201 70fc9a7d08beebc522258bfb02000a30c77a8f1d
|
||||||
|
2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 202 70fc9a7d08beebc522258bfb02000a30c77a8f1d
|
||||||
|
2 daa61c6de36a0526f0d47dc29d6b9de7e6d2630c 203 70fc9a7d08beebc522258bfb02000a30c77a8f1d
|
||||||
|
3 1e0070bec426871a46291de27b9bd6e4255ab4e5 301 acbaba01bc2e682f015f40e79d9cbe475db3002e
|
||||||
|
3 1e0070bec426871a46291de27b9bd6e4255ab4e5 302 acbaba01bc2e682f015f40e79d9cbe475db3002e
|
||||||
|
3 1e0070bec426871a46291de27b9bd6e4255ab4e5 303 acbaba01bc2e682f015f40e79d9cbe475db3002e
|
||||||
|
delete from t1 where a = 1 and c = 101;
|
||||||
|
delete from t1 where c = 102;
|
||||||
|
delete from t1;
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 order by a;
|
||||||
|
a sha1(b) c sha1(d)
|
||||||
|
drop table t1;
|
@ -155,10 +155,333 @@ DROP TABLE test.t1;
|
|||||||
DROP TABLE test.t2;
|
DROP TABLE test.t2;
|
||||||
DROP TABLE test.t3;
|
DROP TABLE test.t3;
|
||||||
DROP TABLE test.t4;
|
DROP TABLE test.t4;
|
||||||
|
**** Test 3 Adding partition Test backup and restore ****
|
||||||
|
CREATE TABLESPACE table_space2
|
||||||
|
ADD DATAFILE './table_space2/datafile.dat'
|
||||||
|
USE LOGFILE GROUP log_group1
|
||||||
|
INITIAL_SIZE 12M
|
||||||
|
ENGINE NDB;
|
||||||
|
CREATE TABLE test.t1 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(150) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space1 STORAGE DISK ENGINE=NDB PARTITION BY HASH(c3) PARTITIONS 4;
|
||||||
|
CREATE TABLE test.t4 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(180) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY HASH(c3) PARTITIONS 2;
|
||||||
|
CREATE TABLE test.t2 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space2 STORAGE DISK ENGINE=NDB PARTITION BY KEY(c3) (PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
|
||||||
|
CREATE TABLE test.t5 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY KEY(pk1) (PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
|
||||||
|
CREATE TABLE test.t3 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(202) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space2 STORAGE DISK ENGINE=NDB PARTITION BY RANGE (c3) PARTITIONS 3 (PARTITION x1 VALUES LESS THAN (105), PARTITION x2 VALUES LESS THAN (333), PARTITION x3 VALUES LESS THAN (720));
|
||||||
|
CREATE TABLE test.t6 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(220) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY RANGE (pk1) PARTITIONS 2 (PARTITION x1 VALUES LESS THAN (333), PARTITION x2 VALUES LESS THAN (720));
|
||||||
|
SHOW CREATE TABLE test.t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
|
||||||
|
`c2` varchar(150) NOT NULL,
|
||||||
|
`c3` int(11) NOT NULL,
|
||||||
|
`c4` bit(1) NOT NULL,
|
||||||
|
PRIMARY KEY (`pk1`,`c3`)
|
||||||
|
) TABLESPACE table_space1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (c3) PARTITIONS 4
|
||||||
|
SHOW CREATE TABLE test.t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
|
||||||
|
`c2` text NOT NULL,
|
||||||
|
`c3` int(11) NOT NULL,
|
||||||
|
`c4` bit(1) NOT NULL,
|
||||||
|
PRIMARY KEY (`pk1`,`c3`)
|
||||||
|
) TABLESPACE table_space2 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY (c3) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster)
|
||||||
|
SHOW CREATE TABLE test.t3;
|
||||||
|
Table Create Table
|
||||||
|
t3 CREATE TABLE `t3` (
|
||||||
|
`pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
|
||||||
|
`c2` varchar(202) NOT NULL,
|
||||||
|
`c3` int(11) NOT NULL,
|
||||||
|
`c4` bit(1) NOT NULL,
|
||||||
|
PRIMARY KEY (`pk1`,`c3`)
|
||||||
|
) TABLESPACE table_space2 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (c3) (PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster)
|
||||||
|
SHOW CREATE TABLE test.t4;
|
||||||
|
Table Create Table
|
||||||
|
t4 CREATE TABLE `t4` (
|
||||||
|
`pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
|
||||||
|
`c2` varchar(180) NOT NULL,
|
||||||
|
`c3` int(11) NOT NULL,
|
||||||
|
`c4` bit(1) NOT NULL,
|
||||||
|
PRIMARY KEY (`pk1`,`c3`)
|
||||||
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (c3) PARTITIONS 2
|
||||||
|
SHOW CREATE TABLE test.t5;
|
||||||
|
Table Create Table
|
||||||
|
t5 CREATE TABLE `t5` (
|
||||||
|
`pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
|
||||||
|
`c2` text NOT NULL,
|
||||||
|
`c3` int(11) NOT NULL,
|
||||||
|
`c4` bit(1) NOT NULL,
|
||||||
|
PRIMARY KEY (`pk1`,`c3`)
|
||||||
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY (pk1) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster)
|
||||||
|
SHOW CREATE TABLE test.t6;
|
||||||
|
Table Create Table
|
||||||
|
t6 CREATE TABLE `t6` (
|
||||||
|
`pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
|
||||||
|
`c2` varchar(220) NOT NULL,
|
||||||
|
`c3` int(11) NOT NULL,
|
||||||
|
`c4` bit(1) NOT NULL,
|
||||||
|
PRIMARY KEY (`pk1`,`c3`)
|
||||||
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (pk1) (PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster)
|
||||||
|
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 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t1 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t1 p2 NULL 3 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t1 p3 NULL 4 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't2';
|
||||||
|
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 t2 p0 NULL 1 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t2 p1 NULL 2 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't3';
|
||||||
|
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 t3 x1 NULL 1 NULL RANGE NULL c3 NULL 105 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t3 x2 NULL 2 NULL RANGE NULL c3 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t3 x3 NULL 3 NULL RANGE NULL c3 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't4';
|
||||||
|
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 t4 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t4 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't5';
|
||||||
|
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 t5 p0 NULL 1 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t5 p1 NULL 2 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't6';
|
||||||
|
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 t6 x1 NULL 1 NULL RANGE NULL pk1 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t6 x2 NULL 2 NULL RANGE NULL pk1 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
SELECT COUNT(*) FROM test.t1;
|
||||||
|
COUNT(*)
|
||||||
|
250
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
|
||||||
|
pk1 c2 c3 hex(c4)
|
||||||
|
250 Sweden, Texas 2 0
|
||||||
|
249 Sweden, Texas 4 0
|
||||||
|
248 Sweden, Texas 6 0
|
||||||
|
247 Sweden, Texas 8 0
|
||||||
|
246 Sweden, Texas 10 0
|
||||||
|
SELECT COUNT(*) FROM test.t2;
|
||||||
|
COUNT(*)
|
||||||
|
250
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
|
||||||
|
pk1 c2 c3 hex(c4)
|
||||||
|
250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1
|
||||||
|
249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1
|
||||||
|
248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1
|
||||||
|
247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1
|
||||||
|
246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1
|
||||||
|
SELECT COUNT(*) FROM test.t3;
|
||||||
|
COUNT(*)
|
||||||
|
250
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
|
||||||
|
pk1 c2 c3 hex(c4)
|
||||||
|
250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1
|
||||||
|
249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1
|
||||||
|
248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1
|
||||||
|
247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1
|
||||||
|
246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1
|
||||||
|
SELECT COUNT(*) FROM test.t4;
|
||||||
|
COUNT(*)
|
||||||
|
250
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
|
||||||
|
pk1 c2 c3 hex(c4)
|
||||||
|
250 Sweden, Texas 2 0
|
||||||
|
249 Sweden, Texas 4 0
|
||||||
|
248 Sweden, Texas 6 0
|
||||||
|
247 Sweden, Texas 8 0
|
||||||
|
246 Sweden, Texas 10 0
|
||||||
|
SELECT COUNT(*) FROM test.t5;
|
||||||
|
COUNT(*)
|
||||||
|
250
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
|
||||||
|
pk1 c2 c3 hex(c4)
|
||||||
|
250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1
|
||||||
|
249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1
|
||||||
|
248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1
|
||||||
|
247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1
|
||||||
|
246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1
|
||||||
|
SELECT COUNT(*) FROM test.t6;
|
||||||
|
COUNT(*)
|
||||||
|
250
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
|
||||||
|
pk1 c2 c3 hex(c4)
|
||||||
|
250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1
|
||||||
|
249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1
|
||||||
|
248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1
|
||||||
|
247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1
|
||||||
|
246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1
|
||||||
|
CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP;
|
||||||
|
DELETE FROM test.backup_info;
|
||||||
|
LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ',';
|
||||||
|
SELECT @the_backup_id:=backup_id FROM test.backup_info;
|
||||||
|
@the_backup_id:=backup_id
|
||||||
|
<the_backup_id>
|
||||||
|
DROP TABLE test.backup_info;
|
||||||
|
DROP TABLE test.t1;
|
||||||
|
DROP TABLE test.t2;
|
||||||
|
DROP TABLE test.t3;
|
||||||
|
DROP TABLE test.t4;
|
||||||
|
DROP TABLE test.t5;
|
||||||
|
DROP TABLE test.t6;
|
||||||
ALTER TABLESPACE table_space1
|
ALTER TABLESPACE table_space1
|
||||||
DROP DATAFILE './table_space1/datafile.dat'
|
DROP DATAFILE './table_space1/datafile.dat'
|
||||||
ENGINE = NDB;
|
ENGINE = NDB;
|
||||||
|
ALTER TABLESPACE table_space2
|
||||||
|
DROP DATAFILE './table_space2/datafile.dat'
|
||||||
|
ENGINE = NDB;
|
||||||
DROP TABLESPACE table_space1
|
DROP TABLESPACE table_space1
|
||||||
ENGINE = NDB;
|
ENGINE = NDB;
|
||||||
|
DROP TABLESPACE table_space2
|
||||||
|
ENGINE = NDB;
|
||||||
DROP LOGFILE GROUP log_group1
|
DROP LOGFILE GROUP log_group1
|
||||||
ENGINE =NDB;
|
ENGINE =NDB;
|
||||||
|
SHOW CREATE TABLE test.t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
|
||||||
|
`c2` varchar(150) NOT NULL,
|
||||||
|
`c3` int(11) NOT NULL,
|
||||||
|
`c4` bit(1) NOT NULL,
|
||||||
|
PRIMARY KEY (`pk1`,`c3`)
|
||||||
|
) TABLESPACE table_space1 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (c3) PARTITIONS 4
|
||||||
|
SHOW CREATE TABLE test.t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
|
||||||
|
`c2` text NOT NULL,
|
||||||
|
`c3` int(11) NOT NULL,
|
||||||
|
`c4` bit(1) NOT NULL,
|
||||||
|
PRIMARY KEY (`pk1`,`c3`)
|
||||||
|
) TABLESPACE table_space2 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY (c3) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster)
|
||||||
|
SHOW CREATE TABLE test.t3;
|
||||||
|
Table Create Table
|
||||||
|
t3 CREATE TABLE `t3` (
|
||||||
|
`pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
|
||||||
|
`c2` varchar(202) NOT NULL,
|
||||||
|
`c3` int(11) NOT NULL,
|
||||||
|
`c4` bit(1) NOT NULL,
|
||||||
|
PRIMARY KEY (`pk1`,`c3`)
|
||||||
|
) TABLESPACE table_space2 STORAGE DISK ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (c3) (PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster)
|
||||||
|
SHOW CREATE TABLE test.t4;
|
||||||
|
Table Create Table
|
||||||
|
t4 CREATE TABLE `t4` (
|
||||||
|
`pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
|
||||||
|
`c2` varchar(180) NOT NULL,
|
||||||
|
`c3` int(11) NOT NULL,
|
||||||
|
`c4` bit(1) NOT NULL,
|
||||||
|
PRIMARY KEY (`pk1`,`c3`)
|
||||||
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (c3) PARTITIONS 2
|
||||||
|
SHOW CREATE TABLE test.t5;
|
||||||
|
Table Create Table
|
||||||
|
t5 CREATE TABLE `t5` (
|
||||||
|
`pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
|
||||||
|
`c2` text NOT NULL,
|
||||||
|
`c3` int(11) NOT NULL,
|
||||||
|
`c4` bit(1) NOT NULL,
|
||||||
|
PRIMARY KEY (`pk1`,`c3`)
|
||||||
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY (pk1) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster)
|
||||||
|
SHOW CREATE TABLE test.t6;
|
||||||
|
Table Create Table
|
||||||
|
t6 CREATE TABLE `t6` (
|
||||||
|
`pk1` mediumint(9) NOT NULL AUTO_INCREMENT,
|
||||||
|
`c2` varchar(220) NOT NULL,
|
||||||
|
`c3` int(11) NOT NULL,
|
||||||
|
`c4` bit(1) NOT NULL,
|
||||||
|
PRIMARY KEY (`pk1`,`c3`)
|
||||||
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (pk1) (PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster)
|
||||||
|
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 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t1 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t1 p2 NULL 3 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t1 p3 NULL 4 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't2';
|
||||||
|
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 t2 p0 NULL 1 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t2 p1 NULL 2 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't3';
|
||||||
|
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 t3 x1 NULL 1 NULL RANGE NULL c3 NULL 105 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t3 x2 NULL 2 NULL RANGE NULL c3 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t3 x3 NULL 3 NULL RANGE NULL c3 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't4';
|
||||||
|
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 t4 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t4 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't5';
|
||||||
|
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 t5 p0 NULL 1 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t5 p1 NULL 2 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't6';
|
||||||
|
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 t6 x1 NULL 1 NULL RANGE NULL pk1 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
NULL test t6 x2 NULL 2 NULL RANGE NULL pk1 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default
|
||||||
|
SELECT COUNT(*) FROM test.t1;
|
||||||
|
COUNT(*)
|
||||||
|
250
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
|
||||||
|
pk1 c2 c3 hex(c4)
|
||||||
|
250 Sweden, Texas 2 0
|
||||||
|
249 Sweden, Texas 4 0
|
||||||
|
248 Sweden, Texas 6 0
|
||||||
|
247 Sweden, Texas 8 0
|
||||||
|
246 Sweden, Texas 10 0
|
||||||
|
SELECT COUNT(*) FROM test.t2;
|
||||||
|
COUNT(*)
|
||||||
|
250
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
|
||||||
|
pk1 c2 c3 hex(c4)
|
||||||
|
250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1
|
||||||
|
249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1
|
||||||
|
248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1
|
||||||
|
247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1
|
||||||
|
246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1
|
||||||
|
SELECT COUNT(*) FROM test.t3;
|
||||||
|
COUNT(*)
|
||||||
|
250
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
|
||||||
|
pk1 c2 c3 hex(c4)
|
||||||
|
250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1
|
||||||
|
249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1
|
||||||
|
248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1
|
||||||
|
247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1
|
||||||
|
246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1
|
||||||
|
SELECT COUNT(*) FROM test.t4;
|
||||||
|
COUNT(*)
|
||||||
|
250
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
|
||||||
|
pk1 c2 c3 hex(c4)
|
||||||
|
250 Sweden, Texas 2 0
|
||||||
|
249 Sweden, Texas 4 0
|
||||||
|
248 Sweden, Texas 6 0
|
||||||
|
247 Sweden, Texas 8 0
|
||||||
|
246 Sweden, Texas 10 0
|
||||||
|
SELECT COUNT(*) FROM test.t5;
|
||||||
|
COUNT(*)
|
||||||
|
250
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
|
||||||
|
pk1 c2 c3 hex(c4)
|
||||||
|
250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1
|
||||||
|
249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1
|
||||||
|
248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1
|
||||||
|
247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1
|
||||||
|
246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1
|
||||||
|
SELECT COUNT(*) FROM test.t6;
|
||||||
|
COUNT(*)
|
||||||
|
250
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
|
||||||
|
pk1 c2 c3 hex(c4)
|
||||||
|
250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1
|
||||||
|
249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1
|
||||||
|
248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1
|
||||||
|
247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1
|
||||||
|
246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1
|
||||||
|
DROP TABLE test.t1;
|
||||||
|
DROP TABLE test.t2;
|
||||||
|
DROP TABLE test.t3;
|
||||||
|
DROP TABLE test.t4;
|
||||||
|
DROP TABLE test.t5;
|
||||||
|
DROP TABLE test.t6;
|
||||||
|
ALTER TABLESPACE table_space1 DROP DATAFILE './table_space1/datafile.dat' ENGINE=NDB;
|
||||||
|
ALTER TABLESPACE table_space2 DROP DATAFILE './table_space2/datafile.dat' ENGINE=NDB;
|
||||||
|
DROP TABLESPACE table_space1 ENGINE = NDB;
|
||||||
|
DROP TABLESPACE table_space2 ENGINE = NDB;
|
||||||
|
DROP LOGFILE GROUP log_group1 ENGINE = NDB;
|
||||||
|
47
mysql-test/r/ndb_partition_error.result
Normal file
47
mysql-test/r/ndb_partition_error.result
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
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) nodegroup 12,
|
||||||
|
partition x2 values less than (10) nodegroup 13,
|
||||||
|
partition x3 values less than (20) nodegroup 14);
|
||||||
|
ERROR HY000: Can't create table 'test.t1' (errno: 140)
|
||||||
|
show warnings;
|
||||||
|
Level Code Message
|
||||||
|
Error 1296 Got error 771 'Given NODEGROUP doesn't exist in this cluster' from NDB
|
||||||
|
Error 1005 Can't create table 'test.t1' (errno: 140)
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
a int not null,
|
||||||
|
b int not null,
|
||||||
|
c int not null,
|
||||||
|
primary key(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));
|
||||||
|
drop table t1;
|
||||||
|
CREATE TABLE t1 (id INT) ENGINE=NDB
|
||||||
|
PARTITION BY LIST(id)
|
||||||
|
(PARTITION p0 VALUES IN (2, 4),
|
||||||
|
PARTITION p1 VALUES IN (42, 142));
|
||||||
|
INSERT INTO t1 VALUES (2);
|
||||||
|
UPDATE t1 SET id=5 WHERE id=2;
|
||||||
|
ERROR HY000: Table has no partition for value 5
|
||||||
|
DROP TABLE t1;
|
||||||
|
create table t1 (a int,b int, c int)
|
||||||
|
engine = ndb
|
||||||
|
partition by list(a)
|
||||||
|
partitions 2
|
||||||
|
(partition x123 values in (11, 12),
|
||||||
|
partition x234 values in (5, 1));
|
||||||
|
insert into t1 values (NULL,1,1);
|
||||||
|
ERROR HY000: Table has no partition for value NULL
|
||||||
|
drop table t1;
|
199
mysql-test/r/ndb_partition_key.result
Normal file
199
mysql-test/r/ndb_partition_key.result
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
DROP TABLE IF EXISTS t1;
|
||||||
|
CREATE TABLE t1 (a int, b int, c int, d int, PRIMARY KEY(a,b,c))
|
||||||
|
ENGINE = NDB
|
||||||
|
PARTITION BY KEY (a,b);
|
||||||
|
insert into t1 values (1,1,1,1);
|
||||||
|
select * from t1;
|
||||||
|
a b c d
|
||||||
|
1 1 1 1
|
||||||
|
update t1 set d = 2 where a = 1 and b = 1 and c = 1;
|
||||||
|
select * from t1;
|
||||||
|
a b c d
|
||||||
|
1 1 1 2
|
||||||
|
delete from t1;
|
||||||
|
select * from t1;
|
||||||
|
a b c d
|
||||||
|
drop table t1;
|
||||||
|
CREATE TABLE t1 (a int, b int, c int, d int, PRIMARY KEY(a,b))
|
||||||
|
ENGINE = NDB
|
||||||
|
PARTITION BY KEY (c);
|
||||||
|
ERROR HY000: A PRIMARY KEY need to include all fields in the partition function
|
||||||
|
CREATE TABLE t1 (a int, b int, c int, PRIMARY KEY(a,b))
|
||||||
|
ENGINE = NDB
|
||||||
|
PARTITION BY KEY (a);
|
||||||
|
insert into t1 values
|
||||||
|
(1,1,3),(1,2,3),(1,3,3),(1,4,3),(1,5,3),(1,6,3),
|
||||||
|
(1,7,3),(1,8,3),(1,9,3),(1,10,3),(1,11,3),(1,12,3);
|
||||||
|
select * from t1 order by b;
|
||||||
|
a b c
|
||||||
|
1 1 3
|
||||||
|
1 2 3
|
||||||
|
1 3 3
|
||||||
|
1 4 3
|
||||||
|
1 5 3
|
||||||
|
1 6 3
|
||||||
|
1 7 3
|
||||||
|
1 8 3
|
||||||
|
1 9 3
|
||||||
|
1 10 3
|
||||||
|
1 11 3
|
||||||
|
1 12 3
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (a INT, b CHAR(10) COLLATE latin1_bin, c INT, d INT,
|
||||||
|
PRIMARY KEY (a,b,c) USING HASH)
|
||||||
|
ENGINE=NDB
|
||||||
|
DEFAULT CHARSET=latin1
|
||||||
|
PARTITION BY KEY (b);
|
||||||
|
insert into t1 values (1,"a",1,1),(2,"a",1,1),(3,"a",1,1);
|
||||||
|
-- t1 --
|
||||||
|
|
||||||
|
Fragment type: 5
|
||||||
|
K Value: 6
|
||||||
|
Min load factor: 78
|
||||||
|
Max load factor: 80
|
||||||
|
Temporary table: no
|
||||||
|
Number of attributes: 4
|
||||||
|
Number of primary keys: 3
|
||||||
|
Length of frm data: #
|
||||||
|
Row Checksum: 1
|
||||||
|
Row GCI: 1
|
||||||
|
TableStatus: Retrieved
|
||||||
|
-- Attributes --
|
||||||
|
a Int PRIMARY KEY AT=FIXED ST=MEMORY
|
||||||
|
b Char(10;latin1_bin) PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
|
||||||
|
c Int PRIMARY KEY AT=FIXED ST=MEMORY
|
||||||
|
d Int NULL AT=FIXED ST=MEMORY
|
||||||
|
|
||||||
|
-- Indexes --
|
||||||
|
PRIMARY KEY(a, b, c) - UniqueHashIndex
|
||||||
|
|
||||||
|
|
||||||
|
NDBT_ProgramExit: 0 - OK
|
||||||
|
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` int(11) NOT NULL DEFAULT '0',
|
||||||
|
`b` char(10) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
|
||||||
|
`c` int(11) NOT NULL DEFAULT '0',
|
||||||
|
`d` int(11) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`a`,`b`,`c`) USING HASH
|
||||||
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY (b)
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (a int not null primary key)
|
||||||
|
PARTITION BY KEY(a)
|
||||||
|
(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
|
||||||
|
drop table t1;
|
||||||
|
CREATE TABLE t1 (a int not null primary key);
|
||||||
|
ALTER TABLE t1
|
||||||
|
PARTITION BY KEY(a)
|
||||||
|
(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int)
|
||||||
|
engine=ndb
|
||||||
|
partition by key(a)
|
||||||
|
(partition p0, partition p1);
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster)
|
||||||
|
alter table t1 engine=heap;
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=MEMORY DEFAULT CHARSET=latin1 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MEMORY, PARTITION p1 ENGINE = MEMORY)
|
||||||
|
alter table t1 engine=ndb;
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster)
|
||||||
|
alter table t1 engine=heap remove partitioning;
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=MEMORY DEFAULT CHARSET=latin1
|
||||||
|
alter table t1 engine=ndb
|
||||||
|
partition by key(a)
|
||||||
|
(partition p0, partition p1 engine = ndb);
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster)
|
||||||
|
alter table t1
|
||||||
|
partition by key (a)
|
||||||
|
(partition p0 engine=ndb, partition p1 engine=ndb);
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster)
|
||||||
|
alter table t1 remove partitioning;
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
|
||||||
|
alter table t1
|
||||||
|
partition by key(a)
|
||||||
|
(partition p0 engine=ndb, partition p1);
|
||||||
|
ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
|
||||||
|
alter table t1
|
||||||
|
engine=ndb
|
||||||
|
partition by key(a)
|
||||||
|
(partition p0 engine=ndb, partition p1 engine = ndb);
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY (a) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster)
|
||||||
|
drop table t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
|
||||||
|
c2 TEXT NOT NULL,
|
||||||
|
c3 INT NOT NULL,
|
||||||
|
c4 BIT NOT NULL,
|
||||||
|
c5 FLOAT,
|
||||||
|
c6 VARCHAR(255),
|
||||||
|
c7 TIMESTAMP,
|
||||||
|
PRIMARY KEY(c1,c3))
|
||||||
|
ENGINE=NDB
|
||||||
|
PARTITION BY KEY(c3) PARTITIONS 5;
|
||||||
|
ALTER TABLE t1 COALESCE PARTITION 4;
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (a int primary key)
|
||||||
|
ENGINE=NDB
|
||||||
|
PARTITION BY KEY(a);
|
||||||
|
ALTER TABLE t1 OPTIMIZE PARTITION p0;
|
||||||
|
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||||
|
ALTER TABLE t1 CHECK PARTITION p0;
|
||||||
|
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||||
|
ALTER TABLE t1 REPAIR PARTITION p0;
|
||||||
|
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||||
|
ALTER TABLE t1 ANALYZE PARTITION p0;
|
||||||
|
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||||
|
ALTER TABLE t1 REBUILD PARTITION p0;
|
||||||
|
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
|
||||||
|
c2 TEXT NOT NULL,
|
||||||
|
c3 INT NOT NULL,
|
||||||
|
PRIMARY KEY(c1,c3))
|
||||||
|
ENGINE=NDB
|
||||||
|
PARTITION BY KEY(c3) PARTITIONS 5;
|
||||||
|
ALTER TABLE t1 ADD COLUMN c4 INT AFTER c1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
|
||||||
|
c2 TEXT NOT NULL,
|
||||||
|
c3 INT NOT NULL,
|
||||||
|
PRIMARY KEY(c1,c3))
|
||||||
|
ENGINE=NDB
|
||||||
|
PARTITION BY KEY(c3);
|
||||||
|
ALTER TABLE t1 ADD COLUMN c4 INT AFTER c1;
|
||||||
|
DROP TABLE t1;
|
51
mysql-test/r/ndb_partition_list.result
Normal file
51
mysql-test/r/ndb_partition_list.result
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
drop table if exists t1;
|
||||||
|
CREATE TABLE t1 ( f_int1 INTEGER NOT NULL, f_int2 INTEGER NOT NULL,
|
||||||
|
f_char1 CHAR(10),
|
||||||
|
f_char2 CHAR(10), f_charbig VARCHAR(1000),
|
||||||
|
PRIMARY KEY (f_int1,f_int2))
|
||||||
|
ENGINE = NDB
|
||||||
|
PARTITION BY LIST(MOD(f_int1 + f_int2,4))
|
||||||
|
(PARTITION part_3 VALUES IN (-3),
|
||||||
|
PARTITION part_2 VALUES IN (-2),
|
||||||
|
PARTITION part_1 VALUES IN (-1),
|
||||||
|
PARTITION part0 VALUES IN (0),
|
||||||
|
PARTITION part1 VALUES IN (1),
|
||||||
|
PARTITION part2 VALUES IN (2),
|
||||||
|
PARTITION part3 VALUES IN (3,4,5));
|
||||||
|
INSERT INTO t1 SET f_int1 = -2, f_int2 = 20, f_char1 = '20', f_char2 = '20', f_charbig = '===20===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 1, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 2, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 3, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 4, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 5, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 20, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
SELECT * FROM t1 ORDER BY f_int1;
|
||||||
|
f_int1 f_int2 f_char1 f_char2 f_charbig
|
||||||
|
-2 20 20 20 ===20===
|
||||||
|
1 1 1 1 ===1===
|
||||||
|
2 1 1 1 ===1===
|
||||||
|
3 1 1 1 ===1===
|
||||||
|
4 1 1 1 ===1===
|
||||||
|
5 1 1 1 ===1===
|
||||||
|
20 1 1 1 ===1===
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 ( f_int1 INTEGER, f_int2 INTEGER, f_char1 CHAR(10),
|
||||||
|
f_char2 CHAR(10), f_charbig VARCHAR(1000))
|
||||||
|
ENGINE = NDB
|
||||||
|
PARTITION BY LIST(f_int1)
|
||||||
|
(PARTITION part_1 VALUES IN (-1),
|
||||||
|
PARTITION part0 VALUES IN (0,1),
|
||||||
|
PARTITION part1 VALUES IN (2));
|
||||||
|
INSERT INTO t1 SET f_int1 = -1, f_int2 = 20, f_char1 = '20', f_char2 = '20', f_charbig = '===20===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 0, f_int2 = 20, f_char1 = '20', f_char2 = '20', f_charbig = '===20===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 1, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 2, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 20, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
ERROR HY000: Table has no partition for value 20
|
||||||
|
SELECT * FROM t1 ORDER BY f_int1;
|
||||||
|
f_int1 f_int2 f_char1 f_char2 f_charbig
|
||||||
|
-1 20 20 20 ===20===
|
||||||
|
0 20 20 20 ===20===
|
||||||
|
1 1 1 1 ===1===
|
||||||
|
2 1 1 1 ===1===
|
||||||
|
DROP TABLE t1;
|
263
mysql-test/r/ndb_partition_range.result
Normal file
263
mysql-test/r/ndb_partition_range.result
Normal file
@ -0,0 +1,263 @@
|
|||||||
|
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;
|
||||||
|
CREATE TABLE t1
|
||||||
|
(id MEDIUMINT NOT NULL,
|
||||||
|
b1 BIT(8),
|
||||||
|
vc VARCHAR(255),
|
||||||
|
bc CHAR(255),
|
||||||
|
d DECIMAL(10,4) DEFAULT 0,
|
||||||
|
f FLOAT DEFAULT 0,
|
||||||
|
total BIGINT UNSIGNED,
|
||||||
|
y YEAR,
|
||||||
|
t DATE) ENGINE=NDB
|
||||||
|
PARTITION BY RANGE (YEAR(t))
|
||||||
|
(PARTITION p0 VALUES LESS THAN (1901),
|
||||||
|
PARTITION p1 VALUES LESS THAN (1946),
|
||||||
|
PARTITION p2 VALUES LESS THAN (1966),
|
||||||
|
PARTITION p3 VALUES LESS THAN (1986),
|
||||||
|
PARTITION p4 VALUES LESS THAN (2005),
|
||||||
|
PARTITION p5 VALUES LESS THAN MAXVALUE);
|
||||||
|
INSERT INTO t1 VALUES (0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
|
SELECT * FROM t1;
|
||||||
|
id b1 vc bc d f total y t
|
||||||
|
0 NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
|
ALTER TABLE t1 ENGINE=MYISAM;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
id b1 vc bc d f total y t
|
||||||
|
0 NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE LOGFILE GROUP lg1
|
||||||
|
ADD UNDOFILE 'undofile.dat'
|
||||||
|
INITIAL_SIZE 16M
|
||||||
|
UNDO_BUFFER_SIZE=1M
|
||||||
|
ENGINE=NDB;
|
||||||
|
CREATE TABLESPACE ts1
|
||||||
|
ADD DATAFILE 'datafile.dat'
|
||||||
|
USE LOGFILE GROUP lg1
|
||||||
|
INITIAL_SIZE 12M
|
||||||
|
ENGINE NDB;
|
||||||
|
CREATE TABLE test.t1 (
|
||||||
|
a1 INT,
|
||||||
|
a2 TEXT NOT NULL,
|
||||||
|
a3 BIT NOT NULL,
|
||||||
|
a4 DECIMAL(8,3),
|
||||||
|
a5 INT NOT NULL,
|
||||||
|
a6 INT,
|
||||||
|
PRIMARY KEY(a1))
|
||||||
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB
|
||||||
|
PARTITION BY LIST (a1)
|
||||||
|
(PARTITION p0 VALUES IN (1,2,3,4,5),
|
||||||
|
PARTITION p1 VALUES IN (6,7,8,9, 10),
|
||||||
|
PARTITION p2 VALUES IN (11, 12, 13, 14, 15));
|
||||||
|
ALTER TABLE test.t1 DROP COLUMN a6;
|
||||||
|
ALTER TABLE test.t1 ADD COLUMN a6 VARCHAR(255);
|
||||||
|
SELECT COUNT(*) FROM test.t1;
|
||||||
|
COUNT(*)
|
||||||
|
15
|
||||||
|
ALTER TABLE test.t1 DROP COLUMN a4;
|
||||||
|
SELECT COUNT(*) FROM test.t1;
|
||||||
|
COUNT(*)
|
||||||
|
15
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE test.t1 (
|
||||||
|
a1 INT,
|
||||||
|
a2 TEXT NOT NULL,
|
||||||
|
a3 BIT NOT NULL,
|
||||||
|
a4 DECIMAL(8,3),
|
||||||
|
a5 INT NOT NULL,
|
||||||
|
a6 VARCHAR(255),
|
||||||
|
PRIMARY KEY(a1))
|
||||||
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB
|
||||||
|
PARTITION BY HASH(a1)
|
||||||
|
PARTITIONS 4;
|
||||||
|
SELECT COUNT(*) FROM test.t1;
|
||||||
|
COUNT(*)
|
||||||
|
15
|
||||||
|
ALTER TABLE test.t1 DROP COLUMN a4;
|
||||||
|
SELECT COUNT(*) FROM test.t1;
|
||||||
|
COUNT(*)
|
||||||
|
15
|
||||||
|
DROP TABLE t1;
|
||||||
|
ALTER TABLESPACE ts1
|
||||||
|
DROP DATAFILE 'datafile.dat'
|
||||||
|
ENGINE=NDB;
|
||||||
|
DROP TABLESPACE ts1 ENGINE=NDB;
|
||||||
|
DROP LOGFILE GROUP lg1 ENGINE=NDB;
|
||||||
|
CREATE TABLE t1
|
||||||
|
(id MEDIUMINT NOT NULL,
|
||||||
|
b1 BIT(8),
|
||||||
|
vc VARCHAR(255),
|
||||||
|
bc CHAR(255),
|
||||||
|
d DECIMAL(10,4) DEFAULT 0,
|
||||||
|
f FLOAT DEFAULT 0,
|
||||||
|
total BIGINT UNSIGNED,
|
||||||
|
y YEAR,
|
||||||
|
t DATE) ENGINE=NDB
|
||||||
|
PARTITION BY LIST(id)
|
||||||
|
(PARTITION p0 VALUES IN (2, 4),
|
||||||
|
PARTITION p1 VALUES IN (42, 142));
|
||||||
|
INSERT INTO t1 VALUES (2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
|
SELECT * FROM t1;
|
||||||
|
id b1 vc bc d f total y t
|
||||||
|
2 NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
|
ALTER TABLE t1 ADD PARTITION
|
||||||
|
(PARTITION p2 VALUES IN (412));
|
||||||
|
SELECT * FROM t1;
|
||||||
|
id b1 vc bc d f total y t
|
||||||
|
2 NULL NULL NULL NULL NULL NULL NULL NULL
|
||||||
|
DROP TABLE t1;
|
||||||
|
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 (5,1,1);
|
||||||
|
select * from t1;
|
||||||
|
a b c
|
||||||
|
5 1 1
|
||||||
|
UPDATE t1 SET a=8 WHERE a=5 AND b=1;
|
||||||
|
select * from t1;
|
||||||
|
a b c
|
||||||
|
8 1 1
|
||||||
|
drop table t1;
|
||||||
|
CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) engine=ndb
|
||||||
|
PARTITION BY RANGE(f1)
|
||||||
|
( PARTITION part1 VALUES LESS THAN (2),
|
||||||
|
PARTITION part2 VALUES LESS THAN (1000));
|
||||||
|
INSERT INTO t1 VALUES(1, '---1---');
|
||||||
|
INSERT INTO t1 VALUES(2, '---2---');
|
||||||
|
select * from t1 order by f1;
|
||||||
|
f1 f2
|
||||||
|
1 ---1---
|
||||||
|
2 ---2---
|
||||||
|
UPDATE t1 SET f1 = f1 + 4 WHERE f1 = 2;
|
||||||
|
select * from t1 order by f1;
|
||||||
|
f1 f2
|
||||||
|
1 ---1---
|
||||||
|
6 ---2---
|
||||||
|
UPDATE t1 SET f1 = f1 + 4 WHERE f1 = 1;
|
||||||
|
select * from t1 order by f1;
|
||||||
|
f1 f2
|
||||||
|
5 ---1---
|
||||||
|
6 ---2---
|
||||||
|
drop table t1;
|
93
mysql-test/t/ndb_blob_partition.test
Normal file
93
mysql-test/t/ndb_blob_partition.test
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
--source include/have_ndb.inc
|
||||||
|
-- source include/not_embedded.inc
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
#
|
||||||
|
# Minimal NDB blobs test with range partitions.
|
||||||
|
#
|
||||||
|
|
||||||
|
create table t1 (
|
||||||
|
a mediumint not null,
|
||||||
|
b text not null,
|
||||||
|
c int not null,
|
||||||
|
d longblob,
|
||||||
|
primary key using hash (a,c),
|
||||||
|
unique key (c)
|
||||||
|
)
|
||||||
|
engine=ndb
|
||||||
|
partition by range (c)
|
||||||
|
partitions 3
|
||||||
|
( partition p1 values less than (200),
|
||||||
|
partition p2 values less than (300),
|
||||||
|
partition p3 values less than (400));
|
||||||
|
|
||||||
|
--disable_query_log
|
||||||
|
sleep 1;
|
||||||
|
|
||||||
|
# length 61
|
||||||
|
set @s0 = 'rggurloniukyehuxdbfkkyzlceixzrehqhvxvxbpwizzvjzpucqmzrhzxzfau';
|
||||||
|
set @s1 = 'ykyymbzqgqlcjhlhmyqelfoaaohvtbekvifukdtnvcrrjveevfakxarxexomz';
|
||||||
|
set @s2 = 'dbnfqyzgtqxalcrwtfsqabknvtfcbpoonxsjiqvmhnfikxxhcgoexlkoezvah';
|
||||||
|
|
||||||
|
set @v1 = repeat(@s0, 100); -- 1d42dd9090cf78314a06665d4ea938c35cc760f4
|
||||||
|
set @v2 = repeat(@s1, 200); -- 10d3c783026b310218d10b7188da96a2401648c6
|
||||||
|
set @v3 = repeat(@s2, 300); -- a33549d9844092289a58ac348dd59f09fc28406a
|
||||||
|
set @v4 = repeat(@s0, 400); -- daa61c6de36a0526f0d47dc29d6b9de7e6d2630c
|
||||||
|
set @v5 = repeat(@s1, 500); -- 70fc9a7d08beebc522258bfb02000a30c77a8f1d
|
||||||
|
set @v6 = repeat(@s2, 600); -- 090565c580809efed3d369481a4bbb168b20713e
|
||||||
|
set @v7 = repeat(@s0, 700); -- 1e0070bec426871a46291de27b9bd6e4255ab4e5
|
||||||
|
set @v8 = repeat(@s1, 800); -- acbaba01bc2e682f015f40e79d9cbe475db3002e
|
||||||
|
set @v9 = repeat(@s2, 900); -- 9ee30d99162574f79c66ae95cdf132dcf9cbc259
|
||||||
|
--enable_query_log
|
||||||
|
|
||||||
|
# -- insert --
|
||||||
|
insert into t1 values (1, @v1, 101, @v2);
|
||||||
|
insert into t1 values (1, @v2, 102, @v3);
|
||||||
|
insert into t1 values (1, @v3, 103, @v4);
|
||||||
|
insert into t1 values (2, @v4, 201, @v5);
|
||||||
|
insert into t1 values (2, @v5, 202, @v6);
|
||||||
|
insert into t1 values (2, @v6, 203, @v7);
|
||||||
|
insert into t1 values (3, @v7, 301, @v8);
|
||||||
|
insert into t1 values (3, @v8, 302, @v9);
|
||||||
|
insert into t1 values (3, @v9, 303, @v1);
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 order by a;
|
||||||
|
|
||||||
|
# -- pk read --
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 where a = 1 and c = 101;
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 where a = 2 and c = 201;
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 where a = 3 and c = 301;
|
||||||
|
|
||||||
|
# -- pk update --
|
||||||
|
update t1 set b = @v3, d = @v4 where a = 1 and c = 102;
|
||||||
|
update t1 set b = @v6, d = @v7 where a = 2 and c = 202;
|
||||||
|
update t1 set b = @v9, d = @v1 where a = 3 and c = 302;
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 order by a;
|
||||||
|
|
||||||
|
# -- hash index update --
|
||||||
|
update t1 set b = @v4, d = @v5 where c = 103;
|
||||||
|
update t1 set b = @v7, d = @v8 where c = 203;
|
||||||
|
update t1 set b = @v1, d = @v2 where c = 303;
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 order by a;
|
||||||
|
|
||||||
|
# -- full scan update --
|
||||||
|
update t1 set b = @v5, d = @v6;
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 order by a;
|
||||||
|
|
||||||
|
# -- range scan update
|
||||||
|
update t1 set b = @v1, d = @v2 where 100 < c and c < 200;
|
||||||
|
update t1 set b = @v4, d = @v5 where 200 < c and c < 300;
|
||||||
|
update t1 set b = @v7, d = @v8 where 300 < c and c < 400;
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 order by a;
|
||||||
|
|
||||||
|
# -- delete --
|
||||||
|
delete from t1 where a = 1 and c = 101;
|
||||||
|
delete from t1 where c = 102;
|
||||||
|
# delete from t1 where c < 300; # XXX coredump
|
||||||
|
delete from t1;
|
||||||
|
select a, sha1(b), c, sha1(d) from t1 order by a;
|
||||||
|
|
||||||
|
# -- clean up --
|
||||||
|
drop table t1;
|
@ -159,15 +159,185 @@ DROP TABLE test.t1;
|
|||||||
DROP TABLE test.t2;
|
DROP TABLE test.t2;
|
||||||
DROP TABLE test.t3;
|
DROP TABLE test.t3;
|
||||||
DROP TABLE test.t4;
|
DROP TABLE test.t4;
|
||||||
|
###################### Adding partition #################################
|
||||||
|
-- echo **** Test 3 Adding partition Test backup and restore ****
|
||||||
|
|
||||||
|
CREATE TABLESPACE table_space2
|
||||||
|
ADD DATAFILE './table_space2/datafile.dat'
|
||||||
|
USE LOGFILE GROUP log_group1
|
||||||
|
INITIAL_SIZE 12M
|
||||||
|
ENGINE NDB;
|
||||||
|
|
||||||
|
CREATE TABLE test.t1 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(150) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space1 STORAGE DISK ENGINE=NDB PARTITION BY HASH(c3) PARTITIONS 4;
|
||||||
|
|
||||||
|
CREATE TABLE test.t4 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(180) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY HASH(c3) PARTITIONS 2;
|
||||||
|
|
||||||
|
CREATE TABLE test.t2 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space2 STORAGE DISK ENGINE=NDB PARTITION BY KEY(c3) (PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
|
||||||
|
|
||||||
|
CREATE TABLE test.t5 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY KEY(pk1) (PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
|
||||||
|
|
||||||
|
CREATE TABLE test.t3 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(202) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space2 STORAGE DISK ENGINE=NDB PARTITION BY RANGE (c3) PARTITIONS 3 (PARTITION x1 VALUES LESS THAN (105), PARTITION x2 VALUES LESS THAN (333), PARTITION x3 VALUES LESS THAN (720));
|
||||||
|
|
||||||
|
CREATE TABLE test.t6 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(220) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY RANGE (pk1) PARTITIONS 2 (PARTITION x1 VALUES LESS THAN (333), PARTITION x2 VALUES LESS THAN (720));
|
||||||
|
|
||||||
|
SHOW CREATE TABLE test.t1;
|
||||||
|
|
||||||
|
SHOW CREATE TABLE test.t2;
|
||||||
|
|
||||||
|
SHOW CREATE TABLE test.t3;
|
||||||
|
|
||||||
|
SHOW CREATE TABLE test.t4;
|
||||||
|
|
||||||
|
SHOW CREATE TABLE test.t5;
|
||||||
|
|
||||||
|
SHOW CREATE TABLE test.t6;
|
||||||
|
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't1';
|
||||||
|
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't2';
|
||||||
|
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't3';
|
||||||
|
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't4';
|
||||||
|
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't5';
|
||||||
|
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't6';
|
||||||
|
|
||||||
|
|
||||||
|
let $j= 500;
|
||||||
|
--disable_query_log
|
||||||
|
while ($j)
|
||||||
|
{
|
||||||
|
eval INSERT INTO test.t1 VALUES (NULL, "Sweden, Texas", $j, b'0');
|
||||||
|
eval INSERT INTO test.t4 VALUES (NULL, "Sweden, Texas", $j, b'0');
|
||||||
|
dec $j;
|
||||||
|
eval INSERT INTO test.t2 VALUES (NULL, "Sweden, Texas, ITALY, Kyle, JO, JBM,TU", $j, b'1');
|
||||||
|
eval INSERT INTO test.t5 VALUES (NULL, "Sweden, Texas, ITALY, Kyle, JO, JBM,TU", $j, b'1');
|
||||||
|
dec $j;
|
||||||
|
eval INSERT INTO test.t3 VALUES (NULL, "TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU", $j, b'1');
|
||||||
|
eval INSERT INTO test.t6 VALUES (NULL, "TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU", $j, b'1'); } --enable_query_log
|
||||||
|
|
||||||
|
SELECT COUNT(*) FROM test.t1;
|
||||||
|
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
|
||||||
|
|
||||||
|
SELECT COUNT(*) FROM test.t2;
|
||||||
|
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
|
||||||
|
|
||||||
|
SELECT COUNT(*) FROM test.t3;
|
||||||
|
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
|
||||||
|
|
||||||
|
SELECT COUNT(*) FROM test.t4;
|
||||||
|
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
|
||||||
|
|
||||||
|
SELECT COUNT(*) FROM test.t5;
|
||||||
|
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
|
||||||
|
|
||||||
|
SELECT COUNT(*) FROM test.t6;
|
||||||
|
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
|
||||||
|
|
||||||
|
-- source include/ndb_backup.inc
|
||||||
|
|
||||||
|
DROP TABLE test.t1;
|
||||||
|
DROP TABLE test.t2;
|
||||||
|
DROP TABLE test.t3;
|
||||||
|
DROP TABLE test.t4;
|
||||||
|
DROP TABLE test.t5;
|
||||||
|
DROP TABLE test.t6;
|
||||||
|
|
||||||
ALTER TABLESPACE table_space1
|
ALTER TABLESPACE table_space1
|
||||||
DROP DATAFILE './table_space1/datafile.dat'
|
DROP DATAFILE './table_space1/datafile.dat'
|
||||||
ENGINE = NDB;
|
ENGINE = NDB;
|
||||||
|
|
||||||
|
ALTER TABLESPACE table_space2
|
||||||
|
DROP DATAFILE './table_space2/datafile.dat'
|
||||||
|
ENGINE = NDB;
|
||||||
|
|
||||||
DROP TABLESPACE table_space1
|
DROP TABLESPACE table_space1
|
||||||
ENGINE = NDB;
|
ENGINE = NDB;
|
||||||
|
|
||||||
|
DROP TABLESPACE table_space2
|
||||||
|
ENGINE = NDB;
|
||||||
|
|
||||||
DROP LOGFILE GROUP log_group1
|
DROP LOGFILE GROUP log_group1
|
||||||
ENGINE =NDB;
|
ENGINE =NDB;
|
||||||
|
|
||||||
|
-- source include/ndb_restore_master.inc
|
||||||
|
|
||||||
|
|
||||||
|
SHOW CREATE TABLE test.t1;
|
||||||
|
|
||||||
|
SHOW CREATE TABLE test.t2;
|
||||||
|
|
||||||
|
SHOW CREATE TABLE test.t3;
|
||||||
|
|
||||||
|
SHOW CREATE TABLE test.t4;
|
||||||
|
|
||||||
|
SHOW CREATE TABLE test.t5;
|
||||||
|
|
||||||
|
SHOW CREATE TABLE test.t6;
|
||||||
|
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't1';
|
||||||
|
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't2';
|
||||||
|
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't3';
|
||||||
|
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't4';
|
||||||
|
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't5';
|
||||||
|
|
||||||
|
SELECT * FROM information_schema.partitions WHERE table_name= 't6';
|
||||||
|
|
||||||
|
SELECT COUNT(*) FROM test.t1;
|
||||||
|
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
|
||||||
|
|
||||||
|
SELECT COUNT(*) FROM test.t2;
|
||||||
|
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
|
||||||
|
|
||||||
|
SELECT COUNT(*) FROM test.t3;
|
||||||
|
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
|
||||||
|
|
||||||
|
SELECT COUNT(*) FROM test.t4;
|
||||||
|
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
|
||||||
|
|
||||||
|
SELECT COUNT(*) FROM test.t5;
|
||||||
|
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
|
||||||
|
|
||||||
|
SELECT COUNT(*) FROM test.t6;
|
||||||
|
|
||||||
|
SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
|
||||||
|
DROP TABLE test.t1;
|
||||||
|
DROP TABLE test.t2;
|
||||||
|
DROP TABLE test.t3;
|
||||||
|
DROP TABLE test.t4;
|
||||||
|
DROP TABLE test.t5;
|
||||||
|
DROP TABLE test.t6;
|
||||||
|
|
||||||
|
ALTER TABLESPACE table_space1 DROP DATAFILE './table_space1/datafile.dat' ENGINE=NDB;
|
||||||
|
|
||||||
|
ALTER TABLESPACE table_space2 DROP DATAFILE './table_space2/datafile.dat' ENGINE=NDB;
|
||||||
|
|
||||||
|
DROP TABLESPACE table_space1 ENGINE = NDB;
|
||||||
|
|
||||||
|
DROP TABLESPACE table_space2 ENGINE = NDB;
|
||||||
|
|
||||||
|
DROP LOGFILE GROUP log_group1 ENGINE = NDB;
|
||||||
|
|
||||||
#End 5.1 test case
|
#End 5.1 test case
|
||||||
|
|
||||||
|
|
||||||
|
71
mysql-test/t/ndb_partition_error.test
Normal file
71
mysql-test/t/ndb_partition_error.test
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
-- source include/have_ndb.inc
|
||||||
|
#--disable_abort_on_error
|
||||||
|
#
|
||||||
|
# Simple test for the partition storage engine
|
||||||
|
# Focuses on range partitioning tests
|
||||||
|
#
|
||||||
|
#-- source include/have_partition.inc
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
#
|
||||||
|
# Partition by range, generate node group error
|
||||||
|
#
|
||||||
|
--error 1005
|
||||||
|
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) nodegroup 12,
|
||||||
|
partition x2 values less than (10) nodegroup 13,
|
||||||
|
partition x3 values less than (20) nodegroup 14);
|
||||||
|
show warnings;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Partition by range, create normal valid table
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
a int not null,
|
||||||
|
b int not null,
|
||||||
|
c int not null,
|
||||||
|
primary key(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));
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #17763 mysqld cores with list partitioning if update to missing partition
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (id INT) ENGINE=NDB
|
||||||
|
PARTITION BY LIST(id)
|
||||||
|
(PARTITION p0 VALUES IN (2, 4),
|
||||||
|
PARTITION p1 VALUES IN (42, 142));
|
||||||
|
INSERT INTO t1 VALUES (2);
|
||||||
|
--error ER_NO_PARTITION_FOR_GIVEN_VALUE
|
||||||
|
UPDATE t1 SET id=5 WHERE id=2;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# NULL for LIST partition
|
||||||
|
#
|
||||||
|
create table t1 (a int,b int, c int)
|
||||||
|
engine = ndb
|
||||||
|
partition by list(a)
|
||||||
|
partitions 2
|
||||||
|
(partition x123 values in (11, 12),
|
||||||
|
partition x234 values in (5, 1));
|
||||||
|
--error ER_NO_PARTITION_FOR_GIVEN_VALUE
|
||||||
|
insert into t1 values (NULL,1,1);
|
||||||
|
drop table t1;
|
198
mysql-test/t/ndb_partition_key.test
Normal file
198
mysql-test/t/ndb_partition_key.test
Normal file
@ -0,0 +1,198 @@
|
|||||||
|
-- source include/have_ndb.inc
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
DROP TABLE IF EXISTS t1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
#
|
||||||
|
# Basic syntax test
|
||||||
|
#
|
||||||
|
|
||||||
|
# Support for partition key verified
|
||||||
|
CREATE TABLE t1 (a int, b int, c int, d int, PRIMARY KEY(a,b,c))
|
||||||
|
ENGINE = NDB
|
||||||
|
PARTITION BY KEY (a,b);
|
||||||
|
|
||||||
|
insert into t1 values (1,1,1,1);
|
||||||
|
select * from t1;
|
||||||
|
update t1 set d = 2 where a = 1 and b = 1 and c = 1;
|
||||||
|
select * from t1;
|
||||||
|
delete from t1;
|
||||||
|
select * from t1;
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
# only support for partition key on primary key
|
||||||
|
--error ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF
|
||||||
|
CREATE TABLE t1 (a int, b int, c int, d int, PRIMARY KEY(a,b))
|
||||||
|
ENGINE = NDB
|
||||||
|
PARTITION BY KEY (c);
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a int, b int, c int, PRIMARY KEY(a,b))
|
||||||
|
ENGINE = NDB
|
||||||
|
PARTITION BY KEY (a);
|
||||||
|
|
||||||
|
insert into t1 values
|
||||||
|
(1,1,3),(1,2,3),(1,3,3),(1,4,3),(1,5,3),(1,6,3),
|
||||||
|
(1,7,3),(1,8,3),(1,9,3),(1,10,3),(1,11,3),(1,12,3);
|
||||||
|
|
||||||
|
select * from t1 order by b;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Test partition and char support
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a INT, b CHAR(10) COLLATE latin1_bin, c INT, d INT,
|
||||||
|
PRIMARY KEY (a,b,c) USING HASH)
|
||||||
|
ENGINE=NDB
|
||||||
|
DEFAULT CHARSET=latin1
|
||||||
|
PARTITION BY KEY (b);
|
||||||
|
|
||||||
|
insert into t1 values (1,"a",1,1),(2,"a",1,1),(3,"a",1,1);
|
||||||
|
|
||||||
|
# should show only one attribute with DISTRIBUTION KEY
|
||||||
|
--exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t1 | sed 's/Version: [0-9]*//' | sed 's/\(Length of frm data: \)[0-9]*/\1#/'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Test that explicit partition info is not shown in show create table
|
||||||
|
# result should not contain (PARTITION P0 ... etc) since this is what shows up in
|
||||||
|
# mysqldump, and we don't want that info there
|
||||||
|
#
|
||||||
|
show create table t1;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #13155: Problem in Create Table using SHOW CREATE TABLE syntax
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a int not null primary key)
|
||||||
|
PARTITION BY KEY(a)
|
||||||
|
(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a int not null primary key);
|
||||||
|
ALTER TABLE t1
|
||||||
|
PARTITION BY KEY(a)
|
||||||
|
(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #17754 Improper handling of removal of partitioning in ALTER TABLE
|
||||||
|
# Also added a number of general test cases in the same area
|
||||||
|
#
|
||||||
|
create table t1 (a int)
|
||||||
|
engine=ndb
|
||||||
|
partition by key(a)
|
||||||
|
(partition p0, partition p1);
|
||||||
|
show create table t1;
|
||||||
|
|
||||||
|
alter table t1 engine=heap;
|
||||||
|
show create table t1;
|
||||||
|
|
||||||
|
alter table t1 engine=ndb;
|
||||||
|
show create table t1;
|
||||||
|
|
||||||
|
alter table t1 engine=heap remove partitioning;
|
||||||
|
show create table t1;
|
||||||
|
|
||||||
|
alter table t1 engine=ndb
|
||||||
|
partition by key(a)
|
||||||
|
(partition p0, partition p1 engine = ndb);
|
||||||
|
show create table t1;
|
||||||
|
|
||||||
|
alter table t1
|
||||||
|
partition by key (a)
|
||||||
|
(partition p0 engine=ndb, partition p1 engine=ndb);
|
||||||
|
show create table t1;
|
||||||
|
|
||||||
|
alter table t1 remove partitioning;
|
||||||
|
show create table t1;
|
||||||
|
|
||||||
|
--error ER_MIX_HANDLER_ERROR
|
||||||
|
alter table t1
|
||||||
|
partition by key(a)
|
||||||
|
(partition p0 engine=ndb, partition p1);
|
||||||
|
|
||||||
|
alter table t1
|
||||||
|
engine=ndb
|
||||||
|
partition by key(a)
|
||||||
|
(partition p0 engine=ndb, partition p1 engine = ndb);
|
||||||
|
show create table t1;
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG 16810 Out of memory when coalesce partition
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
|
||||||
|
c2 TEXT NOT NULL,
|
||||||
|
c3 INT NOT NULL,
|
||||||
|
c4 BIT NOT NULL,
|
||||||
|
c5 FLOAT,
|
||||||
|
c6 VARCHAR(255),
|
||||||
|
c7 TIMESTAMP,
|
||||||
|
PRIMARY KEY(c1,c3))
|
||||||
|
ENGINE=NDB
|
||||||
|
PARTITION BY KEY(c3) PARTITIONS 5;
|
||||||
|
|
||||||
|
let $j= 11;
|
||||||
|
--disable_query_log
|
||||||
|
while ($j)
|
||||||
|
{
|
||||||
|
eval INSERT INTO t1 VALUES (NULL, "Tested Remotely from Texas, USA", $j,
|
||||||
|
b'0',
|
||||||
|
$j.00,"By JBM $j","2006-01-26");
|
||||||
|
dec $j;
|
||||||
|
}
|
||||||
|
--enable_query_log
|
||||||
|
ALTER TABLE t1 COALESCE PARTITION 4;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug 16822: OPTIMIZE TABLE hangs test
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a int primary key)
|
||||||
|
ENGINE=NDB
|
||||||
|
PARTITION BY KEY(a);
|
||||||
|
--error 1031
|
||||||
|
ALTER TABLE t1 OPTIMIZE PARTITION p0;
|
||||||
|
--error 1031
|
||||||
|
ALTER TABLE t1 CHECK PARTITION p0;
|
||||||
|
--error 1031
|
||||||
|
ALTER TABLE t1 REPAIR PARTITION p0;
|
||||||
|
--error 1031
|
||||||
|
ALTER TABLE t1 ANALYZE PARTITION p0;
|
||||||
|
--error 1031
|
||||||
|
ALTER TABLE t1 REBUILD PARTITION p0;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG 16806: ALTER TABLE fails
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
|
||||||
|
c2 TEXT NOT NULL,
|
||||||
|
c3 INT NOT NULL,
|
||||||
|
PRIMARY KEY(c1,c3))
|
||||||
|
ENGINE=NDB
|
||||||
|
PARTITION BY KEY(c3) PARTITIONS 5;
|
||||||
|
|
||||||
|
ALTER TABLE t1 ADD COLUMN c4 INT AFTER c1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
c1 MEDIUMINT NOT NULL AUTO_INCREMENT,
|
||||||
|
c2 TEXT NOT NULL,
|
||||||
|
c3 INT NOT NULL,
|
||||||
|
PRIMARY KEY(c1,c3))
|
||||||
|
ENGINE=NDB
|
||||||
|
PARTITION BY KEY(c3);
|
||||||
|
|
||||||
|
ALTER TABLE t1 ADD COLUMN c4 INT AFTER c1;
|
||||||
|
DROP TABLE t1;
|
64
mysql-test/t/ndb_partition_list.test
Normal file
64
mysql-test/t/ndb_partition_list.test
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
--source include/have_ndb.inc
|
||||||
|
#
|
||||||
|
# Simple test for the partition storage engine
|
||||||
|
# Focuses on range partitioning tests
|
||||||
|
#
|
||||||
|
#-- source include/have_partition.inc
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
#
|
||||||
|
# Partition by list, basic
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t1 ( f_int1 INTEGER NOT NULL, f_int2 INTEGER NOT NULL,
|
||||||
|
f_char1 CHAR(10),
|
||||||
|
f_char2 CHAR(10), f_charbig VARCHAR(1000),
|
||||||
|
PRIMARY KEY (f_int1,f_int2))
|
||||||
|
ENGINE = NDB
|
||||||
|
PARTITION BY LIST(MOD(f_int1 + f_int2,4))
|
||||||
|
(PARTITION part_3 VALUES IN (-3),
|
||||||
|
PARTITION part_2 VALUES IN (-2),
|
||||||
|
PARTITION part_1 VALUES IN (-1),
|
||||||
|
PARTITION part0 VALUES IN (0),
|
||||||
|
PARTITION part1 VALUES IN (1),
|
||||||
|
PARTITION part2 VALUES IN (2),
|
||||||
|
PARTITION part3 VALUES IN (3,4,5));
|
||||||
|
|
||||||
|
INSERT INTO t1 SET f_int1 = -2, f_int2 = 20, f_char1 = '20', f_char2 = '20', f_charbig = '===20===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 1, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 2, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 3, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 4, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 5, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 20, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
|
||||||
|
SELECT * FROM t1 ORDER BY f_int1;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Partition by list, no pk
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t1 ( f_int1 INTEGER, f_int2 INTEGER, f_char1 CHAR(10),
|
||||||
|
f_char2 CHAR(10), f_charbig VARCHAR(1000))
|
||||||
|
ENGINE = NDB
|
||||||
|
PARTITION BY LIST(f_int1)
|
||||||
|
(PARTITION part_1 VALUES IN (-1),
|
||||||
|
PARTITION part0 VALUES IN (0,1),
|
||||||
|
PARTITION part1 VALUES IN (2));
|
||||||
|
|
||||||
|
INSERT INTO t1 SET f_int1 = -1, f_int2 = 20, f_char1 = '20', f_char2 = '20', f_charbig = '===20===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 0, f_int2 = 20, f_char1 = '20', f_char2 = '20', f_charbig = '===20===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 1, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
INSERT INTO t1 SET f_int1 = 2, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
--error ER_NO_PARTITION_FOR_GIVEN_VALUE
|
||||||
|
INSERT INTO t1 SET f_int1 = 20, f_int2 = 1, f_char1 = '1', f_char2 = '1', f_charbig = '===1===';
|
||||||
|
|
||||||
|
SELECT * FROM t1 ORDER BY f_int1;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
260
mysql-test/t/ndb_partition_range.test
Normal file
260
mysql-test/t/ndb_partition_range.test
Normal file
@ -0,0 +1,260 @@
|
|||||||
|
-- source include/have_ndb.inc
|
||||||
|
#--disable_abort_on_error
|
||||||
|
#
|
||||||
|
# Simple test for the partition storage engine
|
||||||
|
# Focuses on range partitioning tests
|
||||||
|
#
|
||||||
|
#-- source include/have_partition.inc
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
#
|
||||||
|
# Partition by range, basic
|
||||||
|
#
|
||||||
|
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));
|
||||||
|
|
||||||
|
# Simple insert and verify test
|
||||||
|
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);
|
||||||
|
|
||||||
|
--replace_column 16 # 19 # 20 #
|
||||||
|
select * from information_schema.partitions where table_name= 't1';
|
||||||
|
|
||||||
|
select * from t1 order by a;
|
||||||
|
|
||||||
|
select * from t1 where a=1 order by a;
|
||||||
|
select * from t1 where a=15 and b=1 order by a;
|
||||||
|
select * from t1 where a=21 and b=1 order by a;
|
||||||
|
select * from t1 where a=21 order by a;
|
||||||
|
select * from t1 where a in (1,6,10,21) order by a;
|
||||||
|
select * from t1 where b=1 and a in (1,6,10,21) order by a;
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Partition by range, basic
|
||||||
|
#
|
||||||
|
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));
|
||||||
|
|
||||||
|
# Simple insert and verify test
|
||||||
|
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;
|
||||||
|
UPDATE t1 set a = 5 WHERE b = 15;
|
||||||
|
select * from t1 order by a;
|
||||||
|
UPDATE t1 set a = 6 WHERE a = 5;
|
||||||
|
select * from t1 order by a;
|
||||||
|
|
||||||
|
select * from t1 where b=1 order by b;
|
||||||
|
select * from t1 where b=15 and a=1 order by b;
|
||||||
|
select * from t1 where b=21 and a=1 order by b;
|
||||||
|
select * from t1 where b=21 order by b;
|
||||||
|
select * from t1 where b in (1,6,10,21) order by b;
|
||||||
|
select * from t1 where a in (1,2,5,6) order by b;
|
||||||
|
select * from t1 where a=1 and b in (1,6,10,21) order by b;
|
||||||
|
|
||||||
|
DELETE from t1 WHERE b = 6;
|
||||||
|
DELETE from t1 WHERE a = 6;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Test that explicit partition info _is_ shown in show create table
|
||||||
|
# result _should_ contain (PARTITION x1 ... etc)
|
||||||
|
#
|
||||||
|
show create table t1;
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #17499, #17687
|
||||||
|
# Alter partitioned NDB table causes mysqld to core
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t1
|
||||||
|
(id MEDIUMINT NOT NULL,
|
||||||
|
b1 BIT(8),
|
||||||
|
vc VARCHAR(255),
|
||||||
|
bc CHAR(255),
|
||||||
|
d DECIMAL(10,4) DEFAULT 0,
|
||||||
|
f FLOAT DEFAULT 0,
|
||||||
|
total BIGINT UNSIGNED,
|
||||||
|
y YEAR,
|
||||||
|
t DATE) ENGINE=NDB
|
||||||
|
PARTITION BY RANGE (YEAR(t))
|
||||||
|
(PARTITION p0 VALUES LESS THAN (1901),
|
||||||
|
PARTITION p1 VALUES LESS THAN (1946),
|
||||||
|
PARTITION p2 VALUES LESS THAN (1966),
|
||||||
|
PARTITION p3 VALUES LESS THAN (1986),
|
||||||
|
PARTITION p4 VALUES LESS THAN (2005),
|
||||||
|
PARTITION p5 VALUES LESS THAN MAXVALUE);
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES (0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
|
SELECT * FROM t1;
|
||||||
|
ALTER TABLE t1 ENGINE=MYISAM;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE LOGFILE GROUP lg1
|
||||||
|
ADD UNDOFILE 'undofile.dat'
|
||||||
|
INITIAL_SIZE 16M
|
||||||
|
UNDO_BUFFER_SIZE=1M
|
||||||
|
ENGINE=NDB;
|
||||||
|
|
||||||
|
CREATE TABLESPACE ts1
|
||||||
|
ADD DATAFILE 'datafile.dat'
|
||||||
|
USE LOGFILE GROUP lg1
|
||||||
|
INITIAL_SIZE 12M
|
||||||
|
ENGINE NDB;
|
||||||
|
|
||||||
|
CREATE TABLE test.t1 (
|
||||||
|
a1 INT,
|
||||||
|
a2 TEXT NOT NULL,
|
||||||
|
a3 BIT NOT NULL,
|
||||||
|
a4 DECIMAL(8,3),
|
||||||
|
a5 INT NOT NULL,
|
||||||
|
a6 INT,
|
||||||
|
PRIMARY KEY(a1))
|
||||||
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB
|
||||||
|
PARTITION BY LIST (a1)
|
||||||
|
(PARTITION p0 VALUES IN (1,2,3,4,5),
|
||||||
|
PARTITION p1 VALUES IN (6,7,8,9, 10),
|
||||||
|
PARTITION p2 VALUES IN (11, 12, 13, 14, 15));
|
||||||
|
|
||||||
|
# Alter table directly without any statements inbetween
|
||||||
|
ALTER TABLE test.t1 DROP COLUMN a6;
|
||||||
|
ALTER TABLE test.t1 ADD COLUMN a6 VARCHAR(255);
|
||||||
|
|
||||||
|
let $j= 15;
|
||||||
|
--disable_query_log
|
||||||
|
while ($j)
|
||||||
|
{
|
||||||
|
eval INSERT INTO test.t1 VALUES ($j, "Tested Remotely from Texas, USA",
|
||||||
|
b'1',$j.00,$j+1,"By NIK $j");
|
||||||
|
dec $j;
|
||||||
|
}
|
||||||
|
--enable_query_log
|
||||||
|
SELECT COUNT(*) FROM test.t1;
|
||||||
|
|
||||||
|
ALTER TABLE test.t1 DROP COLUMN a4;
|
||||||
|
SELECT COUNT(*) FROM test.t1;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE test.t1 (
|
||||||
|
a1 INT,
|
||||||
|
a2 TEXT NOT NULL,
|
||||||
|
a3 BIT NOT NULL,
|
||||||
|
a4 DECIMAL(8,3),
|
||||||
|
a5 INT NOT NULL,
|
||||||
|
a6 VARCHAR(255),
|
||||||
|
PRIMARY KEY(a1))
|
||||||
|
TABLESPACE ts1 STORAGE DISK ENGINE=NDB
|
||||||
|
PARTITION BY HASH(a1)
|
||||||
|
PARTITIONS 4;
|
||||||
|
|
||||||
|
let $j= 15;
|
||||||
|
--disable_query_log
|
||||||
|
while ($j)
|
||||||
|
{
|
||||||
|
eval INSERT INTO test.t1 VALUES ($j, "Tested Remotely from Texas, USA",
|
||||||
|
b'1',$j.00,$j+1,"By NIK $j");
|
||||||
|
dec $j;
|
||||||
|
}
|
||||||
|
--enable_query_log
|
||||||
|
SELECT COUNT(*) FROM test.t1;
|
||||||
|
|
||||||
|
ALTER TABLE test.t1 DROP COLUMN a4;
|
||||||
|
SELECT COUNT(*) FROM test.t1;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
ALTER TABLESPACE ts1
|
||||||
|
DROP DATAFILE 'datafile.dat'
|
||||||
|
ENGINE=NDB;
|
||||||
|
DROP TABLESPACE ts1 ENGINE=NDB;
|
||||||
|
DROP LOGFILE GROUP lg1 ENGINE=NDB;
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #17701 ALTER TABLE t1 ADD PARTITION for PARTITION BY LIST hangs test
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t1
|
||||||
|
(id MEDIUMINT NOT NULL,
|
||||||
|
b1 BIT(8),
|
||||||
|
vc VARCHAR(255),
|
||||||
|
bc CHAR(255),
|
||||||
|
d DECIMAL(10,4) DEFAULT 0,
|
||||||
|
f FLOAT DEFAULT 0,
|
||||||
|
total BIGINT UNSIGNED,
|
||||||
|
y YEAR,
|
||||||
|
t DATE) ENGINE=NDB
|
||||||
|
PARTITION BY LIST(id)
|
||||||
|
(PARTITION p0 VALUES IN (2, 4),
|
||||||
|
PARTITION p1 VALUES IN (42, 142));
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES (2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
|
||||||
|
SELECT * FROM t1;
|
||||||
|
ALTER TABLE t1 ADD PARTITION
|
||||||
|
(PARTITION p2 VALUES IN (412));
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #17806 Update on NDB table with list partition causes mysqld to core
|
||||||
|
# Bug #16385 Partitions: crash when updating a range partitioned NDB table
|
||||||
|
#
|
||||||
|
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 (5,1,1);
|
||||||
|
select * from t1;
|
||||||
|
UPDATE t1 SET a=8 WHERE a=5 AND b=1;
|
||||||
|
select * from t1;
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 ( f1 INTEGER, f2 char(20)) engine=ndb
|
||||||
|
PARTITION BY RANGE(f1)
|
||||||
|
( PARTITION part1 VALUES LESS THAN (2),
|
||||||
|
PARTITION part2 VALUES LESS THAN (1000));
|
||||||
|
INSERT INTO t1 VALUES(1, '---1---');
|
||||||
|
INSERT INTO t1 VALUES(2, '---2---');
|
||||||
|
select * from t1 order by f1;
|
||||||
|
UPDATE t1 SET f1 = f1 + 4 WHERE f1 = 2;
|
||||||
|
select * from t1 order by f1;
|
||||||
|
UPDATE t1 SET f1 = f1 + 4 WHERE f1 = 1;
|
||||||
|
select * from t1 order by f1;
|
||||||
|
drop table t1;
|
Reference in New Issue
Block a user