Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into zim.(none):/home/mikael/bug16370
This commit is contained in:
commit
07487439b0
@ -6,26 +6,26 @@ Table Op Msg_type Msg_text
|
|||||||
test.t4 backup error Failed copying .frm file (errno: X)
|
test.t4 backup error Failed copying .frm file (errno: X)
|
||||||
test.t4 backup status Operation failed
|
test.t4 backup status Operation failed
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1540 The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
Warning 1541 The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
||||||
Error 1 Can't create/write to file 'MYSQLTEST_VARDIR/bogus/t4.frm' (Errcode: X)
|
Error 1 Can't create/write to file 'MYSQLTEST_VARDIR/bogus/t4.frm' (Errcode: X)
|
||||||
backup table t4 to '../tmp';
|
backup table t4 to '../tmp';
|
||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
test.t4 backup status OK
|
test.t4 backup status OK
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1540 The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
Warning 1541 The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
||||||
backup table t4 to '../tmp';
|
backup table t4 to '../tmp';
|
||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
test.t4 backup error Failed copying .frm file (errno: X)
|
test.t4 backup error Failed copying .frm file (errno: X)
|
||||||
test.t4 backup status Operation failed
|
test.t4 backup status Operation failed
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1540 The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
Warning 1541 The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
||||||
Error 1 Can't create/write to file 'MYSQLTEST_VARDIR/tmp/t4.frm' (Errcode: X)
|
Error 1 Can't create/write to file 'MYSQLTEST_VARDIR/tmp/t4.frm' (Errcode: X)
|
||||||
drop table t4;
|
drop table t4;
|
||||||
restore table t4 from '../tmp';
|
restore table t4 from '../tmp';
|
||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
test.t4 restore status OK
|
test.t4 restore status OK
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1540 The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
Warning 1541 The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
||||||
select count(*) from t4;
|
select count(*) from t4;
|
||||||
count(*)
|
count(*)
|
||||||
0
|
0
|
||||||
@ -35,19 +35,19 @@ backup table t1 to '../tmp';
|
|||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
test.t1 backup status OK
|
test.t1 backup status OK
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1540 The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
Warning 1541 The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
||||||
drop table t1;
|
drop table t1;
|
||||||
restore table t1 from '../bogus';
|
restore table t1 from '../bogus';
|
||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
t1 restore error Failed copying .frm file
|
t1 restore error Failed copying .frm file
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1540 The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
Warning 1541 The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
||||||
Error 29 File 'MYSQLTEST_VARDIR/bogus/t1.frm' not found (Errcode: X)
|
Error 29 File 'MYSQLTEST_VARDIR/bogus/t1.frm' not found (Errcode: X)
|
||||||
restore table t1 from '../tmp';
|
restore table t1 from '../tmp';
|
||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
test.t1 restore status OK
|
test.t1 restore status OK
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1540 The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
Warning 1541 The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
||||||
select n from t1;
|
select n from t1;
|
||||||
n
|
n
|
||||||
23
|
23
|
||||||
@ -62,7 +62,7 @@ Table Op Msg_type Msg_text
|
|||||||
test.t2 backup status OK
|
test.t2 backup status OK
|
||||||
test.t3 backup status OK
|
test.t3 backup status OK
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1540 The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
Warning 1541 The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
restore table t1,t2,t3 from '../tmp';
|
restore table t1,t2,t3 from '../tmp';
|
||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
@ -70,7 +70,7 @@ test.t1 restore status OK
|
|||||||
test.t2 restore status OK
|
test.t2 restore status OK
|
||||||
test.t3 restore status OK
|
test.t3 restore status OK
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1540 The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
Warning 1541 The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
||||||
select n from t1;
|
select n from t1;
|
||||||
n
|
n
|
||||||
23
|
23
|
||||||
@ -91,7 +91,7 @@ restore table t1 from '../tmp';
|
|||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
test.t1 restore status OK
|
test.t1 restore status OK
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1540 The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
Warning 1541 The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
||||||
rename table t1 to t5;
|
rename table t1 to t5;
|
||||||
lock tables t5 write;
|
lock tables t5 write;
|
||||||
backup table t5 to '../tmp';
|
backup table t5 to '../tmp';
|
||||||
@ -99,5 +99,5 @@ unlock tables;
|
|||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
test.t5 backup status OK
|
test.t5 backup status OK
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1540 The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
Warning 1541 The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 5.2. Please use MySQL Administrator (mysqldump, mysql) instead.
|
||||||
drop table t5;
|
drop table t5;
|
||||||
|
@ -16,7 +16,7 @@ ERROR HY000: Failed to create LOGFILE GROUP
|
|||||||
SHOW WARNINGS;
|
SHOW WARNINGS;
|
||||||
Level Code Message
|
Level Code Message
|
||||||
Error 1296 Got error 1514 'Currently there is a limit of one logfile group' from NDB
|
Error 1296 Got error 1514 'Currently there is a limit of one logfile group' from NDB
|
||||||
Error 1506 Failed to create LOGFILE GROUP
|
Error 1507 Failed to create LOGFILE GROUP
|
||||||
CREATE LOGFILE GROUP lg1
|
CREATE LOGFILE GROUP lg1
|
||||||
ADD UNDOFILE 'undofile.dat'
|
ADD UNDOFILE 'undofile.dat'
|
||||||
INITIAL_SIZE 16M
|
INITIAL_SIZE 16M
|
||||||
|
@ -89,3 +89,16 @@ ALTER TABLE t1
|
|||||||
PARTITION BY KEY(a)
|
PARTITION BY KEY(a)
|
||||||
(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
|
(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
|
||||||
drop table t1;
|
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;
|
||||||
|
@ -428,6 +428,88 @@ partition by list (a)
|
|||||||
alter table t1 rebuild partition;
|
alter table t1 rebuild partition;
|
||||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by list (a)
|
||||||
|
(partition p0 values in (5));
|
||||||
|
insert into t1 values (0);
|
||||||
|
ERROR HY000: Table has no partition for value 0
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by range (a) subpartition by hash (a)
|
||||||
|
(partition p0 values less than (100));
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY RANGE (a) SUBPARTITION BY HASH (a) (PARTITION p0 VALUES LESS THAN (100) )
|
||||||
|
alter table t1 add partition (partition p1 values less than (200)
|
||||||
|
(subpartition subpart21));
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY RANGE (a) SUBPARTITION BY HASH (a) (PARTITION p0 VALUES LESS THAN (100) (SUBPARTITION p0sp0 ENGINE = MyISAM), PARTITION p1 VALUES LESS THAN (200) (SUBPARTITION subpart21 ENGINE = MyISAM))
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by key (a);
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY KEY (a)
|
||||||
|
alter table t1 add partition (partition p1);
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`a` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY KEY (a) (PARTITION p0 ENGINE = MyISAM, PARTITION p1 ENGINE = MyISAM)
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int, b int)
|
||||||
|
partition by range (a)
|
||||||
|
subpartition by hash(a)
|
||||||
|
(partition p0 values less than (0) (subpartition sp0),
|
||||||
|
partition p1 values less than (1));
|
||||||
|
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ')' at line 5
|
||||||
|
create table t1 (a int, b int)
|
||||||
|
partition by range (a)
|
||||||
|
subpartition by hash(a)
|
||||||
|
(partition p0 values less than (0),
|
||||||
|
partition p1 values less than (1) (subpartition sp0));
|
||||||
|
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '))' at line 5
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by hash (a)
|
||||||
|
(partition p0 (subpartition sp0));
|
||||||
|
ERROR HY000: It is only possible to mix RANGE/LIST partitioning with HASH/KEY partitioning for subpartitioning
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by range (a)
|
||||||
|
(partition p0 values less than (1));
|
||||||
|
alter table t1 add partition (partition p1 values in (2));
|
||||||
|
ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition
|
||||||
|
alter table t1 add partition (partition p1);
|
||||||
|
ERROR HY000: RANGE PARTITIONING requires definition of VALUES LESS THAN for each partition
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by list (a)
|
||||||
|
(partition p0 values in (1));
|
||||||
|
alter table t1 add partition (partition p1 values less than (2));
|
||||||
|
ERROR HY000: Only RANGE PARTITIONING can use VALUES LESS THAN in partition definition
|
||||||
|
alter table t1 add partition (partition p1);
|
||||||
|
ERROR HY000: LIST PARTITIONING requires definition of VALUES IN for each partition
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by hash (a)
|
||||||
|
(partition p0);
|
||||||
|
alter table t1 add partition (partition p1 values less than (2));
|
||||||
|
ERROR HY000: Only RANGE PARTITIONING can use VALUES LESS THAN in partition definition
|
||||||
|
alter table t1 add partition (partition p1 values in (2));
|
||||||
|
ERROR HY000: Only LIST PARTITIONING can use VALUES IN in partition definition
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by list (a)
|
||||||
|
(partition p0 values in (1));
|
||||||
|
alter table t1 rebuild partition;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
|
||||||
|
drop table t1;
|
||||||
create table t1 (a int) engine=innodb partition by hash(a) ;
|
create table t1 (a int) engine=innodb partition by hash(a) ;
|
||||||
show table status like 't1';
|
show table status like 't1';
|
||||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||||
|
@ -141,7 +141,9 @@ DROP TABLE t1;
|
|||||||
CREATE TABLE t1 (a INT) PARTITION BY HASH(a);
|
CREATE TABLE t1 (a INT) PARTITION BY HASH(a);
|
||||||
ALTER TABLE t1 ADD PARTITION PARTITIONS 4;
|
ALTER TABLE t1 ADD PARTITION PARTITIONS 4;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (s1 int, s2 int) PARTITION BY LIST (s1) (
|
CREATE TABLE t1 (s1 int, s2 int)
|
||||||
|
PARTITION BY LIST (s1)
|
||||||
|
SUBPARTITION BY KEY (s2) (
|
||||||
PARTITION p1 VALUES IN (0) (SUBPARTITION p1b),
|
PARTITION p1 VALUES IN (0) (SUBPARTITION p1b),
|
||||||
PARTITION p2 VALUES IN (2) (SUBPARTITION p1b)
|
PARTITION p2 VALUES IN (2) (SUBPARTITION p1b)
|
||||||
);
|
);
|
||||||
|
@ -319,7 +319,7 @@ use db_bug7787;
|
|||||||
CREATE PROCEDURE p1()
|
CREATE PROCEDURE p1()
|
||||||
SHOW INNODB STATUS;
|
SHOW INNODB STATUS;
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1540 The syntax 'SHOW INNODB STATUS' is deprecated and will be removed in MySQL 5.2. Please use 'SHOW ENGINE INNODB STATUS' instead.
|
Warning 1541 The syntax 'SHOW INNODB STATUS' is deprecated and will be removed in MySQL 5.2. Please use 'SHOW ENGINE INNODB STATUS' instead.
|
||||||
GRANT EXECUTE ON PROCEDURE p1 TO user_bug7787@localhost;
|
GRANT EXECUTE ON PROCEDURE p1 TO user_bug7787@localhost;
|
||||||
DROP DATABASE db_bug7787;
|
DROP DATABASE db_bug7787;
|
||||||
use test;
|
use test;
|
||||||
|
@ -100,13 +100,13 @@ create table t1 (t2 timestamp(2), t4 timestamp(4), t6 timestamp(6),
|
|||||||
t8 timestamp(8), t10 timestamp(10), t12 timestamp(12),
|
t8 timestamp(8), t10 timestamp(10), t12 timestamp(12),
|
||||||
t14 timestamp(14));
|
t14 timestamp(14));
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1540 The syntax 'TIMESTAMP(2)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead.
|
Warning 1541 The syntax 'TIMESTAMP(2)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead.
|
||||||
Warning 1540 The syntax 'TIMESTAMP(4)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead.
|
Warning 1541 The syntax 'TIMESTAMP(4)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead.
|
||||||
Warning 1540 The syntax 'TIMESTAMP(6)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead.
|
Warning 1541 The syntax 'TIMESTAMP(6)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead.
|
||||||
Warning 1540 The syntax 'TIMESTAMP(8)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead.
|
Warning 1541 The syntax 'TIMESTAMP(8)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead.
|
||||||
Warning 1540 The syntax 'TIMESTAMP(10)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead.
|
Warning 1541 The syntax 'TIMESTAMP(10)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead.
|
||||||
Warning 1540 The syntax 'TIMESTAMP(12)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead.
|
Warning 1541 The syntax 'TIMESTAMP(12)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead.
|
||||||
Warning 1540 The syntax 'TIMESTAMP(14)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead.
|
Warning 1541 The syntax 'TIMESTAMP(14)' is deprecated and will be removed in MySQL 5.2. Please use 'TIMESTAMP' instead.
|
||||||
insert t1 values (0,0,0,0,0,0,0),
|
insert t1 values (0,0,0,0,0,0,0),
|
||||||
("1997-12-31 23:47:59", "1997-12-31 23:47:59", "1997-12-31 23:47:59",
|
("1997-12-31 23:47:59", "1997-12-31 23:47:59", "1997-12-31 23:47:59",
|
||||||
"1997-12-31 23:47:59", "1997-12-31 23:47:59", "1997-12-31 23:47:59",
|
"1997-12-31 23:47:59", "1997-12-31 23:47:59", "1997-12-31 23:47:59",
|
||||||
|
@ -168,7 +168,7 @@ max_error_count 10
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
set table_type=MYISAM;
|
set table_type=MYISAM;
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1540 The syntax 'table_type' is deprecated and will be removed in MySQL 5.2. Please use 'storage_engine' instead.
|
Warning 1541 The syntax 'table_type' is deprecated and will be removed in MySQL 5.2. Please use 'storage_engine' instead.
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
insert into t1 (a) values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
|
insert into t1 (a) values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
|
||||||
update t1 set a='abc';
|
update t1 set a='abc';
|
||||||
|
@ -63,10 +63,10 @@ flush logs;
|
|||||||
# check locking of the log tables
|
# check locking of the log tables
|
||||||
#
|
#
|
||||||
|
|
||||||
--error 1532
|
--error 1533
|
||||||
lock tables mysql.general_log WRITE;
|
lock tables mysql.general_log WRITE;
|
||||||
|
|
||||||
--error 1532
|
--error 1533
|
||||||
lock tables mysql.slow_log WRITE;
|
lock tables mysql.slow_log WRITE;
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -75,10 +75,10 @@ lock tables mysql.slow_log WRITE;
|
|||||||
# tables are always opened and locked by the logger.
|
# tables are always opened and locked by the logger.
|
||||||
#
|
#
|
||||||
|
|
||||||
--error 1533
|
--error 1534
|
||||||
lock tables mysql.general_log READ;
|
lock tables mysql.general_log READ;
|
||||||
|
|
||||||
--error 1533
|
--error 1534
|
||||||
lock tables mysql.slow_log READ;
|
lock tables mysql.slow_log READ;
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -66,6 +66,6 @@ partition by list(a)
|
|||||||
partitions 2
|
partitions 2
|
||||||
(partition x123 values in (11, 12),
|
(partition x123 values in (11, 12),
|
||||||
partition x234 values in (5, 1));
|
partition x234 values in (5, 1));
|
||||||
--error 1504
|
--error 1505
|
||||||
insert into t1 values (NULL,1,1);
|
insert into t1 values (NULL,1,1);
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
@ -79,3 +79,32 @@ PARTITION BY KEY(a)
|
|||||||
(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
|
(PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
|
||||||
|
|
||||||
drop 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;
|
||||||
|
@ -504,14 +504,14 @@ from information_schema.partitions where table_schema ='test';
|
|||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
# NULL for LIST partition
|
# NULL for LIST partition
|
||||||
--error 1473
|
--error ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR
|
||||||
create table t1 (a int,b int, c int)
|
create table t1 (a int,b int, c int)
|
||||||
partition by list(a)
|
partition by list(a)
|
||||||
partitions 2
|
partitions 2
|
||||||
(partition x123 values in (11,12),
|
(partition x123 values in (11,12),
|
||||||
partition x234 values in (1 ,NULL, NULL));
|
partition x234 values in (1 ,NULL, NULL));
|
||||||
|
|
||||||
--error 1473
|
--error ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR
|
||||||
create table t1 (a int,b int, c int)
|
create table t1 (a int,b int, c int)
|
||||||
partition by list(a)
|
partition by list(a)
|
||||||
partitions 2
|
partitions 2
|
||||||
@ -523,7 +523,7 @@ partition by list(a)
|
|||||||
partitions 2
|
partitions 2
|
||||||
(partition x123 values in (11, 12),
|
(partition x123 values in (11, 12),
|
||||||
partition x234 values in (5, 1));
|
partition x234 values in (5, 1));
|
||||||
--error 1504
|
--error ER_NO_PARTITION_FOR_GIVEN_VALUE
|
||||||
insert into t1 values (NULL,1,1);
|
insert into t1 values (NULL,1,1);
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
@ -552,6 +552,115 @@ alter table t1 rebuild partition;
|
|||||||
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG 15253 Insert that should fail doesn't
|
||||||
|
#
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by list (a)
|
||||||
|
(partition p0 values in (5));
|
||||||
|
|
||||||
|
--error ER_NO_PARTITION_FOR_GIVEN_VALUE
|
||||||
|
insert into t1 values (0);
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG #16370 Subpartitions names not shown in SHOW CREATE TABLE output
|
||||||
|
#
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by range (a) subpartition by hash (a)
|
||||||
|
(partition p0 values less than (100));
|
||||||
|
|
||||||
|
show create table t1;
|
||||||
|
alter table t1 add partition (partition p1 values less than (200)
|
||||||
|
(subpartition subpart21));
|
||||||
|
|
||||||
|
show create table t1;
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by key (a);
|
||||||
|
|
||||||
|
show create table t1;
|
||||||
|
alter table t1 add partition (partition p1);
|
||||||
|
show create table t1;
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG 15407 Crash with subpartition
|
||||||
|
#
|
||||||
|
--error 1064
|
||||||
|
create table t1 (a int, b int)
|
||||||
|
partition by range (a)
|
||||||
|
subpartition by hash(a)
|
||||||
|
(partition p0 values less than (0) (subpartition sp0),
|
||||||
|
partition p1 values less than (1));
|
||||||
|
|
||||||
|
--error 1064
|
||||||
|
create table t1 (a int, b int)
|
||||||
|
partition by range (a)
|
||||||
|
subpartition by hash(a)
|
||||||
|
(partition p0 values less than (0),
|
||||||
|
partition p1 values less than (1) (subpartition sp0));
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG 15961 No error when subpartition defined without subpartition by clause
|
||||||
|
#
|
||||||
|
--error ER_SUBPARTITION_ERROR
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by hash (a)
|
||||||
|
(partition p0 (subpartition sp0));
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug 17127
|
||||||
|
#
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by range (a)
|
||||||
|
(partition p0 values less than (1));
|
||||||
|
|
||||||
|
--error ER_PARTITION_WRONG_VALUES_ERROR
|
||||||
|
alter table t1 add partition (partition p1 values in (2));
|
||||||
|
--error ER_PARTITION_REQUIRES_VALUES_ERROR
|
||||||
|
alter table t1 add partition (partition p1);
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by list (a)
|
||||||
|
(partition p0 values in (1));
|
||||||
|
|
||||||
|
--error ER_PARTITION_WRONG_VALUES_ERROR
|
||||||
|
alter table t1 add partition (partition p1 values less than (2));
|
||||||
|
--error ER_PARTITION_REQUIRES_VALUES_ERROR
|
||||||
|
alter table t1 add partition (partition p1);
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by hash (a)
|
||||||
|
(partition p0);
|
||||||
|
|
||||||
|
--error ER_PARTITION_WRONG_VALUES_ERROR
|
||||||
|
alter table t1 add partition (partition p1 values less than (2));
|
||||||
|
--error ER_PARTITION_WRONG_VALUES_ERROR
|
||||||
|
alter table t1 add partition (partition p1 values in (2));
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG 17947 Crash with REBUILD PARTITION
|
||||||
|
#
|
||||||
|
create table t1 (a int)
|
||||||
|
partition by list (a)
|
||||||
|
(partition p0 values in (1));
|
||||||
|
|
||||||
|
--error 1064
|
||||||
|
alter table t1 rebuild partition;
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug #14673: Wrong InnoDB default row format
|
# Bug #14673: Wrong InnoDB default row format
|
||||||
#
|
#
|
||||||
|
@ -205,7 +205,9 @@ DROP TABLE t1;
|
|||||||
#BUG 15408: Partitions: subpartition names are not unique
|
#BUG 15408: Partitions: subpartition names are not unique
|
||||||
#
|
#
|
||||||
--error ER_SAME_NAME_PARTITION
|
--error ER_SAME_NAME_PARTITION
|
||||||
CREATE TABLE t1 (s1 int, s2 int) PARTITION BY LIST (s1) (
|
CREATE TABLE t1 (s1 int, s2 int)
|
||||||
|
PARTITION BY LIST (s1)
|
||||||
|
SUBPARTITION BY KEY (s2) (
|
||||||
PARTITION p1 VALUES IN (0) (SUBPARTITION p1b),
|
PARTITION p1 VALUES IN (0) (SUBPARTITION p1b),
|
||||||
PARTITION p2 VALUES IN (2) (SUBPARTITION p1b)
|
PARTITION p2 VALUES IN (2) (SUBPARTITION p1b)
|
||||||
);
|
);
|
||||||
|
@ -5614,6 +5614,10 @@ ER_PARTITION_MAXVALUE_ERROR
|
|||||||
ER_PARTITION_SUBPARTITION_ERROR
|
ER_PARTITION_SUBPARTITION_ERROR
|
||||||
eng "Subpartitions can only be hash partitions and by key"
|
eng "Subpartitions can only be hash partitions and by key"
|
||||||
swe "Subpartitioner kan bara vara hash och key partitioner"
|
swe "Subpartitioner kan bara vara hash och key partitioner"
|
||||||
|
ER_PARTITION_SUBPART_MIX_ERROR
|
||||||
|
eng "Must define subpartitions on all partitions if on one partition"
|
||||||
|
swe "Subpartitioner måste definieras på alla partitioner om på en"
|
||||||
|
|
||||||
ER_PARTITION_WRONG_NO_PART_ERROR
|
ER_PARTITION_WRONG_NO_PART_ERROR
|
||||||
eng "Wrong number of partitions defined, mismatch with previous setting"
|
eng "Wrong number of partitions defined, mismatch with previous setting"
|
||||||
swe "Antal partitioner definierade och antal partitioner är inte lika"
|
swe "Antal partitioner definierade och antal partitioner är inte lika"
|
||||||
|
@ -692,6 +692,13 @@ bool check_partition_info(partition_info *part_info,handlerton **eng_type,
|
|||||||
char *same_name;
|
char *same_name;
|
||||||
DBUG_ENTER("check_partition_info");
|
DBUG_ENTER("check_partition_info");
|
||||||
|
|
||||||
|
if (unlikely(!part_info->is_sub_partitioned() &&
|
||||||
|
!(part_info->use_default_subpartitions &&
|
||||||
|
part_info->use_default_no_subpartitions)))
|
||||||
|
{
|
||||||
|
my_error(ER_SUBPARTITION_ERROR, MYF(0));
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
if (unlikely(part_info->is_sub_partitioned() &&
|
if (unlikely(part_info->is_sub_partitioned() &&
|
||||||
(!(part_info->part_type == RANGE_PARTITION ||
|
(!(part_info->part_type == RANGE_PARTITION ||
|
||||||
part_info->part_type == LIST_PARTITION))))
|
part_info->part_type == LIST_PARTITION))))
|
||||||
@ -4078,6 +4085,7 @@ uint prep_alter_part_table(THD *thd, TABLE *table, ALTER_INFO *alter_info,
|
|||||||
ALTER_REPAIR_PARTITION | ALTER_REBUILD_PARTITION))
|
ALTER_REPAIR_PARTITION | ALTER_REBUILD_PARTITION))
|
||||||
{
|
{
|
||||||
partition_info *tab_part_info= table->part_info;
|
partition_info *tab_part_info= table->part_info;
|
||||||
|
partition_info *alt_part_info= thd->lex->part_info;
|
||||||
uint flags= 0;
|
uint flags= 0;
|
||||||
if (!tab_part_info)
|
if (!tab_part_info)
|
||||||
{
|
{
|
||||||
@ -4135,6 +4143,35 @@ uint prep_alter_part_table(THD *thd, TABLE *table, ALTER_INFO *alter_info,
|
|||||||
((flags & (HA_FAST_CHANGE_PARTITION | HA_PARTITION_ONE_PHASE)) != 0);
|
((flags & (HA_FAST_CHANGE_PARTITION | HA_PARTITION_ONE_PHASE)) != 0);
|
||||||
DBUG_PRINT("info", ("*fast_alter_partition: %d flags: 0x%x",
|
DBUG_PRINT("info", ("*fast_alter_partition: %d flags: 0x%x",
|
||||||
*fast_alter_partition, flags));
|
*fast_alter_partition, flags));
|
||||||
|
if (((alter_info->flags & ALTER_ADD_PARTITION) ||
|
||||||
|
(alter_info->flags & ALTER_REORGANIZE_PARTITION)) &&
|
||||||
|
(thd->lex->part_info->part_type != tab_part_info->part_type) &&
|
||||||
|
(thd->lex->part_info->part_type != NOT_A_PARTITION))
|
||||||
|
{
|
||||||
|
if (thd->lex->part_info->part_type == RANGE_PARTITION)
|
||||||
|
{
|
||||||
|
my_error(ER_PARTITION_WRONG_VALUES_ERROR, MYF(0),
|
||||||
|
"RANGE", "LESS THAN");
|
||||||
|
}
|
||||||
|
else if (thd->lex->part_info->part_type == LIST_PARTITION)
|
||||||
|
{
|
||||||
|
DBUG_ASSERT(thd->lex->part_info->part_type == LIST_PARTITION);
|
||||||
|
my_error(ER_PARTITION_WRONG_VALUES_ERROR, MYF(0),
|
||||||
|
"LIST", "IN");
|
||||||
|
}
|
||||||
|
else if (tab_part_info->part_type == RANGE_PARTITION)
|
||||||
|
{
|
||||||
|
my_error(ER_PARTITION_REQUIRES_VALUES_ERROR, MYF(0),
|
||||||
|
"RANGE", "LESS THAN");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DBUG_ASSERT(tab_part_info->part_type == LIST_PARTITION);
|
||||||
|
my_error(ER_PARTITION_REQUIRES_VALUES_ERROR, MYF(0),
|
||||||
|
"LIST", "IN");
|
||||||
|
}
|
||||||
|
DBUG_RETURN(TRUE);
|
||||||
|
}
|
||||||
if (alter_info->flags & ALTER_ADD_PARTITION)
|
if (alter_info->flags & ALTER_ADD_PARTITION)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@ -4143,7 +4180,6 @@ uint prep_alter_part_table(THD *thd, TABLE *table, ALTER_INFO *alter_info,
|
|||||||
partitioning scheme as currently set-up.
|
partitioning scheme as currently set-up.
|
||||||
Partitions are always added at the end in ADD PARTITION.
|
Partitions are always added at the end in ADD PARTITION.
|
||||||
*/
|
*/
|
||||||
partition_info *alt_part_info= thd->lex->part_info;
|
|
||||||
uint no_new_partitions= alt_part_info->no_parts;
|
uint no_new_partitions= alt_part_info->no_parts;
|
||||||
uint no_orig_partitions= tab_part_info->no_parts;
|
uint no_orig_partitions= tab_part_info->no_parts;
|
||||||
uint check_total_partitions= no_new_partitions + no_orig_partitions;
|
uint check_total_partitions= no_new_partitions + no_orig_partitions;
|
||||||
@ -4738,6 +4774,12 @@ the generated partition syntax in a correct manner.
|
|||||||
if (alter_info->flags == ALTER_ADD_PARTITION ||
|
if (alter_info->flags == ALTER_ADD_PARTITION ||
|
||||||
alter_info->flags == ALTER_REORGANIZE_PARTITION)
|
alter_info->flags == ALTER_REORGANIZE_PARTITION)
|
||||||
{
|
{
|
||||||
|
if (tab_part_info->use_default_subpartitions &&
|
||||||
|
!alt_part_info->use_default_subpartitions)
|
||||||
|
{
|
||||||
|
tab_part_info->use_default_subpartitions= FALSE;
|
||||||
|
tab_part_info->use_default_no_subpartitions= FALSE;
|
||||||
|
}
|
||||||
if (check_partition_info(tab_part_info, (handlerton**)NULL,
|
if (check_partition_info(tab_part_info, (handlerton**)NULL,
|
||||||
table->file, ULL(0)))
|
table->file, ULL(0)))
|
||||||
{
|
{
|
||||||
|
@ -3663,6 +3663,8 @@ opt_part_values:
|
|||||||
YYABORT;
|
YYABORT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
lex->part_info->part_type= HASH_PARTITION;
|
||||||
}
|
}
|
||||||
| VALUES LESS_SYM THAN_SYM part_func_max
|
| VALUES LESS_SYM THAN_SYM part_func_max
|
||||||
{
|
{
|
||||||
@ -3676,6 +3678,8 @@ opt_part_values:
|
|||||||
YYABORT;
|
YYABORT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
lex->part_info->part_type= RANGE_PARTITION;
|
||||||
}
|
}
|
||||||
| VALUES IN_SYM '(' part_list_func ')'
|
| VALUES IN_SYM '(' part_list_func ')'
|
||||||
{
|
{
|
||||||
@ -3689,6 +3693,8 @@ opt_part_values:
|
|||||||
YYABORT;
|
YYABORT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
lex->part_info->part_type= LIST_PARTITION;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -3793,7 +3799,15 @@ part_bit_expr:
|
|||||||
;
|
;
|
||||||
|
|
||||||
opt_sub_partition:
|
opt_sub_partition:
|
||||||
/* empty */ {}
|
/* empty */
|
||||||
|
{
|
||||||
|
if (Lex->part_info->no_subparts != 0 &&
|
||||||
|
!Lex->part_info->use_default_subpartitions)
|
||||||
|
{
|
||||||
|
yyerror(ER(ER_PARTITION_WRONG_NO_SUBPART_ERROR));
|
||||||
|
YYABORT;
|
||||||
|
}
|
||||||
|
}
|
||||||
| '(' sub_part_list ')'
|
| '(' sub_part_list ')'
|
||||||
{
|
{
|
||||||
LEX *lex= Lex;
|
LEX *lex= Lex;
|
||||||
@ -3809,6 +3823,11 @@ opt_sub_partition:
|
|||||||
}
|
}
|
||||||
else if (part_info->count_curr_subparts > 0)
|
else if (part_info->count_curr_subparts > 0)
|
||||||
{
|
{
|
||||||
|
if (part_info->partitions.elements > 1)
|
||||||
|
{
|
||||||
|
yyerror(ER(ER_PARTITION_WRONG_NO_SUBPART_ERROR));
|
||||||
|
YYABORT;
|
||||||
|
}
|
||||||
part_info->no_subparts= part_info->count_curr_subparts;
|
part_info->no_subparts= part_info->count_curr_subparts;
|
||||||
}
|
}
|
||||||
part_info->count_curr_subparts= 0;
|
part_info->count_curr_subparts= 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user