diff options
author | Mattias Jonsson <mattias.jonsson@sun.com> | 2010-05-21 14:18:14 +0200 |
---|---|---|
committer | Mattias Jonsson <mattias.jonsson@sun.com> | 2010-05-21 14:18:14 +0200 |
commit | 6ef03ea37c5180621af9b5025e377141466bb2c9 (patch) | |
tree | 55f4f0b1a3c84d7bbb3afe29cbb9826e7071d863 /sql/ha_partition.cc | |
parent | 37b02cd7d99278aec20e793c79ed105e99b2f7e7 (diff) | |
parent | d72a15fcaaf55a5c5e6356524186ebd2a8705b70 (diff) | |
download | mariadb-git-6ef03ea37c5180621af9b5025e377141466bb2c9.tar.gz |
merge into mysql-5.1-bugteam
sql/ha_partition.cc:
Bug#49477, added safety that a partitioned table cannot be
temporary.
Diffstat (limited to 'sql/ha_partition.cc')
-rw-r--r-- | sql/ha_partition.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index fc6c88e8732..4fc3b2c9908 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -88,7 +88,9 @@ static int partition_initialize(void *p) partition_hton->create= partition_create_handler; partition_hton->partition_flags= partition_flags; partition_hton->alter_table_flags= alter_table_flags; - partition_hton->flags= HTON_NOT_USER_SELECTABLE | HTON_HIDDEN; + partition_hton->flags= HTON_NOT_USER_SELECTABLE | + HTON_HIDDEN | + HTON_TEMPORARY_NOT_SUPPORTED; return 0; } @@ -1837,6 +1839,13 @@ uint ha_partition::del_ren_cre_table(const char *from, handler **file, **abort_file; DBUG_ENTER("del_ren_cre_table()"); + /* Not allowed to create temporary partitioned tables */ + if (create_info && create_info->options & HA_LEX_CREATE_TMP_TABLE) + { + my_error(ER_PARTITION_NO_TEMPORARY, MYF(0)); + DBUG_RETURN(TRUE); + } + if (get_from_handler_file(from, ha_thd()->mem_root)) DBUG_RETURN(TRUE); DBUG_ASSERT(m_file_buffer); |