Commit 42d91c68 authored by Mattias Jonsson's avatar Mattias Jonsson

merge

parents eb27f163 f4e46c5c
drop table if exists t1; drop table if exists t1;
# #
# Bug#49477: Assertion `0' failed in ha_partition.cc:5530
# with temporary table and partitions
#
CREATE TABLE t1 (a INT) PARTITION BY HASH(a);
CREATE TEMPORARY TABLE tmp_t1 LIKE t1;
ERROR HY000: Cannot create temporary table with partitions
DROP TABLE t1;
#
# Bug#50392: insert_id is not reset for partitioned tables # Bug#50392: insert_id is not reset for partitioned tables
# auto_increment on duplicate entry # auto_increment on duplicate entry
CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY); CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY);
......
...@@ -8,6 +8,15 @@ ...@@ -8,6 +8,15 @@
drop table if exists t1; drop table if exists t1;
--enable_warnings --enable_warnings
--echo #
--echo # Bug#49477: Assertion `0' failed in ha_partition.cc:5530
--echo # with temporary table and partitions
--echo #
CREATE TABLE t1 (a INT) PARTITION BY HASH(a);
--error ER_PARTITION_NO_TEMPORARY
CREATE TEMPORARY TABLE tmp_t1 LIKE t1;
DROP TABLE t1;
--echo # --echo #
--echo # Bug#50392: insert_id is not reset for partitioned tables --echo # Bug#50392: insert_id is not reset for partitioned tables
--echo # auto_increment on duplicate entry --echo # auto_increment on duplicate entry
......
...@@ -90,7 +90,9 @@ static int partition_initialize(void *p) ...@@ -90,7 +90,9 @@ static int partition_initialize(void *p)
partition_hton->create= partition_create_handler; partition_hton->create= partition_create_handler;
partition_hton->partition_flags= partition_flags; partition_hton->partition_flags= partition_flags;
partition_hton->alter_table_flags= alter_table_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; return 0;
} }
...@@ -1896,6 +1898,13 @@ uint ha_partition::del_ren_cre_table(const char *from, ...@@ -1896,6 +1898,13 @@ uint ha_partition::del_ren_cre_table(const char *from,
handler **file, **abort_file; handler **file, **abort_file;
DBUG_ENTER("del_ren_cre_table()"); 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)) if (get_from_handler_file(from, ha_thd()->mem_root))
DBUG_RETURN(TRUE); DBUG_RETURN(TRUE);
DBUG_ASSERT(m_file_buffer); DBUG_ASSERT(m_file_buffer);
......
...@@ -2958,7 +2958,7 @@ case SQLCOM_PREPARE: ...@@ -2958,7 +2958,7 @@ case SQLCOM_PREPARE:
access is granted. We need to check if first_table->grant.privilege access is granted. We need to check if first_table->grant.privilege
contains any table-specific privilege. contains any table-specific privilege.
*/ */
DBUG_PRINT("debug", ("first_table->grant.privilege: %x", DBUG_PRINT("debug", ("first_table->grant.privilege: %lx",
first_table->grant.privilege)); first_table->grant.privilege));
if (check_some_access(thd, SHOW_CREATE_TABLE_ACLS, first_table) || if (check_some_access(thd, SHOW_CREATE_TABLE_ACLS, first_table) ||
(first_table->grant.privilege & SHOW_CREATE_TABLE_ACLS) == 0) (first_table->grant.privilege & SHOW_CREATE_TABLE_ACLS) == 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment