summaryrefslogtreecommitdiff
path: root/sql/ha_partition.cc
diff options
context:
space:
mode:
authorTatiana A. Nurnberg <azundris@mysql.com>2009-07-31 14:38:18 +0200
committerTatiana A. Nurnberg <azundris@mysql.com>2009-07-31 14:38:18 +0200
commit717d6054f516baa35e14ac11f0a06c630b9e9fd9 (patch)
tree5beb5e75fef8047c3da0acfcd0d96363fc790e3e /sql/ha_partition.cc
parentead1ce94e61b0e4436def29515c2e15c95a9b1aa (diff)
downloadmariadb-git-717d6054f516baa35e14ac11f0a06c630b9e9fd9.tar.gz
Bug#40281, partitioning the general log table crashes the server
We disallow the partitioning of a log table. You could however partition a table first, and then point logging to it. This is not only against the docs, it also crashes the server. We catch this case now. mysql-test/r/partition.result: results for 40281 mysql-test/t/partition.test: test for 40281: show that trying to log to partitioned table fails rather to crash the server sql/ha_partition.cc: Signal that we no longer support logging to partitioned tables, as per the docs. sql/sql_partition.cc: Some commands like "USE ..." have no select, yet we may try to parse partition info after their execution if user set a partitioned table as log target. This shouldn't lead to a NULL-deref/crash.
Diffstat (limited to 'sql/ha_partition.cc')
-rw-r--r--sql/ha_partition.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc
index 67bc3156260..97ecd70d6f8 100644
--- a/sql/ha_partition.cc
+++ b/sql/ha_partition.cc
@@ -5381,6 +5381,13 @@ int ha_partition::extra(enum ha_extra_function operation)
/* Currently only NDB use the *_CANNOT_BATCH */
break;
}
+ /*
+ http://dev.mysql.com/doc/refman/5.1/en/partitioning-limitations.html
+ says we no longer support logging to partitioned tables, so we fail
+ here.
+ */
+ case HA_EXTRA_MARK_AS_LOG_TABLE:
+ DBUG_RETURN(ER_UNSUPORTED_LOG_ENGINE);
default:
{
/* Temporary crash to discover what is wrong */