Author: jstephens
Date: 2006-03-24 15:57:02 +0100 (Fri, 24 Mar 2006)
New Revision: 1658
Log:
Documenting fixes for Partitioning bugs:
Bug #14350, Bug #14367, Bug #15336, Bug #17173, Bug #17290, Bug #17744
New ALTER TABLE option for partitioning: REMOVE PARTITIONING; change in
behaviour for ENGINE option. (Bug #17754)
Modified:
trunk/refman-5.1/partitioning.xml
trunk/refman-5.1/sql-syntax.xml
trunk/refman-common/news-5.1.xml
Modified: trunk/refman-5.1/partitioning.xml
===================================================================
--- trunk/refman-5.1/partitioning.xml 2006-03-23 23:51:58 UTC (rev 1657)
+++ trunk/refman-5.1/partitioning.xml 2006-03-24 14:57:02 UTC (rev 1658)
@@ -2384,6 +2384,16 @@
the table and re-creating it using <literal>CREATE TABLE trb3
PARTITION BY KEY(id) PARTITIONS 2;</literal>.
</para>
+
+ <para>
+ <emphasis role="bold">Important</emphasis>: In MySQL 5.1.7 and earlier
+ MySQL 5.1 releases, <literal>ALTER TABLE ... ENGINE = ...</literal>
+ removed all partitioning from the affected table. Beginning with MySQL
+ 5.1.8, this statement changes only the storage engine used by the table,
+ and leaves the table's partitioning scheme intact. As of MySQL 5.1.8, use
+ <literal>ALTER TABLE ... REMOVE PARTITIONING</literal> to remove a
table's
+ partitioning. See <xref linkend="alter-table"/>.
+ </para>
<section id="partitioning-management-range-list">
Modified: trunk/refman-5.1/sql-syntax.xml
===================================================================
--- trunk/refman-5.1/sql-syntax.xml 2006-03-23 23:51:58 UTC (rev 1657)
+++ trunk/refman-5.1/sql-syntax.xml 2006-03-24 14:57:02 UTC (rev 1658)
@@ -215,6 +215,7 @@
| OPTIMIZE PARTITION <replaceable>partition_names</replaceable>
| REBUILD PARTITION <replaceable>partition_names</replaceable>
| REPAIR PARTITION <replaceable>partition_names</replaceable>
+ | REMOVE PARTITIONING
</programlisting>
<remark role="help-description-begin"/>
@@ -997,6 +998,25 @@
<xref linkend="partitioning-maintenance"/>.
</para>
</listitem>
+
+ <listitem>
+ <para>
+ <literal>REMOVE PARTITIONING</literal> was introduced in MySQL
5.1.8
+ for the purpose of removing a table's partitioning without otherwise
+ affecting the table or its data. (Previously. this was done using the
+ <literal>ENGINE </literal> option.) This option can be combined
with
+ other <literal>ALTER TABLE</literal> options such as those used
to
+ add, drop, or rename drop columns or indexes.
+ </para>
+
+ <para>
+ In MySQL 5.1.7 and earlier, using the <literal>ENGINE</literal>
+ option with <literal>ALTER TABLE</literal> caused any
partitioning
+ that a table might have had to be removed. Beginning with MySQL
+ 5.1.8, this option merely changes the storage engine used by the
+ table and no longer affects partitioning in any way.
+ </para>
+ </listitem>
</itemizedlist>
Modified: trunk/refman-common/news-5.1.xml
===================================================================
--- trunk/refman-common/news-5.1.xml 2006-03-23 23:51:58 UTC (rev 1657)
+++ trunk/refman-common/news-5.1.xml 2006-03-24 14:57:02 UTC (rev 1658)
@@ -214,6 +214,28 @@
<xref linkend="partitioning-handling-nulls"/>. (Bug #15447)
</para>
</listitem>
+
+ <listitem>
+ <para>
+ <emphasis role="bold">Incompatible Change</emphasis>: The semantics
of
+ <literal>ALTER TABLE <replaceable>t</replaceable>
+ ENGINE=<replaceable>X</replaceable>;</literal> for
partitioned
+ tables is changed, and now means that the storage engine used for
+ table <replaceable>t</replaceable> is changed to
+ <replaceable>X</replaceable>.
+ </para>
+
+ <para>
+ The previous statement formerly (prior to MySQL 5.1.8) meant that all
+ partitioning was removed from the table. In order to remove the
+ partitioning of a table, the syntax <literal>ALTER TABLE
+ <replaceable>t</replaceable> REMOVE PARTITIONING;</literal>
is
+ introduced. The <literal>REMOVE PARTITIONING</literal> option can
be
+ used in combination with existing <literal>ALTER TABLE</literal>
+ options such as those employed for adding or dropping columns or
+ indexes. (Bug #17754)
+ </para>
+ </listitem>
<listitem>
<para>
@@ -437,7 +459,7 @@
<listitem>
<para>
- Client API will now attempt reconnect on TCP/IP if the
+ The client API will now attempt to reconnect on TCP/IP if the
<literal>reconnect</literal> flag is set, as is the case with
sockets. (Bug #2845)
</para>
@@ -453,6 +475,52 @@
<listitem>
<para>
+ Using triggers with partitioned InnoDB tables led to incorrect
+ results. (Bug #17744)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Calling <literal>CREATE TABLE</literal> or <literal>ALTER
+ TABLE</literal> twice on a partitioned table in a stored procedure
+ or a prepared statement resulted in errors and sometimes server
+ crashes. (Bug #17290)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ A problem with <literal>NULL</literal>s and interval mapping
sometimes
+ caused incorrect results or crashes when trying to use less-than
+ searches on partitioned tables. (Bug #17173)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>CREATE TABLE ... PARTITION ... AS SELECT ...</literal>
would
+ cause the server to crash. (Bug #15336)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Creating a partition which depends on an expression containing a
+ column using the UTF8 character set would cause the server to crash.
+ (Bug #14367)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Invoking more than once a prepared statement that creates a
+ partitioned table would crash the server. (Bug #14350)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
<literal>NDB Cluster</literal>: A <literal>SELECT ... ORDER
BY</literal> query on an explicitly partitioned Cluster table with
no explicit indexes would crash the server. (Bug #17899)
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r1658 - in trunk: refman-5.1 refman-common | jon | 24 Mar |