mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	fixed error message mysql-test/r/ndb_partition_key.result: Bug#21862 Misleading error message 1490: "A PRIMARY KEY need to include all fields..." result fix mysql-test/r/partition.result: Bug#21862 Misleading error message 1490: "A PRIMARY KEY need to include all fields..." result fix
		
			
				
	
	
		
			206 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			206 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
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 must include all columns in the table's partitioning 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 /*!50100 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 /*!50100 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 /*!50100 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 /*!50100 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 /*!50100 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 /*!50100 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 /*!50100 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)
 | 
						|
(PARTITION p0 NODEGROUP 0, PARTITION p1 NODEGROUP 0);
 | 
						|
ALTER TABLE t1 ADD COLUMN c4 INT AFTER c1;
 | 
						|
SELECT NODEGROUP,PARTITION_NAME FROM information_schema.partitions WHERE
 | 
						|
table_name = "t1";
 | 
						|
NODEGROUP	PARTITION_NAME
 | 
						|
0	p0
 | 
						|
0	p1
 | 
						|
DROP TABLE t1;
 |