1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Bug#49477: Assertion `0' failed in ha_partition.cc:5530

with temporary table and partitions

It was possible to create temporary partitioned tables
via create table ... like ... (which is not allowed with
create temporary table). This lead to a new HA_EXTRA flag
(HA_EXTRA_MMAP) was sent to the partitioning handler,
which was caught on an assert in debug builds.

Solution was to check for partitioned tables when
doing create table ... like ... and disallow it.

mysql-test/r/partition_error.result:
  Bug#49477: Assertion `0' failed in ha_partition.cc:5530
  with temporary table and partitions
  
  Added result
mysql-test/t/partition_error.test:
  Bug#49477: Assertion `0' failed in ha_partition.cc:5530
  with temporary table and partitions
  
  Added test
sql/sql_table.cc:
  Bug#49477: Assertion `0' failed in ha_partition.cc:5530
  with temporary table and partitions
  
  Added check to prevent creation of partitioned temporary
  tables.
  
  Only copy .par file for partitioned tables.
This commit is contained in:
Mattias Jonsson
2009-12-11 18:41:31 +01:00
parent 360b2ff4ce
commit d72a15fcaa
3 changed files with 30 additions and 7 deletions

View File

@ -1,4 +1,12 @@
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;
CREATE TABLE t1 (a INTEGER NOT NULL, PRIMARY KEY (a));
INSERT INTO t1 VALUES (1),(1);
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'