Bug #17497: Partitions: crash if add partition on temporary table
Temporary tables are no longer allowed to be partitioned. mysql-test/r/partition.result: Add result mysql-test/t/partition.test: Add new regression test sql/share/errmsg.txt: Add new error message sql/sql_table.cc: Don't allow creating temporary table with partitions
This commit is contained in:
parent
56df722382
commit
48469933d0
@ -422,4 +422,6 @@ partition_name partition_description table_rows
|
||||
x123 11,12 1
|
||||
x234 NULL,1 1
|
||||
drop table t1;
|
||||
create temporary table t1 (a int) partition by hash(a);
|
||||
ERROR HY000: Cannot create temporary table with partitions
|
||||
End of 5.1 tests
|
||||
|
@ -540,4 +540,10 @@ select partition_name, partition_description, table_rows
|
||||
from information_schema.partitions where table_schema ='test';
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #17497: Partitions: crash if add partition on temporary table
|
||||
#
|
||||
--error ER_PARTITION_NO_TEMPORARY
|
||||
create temporary table t1 (a int) partition by hash(a);
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -5820,4 +5820,5 @@ ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT
|
||||
eng "Cannot change the binary logging format inside a stored function or trigger"
|
||||
ER_NDB_CANT_SWITCH_BINLOG_FORMAT
|
||||
eng "The NDB cluster engine does not support changing the binlog format on the fly yet"
|
||||
|
||||
ER_PARTITION_NO_TEMPORARY
|
||||
eng "Cannot create temporary table with partitions"
|
||||
|
@ -2073,6 +2073,11 @@ bool mysql_create_table_internal(THD *thd,
|
||||
char *part_syntax_buf;
|
||||
uint syntax_len;
|
||||
handlerton *engine_type;
|
||||
if (create_info->options & HA_LEX_CREATE_TMP_TABLE)
|
||||
{
|
||||
my_error(ER_PARTITION_NO_TEMPORARY, MYF(0));
|
||||
goto err;
|
||||
}
|
||||
while ((key= key_iterator++))
|
||||
{
|
||||
if (key->type == Key::FOREIGN_KEY)
|
||||
|
Loading…
x
Reference in New Issue
Block a user