summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-06-13 21:41:02 -0400
committerunknown <mikael@c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se>2006-06-13 21:41:02 -0400
commitec0e1a1b2bb6b797da01c082b8a36b97b8d6ed20 (patch)
treea35b38db0cb01e4d7a973ad2dc76a71aae12afc0
parentb19c1896adea1166adb8e80552ac3abfa7642205 (diff)
parent60be734e52dfa96aa4cec371d1b41c2ba1efcbb8 (diff)
downloadmariadb-git-ec0e1a1b2bb6b797da01c082b8a36b97b8d6ed20.tar.gz
Merge c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1
into c-0409e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19307 mysql-test/r/partition.result: Auto merged mysql-test/t/partition.test: Auto merged sql/partition_info.cc: Auto merged sql/share/errmsg.txt: Auto merged sql/sql_partition.cc: Auto merged
-rw-r--r--mysql-test/r/partition.result5
-rw-r--r--mysql-test/t/partition.test11
-rw-r--r--sql/partition_info.cc6
-rw-r--r--sql/share/errmsg.txt4
-rw-r--r--sql/sql_partition.cc6
5 files changed, 25 insertions, 7 deletions
diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result
index 3753dc2fac5..025d9f46412 100644
--- a/mysql-test/r/partition.result
+++ b/mysql-test/r/partition.result
@@ -1,5 +1,10 @@
drop table if exists t1;
create table t1 (a int)
+engine = csv
+partition by list (a)
+(partition p0 values in (null));
+ERROR HY000: CSV handler cannot be used in partitioned tables
+create table t1 (a int)
partition by key(a)
(partition p0 engine = MEMORY);
drop table t1;
diff --git a/mysql-test/t/partition.test b/mysql-test/t/partition.test
index 05adb6866db..a7f2e1c0b3e 100644
--- a/mysql-test/t/partition.test
+++ b/mysql-test/t/partition.test
@@ -9,6 +9,17 @@
drop table if exists t1;
--enable_warnings
+#
+# Bug 19307: CSV engine crashes
+#
+--error ER_PARTITION_MERGE_ERROR
+create table t1 (a int)
+engine = csv
+partition by list (a)
+(partition p0 values in (null));
+
+#
+#
create table t1 (a int)
partition by key(a)
(partition p0 engine = MEMORY);
diff --git a/sql/partition_info.cc b/sql/partition_info.cc
index edd8f56d8c4..59cedc884b6 100644
--- a/sql/partition_info.cc
+++ b/sql/partition_info.cc
@@ -442,9 +442,11 @@ bool partition_info::check_engine_mix(handlerton **engine_array, uint no_parts)
DBUG_RETURN(TRUE);
}
} while (++i < no_parts);
- if (engine_array[0] == &myisammrg_hton)
+ if (engine_array[0] == &myisammrg_hton ||
+ engine_array[0] == &tina_hton)
{
- my_error(ER_PARTITION_MERGE_ERROR, MYF(0));
+ my_error(ER_PARTITION_MERGE_ERROR, MYF(0),
+ engine_array[0] == &myisammrg_hton ? "MyISAM Merge" : "CSV");
DBUG_RETURN(TRUE);
}
DBUG_RETURN(FALSE);
diff --git a/sql/share/errmsg.txt b/sql/share/errmsg.txt
index ae5ddd31475..1de2e893555 100644
--- a/sql/share/errmsg.txt
+++ b/sql/share/errmsg.txt
@@ -5830,5 +5830,5 @@ ER_EVENT_MODIFY_QUEUE_ERROR
ER_EVENT_SET_VAR_ERROR
eng "Error during starting/stopping of the scheduler. Error code %u"
ER_PARTITION_MERGE_ERROR
- eng "MyISAM Merge handler cannot be used in partitioned tables"
- swe "MyISAM Merge kan inte anändas i en partitionerad tabell"
+ eng "%s handler cannot be used in partitioned tables"
+ swe "%s kan inte användas i en partitionerad tabell"
diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc
index 2f79da7edf4..db69fd3daef 100644
--- a/sql/sql_partition.cc
+++ b/sql/sql_partition.cc
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005 MySQL AB
+/* Copyright (C) 2005, 2006 MySQL AB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -238,8 +238,8 @@ bool partition_default_handling(TABLE *table, partition_info *part_info,
check_reorganise_list()
new_part_info New partition info
old_part_info Old partition info
- list_part_names The list of partition names that will go away and can be reused in the
- new table.
+ list_part_names The list of partition names that will go away and
+ can be reused in the new table.
RETURN VALUES
TRUE Inacceptable name conflict detected.