merge of bug#35765 into mysql-next-mr-bugfixing
This commit is contained in:
parent
ca59582149
commit
f52280cc42
@ -247,13 +247,10 @@ set global general_log='OFF';
|
||||
set global slow_query_log='OFF';
|
||||
set @save_storage_engine= @@session.storage_engine;
|
||||
set storage_engine= MEMORY;
|
||||
alter table mysql.slow_log engine=ndb;
|
||||
ERROR HY000: This storage engine cannot be used for log tables"
|
||||
alter table mysql.slow_log engine=innodb;
|
||||
ERROR HY000: This storage engine cannot be used for log tables"
|
||||
alter table mysql.slow_log engine=archive;
|
||||
ERROR HY000: This storage engine cannot be used for log tables"
|
||||
alter table mysql.slow_log engine=blackhole;
|
||||
alter table mysql.slow_log engine=NonExistentEngine;
|
||||
Warnings:
|
||||
Warning 1286 Unknown table engine 'NonExistentEngine'
|
||||
alter table mysql.slow_log engine=memory;
|
||||
ERROR HY000: This storage engine cannot be used for log tables"
|
||||
set storage_engine= @save_storage_engine;
|
||||
drop table mysql.slow_log;
|
||||
|
@ -81,6 +81,42 @@ INSERT INTO t1 VALUES (NULL);
|
||||
SELECT * FROM t1 WHERE pk < 0 ORDER BY pk;
|
||||
pk
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT)
|
||||
ENGINE=NonExistentEngine;
|
||||
Warnings:
|
||||
Warning 1286 Unknown table engine 'NonExistentEngine'
|
||||
Warning 1266 Using storage engine MyISAM for table 't1'
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT)
|
||||
ENGINE=NonExistentEngine
|
||||
PARTITION BY HASH (a);
|
||||
Warnings:
|
||||
Warning 1286 Unknown table engine 'NonExistentEngine'
|
||||
Warning 1266 Using storage engine MyISAM for table 't1'
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT)
|
||||
ENGINE=Memory;
|
||||
ALTER TABLE t1 ENGINE=NonExistentEngine;
|
||||
Warnings:
|
||||
Warning 1286 Unknown table engine 'NonExistentEngine'
|
||||
ALTER TABLE t1
|
||||
PARTITION BY HASH (a)
|
||||
(PARTITION p0 ENGINE=Memory,
|
||||
PARTITION p1 ENGINE=NonExistentEngine);
|
||||
Warnings:
|
||||
Warning 1286 Unknown table engine 'NonExistentEngine'
|
||||
ALTER TABLE t1 ENGINE=NonExistentEngine;
|
||||
Warnings:
|
||||
Warning 1286 Unknown table engine 'NonExistentEngine'
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL
|
||||
) ENGINE=MEMORY DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY HASH (a)
|
||||
(PARTITION p0 ENGINE = MEMORY,
|
||||
PARTITION p1 ENGINE = MEMORY) */
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT NOT NULL, KEY(a))
|
||||
PARTITION BY RANGE(a)
|
||||
(PARTITION p1 VALUES LESS THAN (200), PARTITION pmax VALUES LESS THAN MAXVALUE);
|
||||
|
@ -210,7 +210,8 @@ engine = innodb
|
||||
partition by list (a)
|
||||
(partition p0 values in (0));
|
||||
alter table t1 engine = x;
|
||||
ERROR HY000: The mix of handlers in the partitions is not allowed in this version of MySQL
|
||||
Warnings:
|
||||
Warning 1286 Unknown table engine 'x'
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
|
@ -258,14 +258,21 @@ set global slow_query_log='OFF';
|
||||
# check that alter table doesn't work for other engines
|
||||
set @save_storage_engine= @@session.storage_engine;
|
||||
set storage_engine= MEMORY;
|
||||
# After fixing bug#35765 the error behaivor changed:
|
||||
# If compiled in/enabled ER_UNSUPORTED_LOG_ENGINE
|
||||
# If not (i.e. not existant) it will show a warning
|
||||
# and use the current one.
|
||||
alter table mysql.slow_log engine=NonExistentEngine;
|
||||
--error ER_UNSUPORTED_LOG_ENGINE
|
||||
alter table mysql.slow_log engine=ndb;
|
||||
--error ER_UNSUPORTED_LOG_ENGINE
|
||||
alter table mysql.slow_log engine=innodb;
|
||||
--error ER_UNSUPORTED_LOG_ENGINE
|
||||
alter table mysql.slow_log engine=archive;
|
||||
--error ER_UNSUPORTED_LOG_ENGINE
|
||||
alter table mysql.slow_log engine=blackhole;
|
||||
alter table mysql.slow_log engine=memory;
|
||||
#--error ER_UNSUPORTED_LOG_ENGINE
|
||||
#alter table mysql.slow_log engine=ndb;
|
||||
#--error ER_UNSUPORTED_LOG_ENGINE
|
||||
#alter table mysql.slow_log engine=innodb;
|
||||
#--error ER_UNSUPORTED_LOG_ENGINE
|
||||
#alter table mysql.slow_log engine=archive;
|
||||
#--error ER_UNSUPORTED_LOG_ENGINE
|
||||
#alter table mysql.slow_log engine=blackhole;
|
||||
set storage_engine= @save_storage_engine;
|
||||
|
||||
drop table mysql.slow_log;
|
||||
|
@ -97,6 +97,29 @@ INSERT INTO t1 VALUES (NULL);
|
||||
SELECT * FROM t1 WHERE pk < 0 ORDER BY pk;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#35765: ALTER TABLE produces wrong error when non-existent storage engine
|
||||
# used
|
||||
CREATE TABLE t1 (a INT)
|
||||
ENGINE=NonExistentEngine;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT)
|
||||
ENGINE=NonExistentEngine
|
||||
PARTITION BY HASH (a);
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a INT)
|
||||
ENGINE=Memory;
|
||||
ALTER TABLE t1 ENGINE=NonExistentEngine;
|
||||
# OK to only specify one partitions engine, since it is already assigned at
|
||||
# table level (after create, it is specified on all levels and all parts).
|
||||
ALTER TABLE t1
|
||||
PARTITION BY HASH (a)
|
||||
(PARTITION p0 ENGINE=Memory,
|
||||
PARTITION p1 ENGINE=NonExistentEngine);
|
||||
ALTER TABLE t1 ENGINE=NonExistentEngine;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug#40494: Crash MYSQL server crashes on range access with partitioning
|
||||
# and order by
|
||||
|
@ -250,7 +250,6 @@ engine = innodb
|
||||
partition by list (a)
|
||||
(partition p0 values in (0));
|
||||
|
||||
-- error ER_MIX_HANDLER_ERROR
|
||||
alter table t1 engine = x;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
@ -411,8 +411,8 @@ bool net_send_error_packet(THD *thd, uint sql_errno, const char *err,
|
||||
thd->variables.character_set_results,
|
||||
err, strlen(err),
|
||||
system_charset_info, &error);
|
||||
length= (uint) (strmake((char*) pos, (char*)converted_err, MYSQL_ERRMSG_SIZE) -
|
||||
(char*) buff);
|
||||
length= (uint) (strmake((char*) pos, (char*)converted_err,
|
||||
MYSQL_ERRMSG_SIZE - 1) - (char*) buff);
|
||||
err= (char*) buff;
|
||||
DBUG_RETURN(net_write_command(net,(uchar) 255, (uchar*) "", 0, (uchar*) err,
|
||||
length));
|
||||
|
@ -4820,7 +4820,8 @@ create_table_option:
|
||||
ENGINE_SYM opt_equal storage_engines
|
||||
{
|
||||
Lex->create_info.db_type= $3;
|
||||
Lex->create_info.used_fields|= HA_CREATE_USED_ENGINE;
|
||||
if ($3)
|
||||
Lex->create_info.used_fields|= HA_CREATE_USED_ENGINE;
|
||||
}
|
||||
| TYPE_SYM opt_equal storage_engines
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user