Author: paul
Date: 2006-05-18 22:20:29 +0200 (Thu, 18 May 2006)
New Revision: 2124
Log:
r7607@polar: paul | 2006-05-18 14:43:59 -0500
Slight CREATE TABLE reorganization.
(Mainly alphabetization of options).
Modified:
trunk/
trunk/refman-4.1/sql-syntax.xml
trunk/refman-5.0/sql-syntax.xml
trunk/refman-5.1/sql-syntax.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:7606
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:10508
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:4886
+ 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:7607
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:10508
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:4886
Modified: trunk/refman-4.1/sql-syntax.xml
===================================================================
--- trunk/refman-4.1/sql-syntax.xml 2006-05-18 20:20:15 UTC (rev 2123)
+++ trunk/refman-4.1/sql-syntax.xml 2006-05-18 20:20:29 UTC (rev 2124)
@@ -1355,22 +1355,23 @@
{ENGINE|TYPE} = <replaceable>engine_name</replaceable>
| AUTO_INCREMENT = <replaceable>value</replaceable>
| AVG_ROW_LENGTH = <replaceable>value</replaceable>
- | [DEFAULT] CHARACTER SET <replaceable>charset_name</replaceable> [COLLATE <replaceable>collation_name</replaceable>]
+ | [DEFAULT] CHARACTER SET <replaceable>charset_name</replaceable>
| CHECKSUM = {0 | 1}
+ | COLLATE <replaceable>collation_name</replaceable>
| COMMENT = '<replaceable>string</replaceable>'
+ | DATA DIRECTORY = '<replaceable>absolute path to directory</replaceable>'
+ | DELAY_KEY_WRITE = {0 | 1}
+ | INDEX DIRECTORY = '<replaceable>absolute path to directory</replaceable>'
+ | INSERT_METHOD = { NO | FIRST | LAST }
| MAX_ROWS = <replaceable>value</replaceable>
| MIN_ROWS = <replaceable>value</replaceable>
| PACK_KEYS = {0 | 1 | DEFAULT}
| PASSWORD = '<replaceable>string</replaceable>'
- | DELAY_KEY_WRITE = {0 | 1}
+ | RAID_TYPE = { 1 | STRIPED | RAID0 }
+ RAID_CHUNKS = <replaceable>value</replaceable>
+ RAID_CHUNKSIZE = <replaceable>value</replaceable>
| ROW_FORMAT = {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}
- | RAID_TYPE = { 1 | STRIPED | RAID0 }
- RAID_CHUNKS = <replaceable>value</replaceable>
- RAID_CHUNKSIZE = <replaceable>value</replaceable>
| UNION = (<replaceable>tbl_name</replaceable>[,<replaceable>tbl_name</replaceable>]...)
- | INSERT_METHOD = { NO | FIRST | LAST }
- | DATA DIRECTORY = '<replaceable>absolute path to directory</replaceable>'
- | INDEX DIRECTORY = '<replaceable>absolute path to directory</replaceable>'
<replaceable>select_statement:</replaceable>
[IGNORE | REPLACE] [AS] SELECT ... (<replaceable>Some legal select statement</replaceable>)
@@ -2197,16 +2198,6 @@
<listitem>
<para>
- <literal>COLLATE</literal>
- </para>
-
- <para>
- Specify a default collation for the table.
- </para>
- </listitem>
-
- <listitem>
- <para>
<literal>CHECKSUM</literal>
</para>
@@ -2223,6 +2214,16 @@
<listitem>
<para>
+ <literal>COLLATE</literal>
+ </para>
+
+ <para>
+ Specify a default collation for the table.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
<literal>COMMENT</literal>
</para>
@@ -2233,6 +2234,67 @@
<listitem>
<para>
+ <literal>DATA DIRECTORY</literal>, <literal>INDEX
+ DIRECTORY</literal>
+ </para>
+
+ <para>
+ By using <literal>DATA
+ DIRECTORY='<replaceable>directory</replaceable>'</literal>
+ or <literal>INDEX
+ DIRECTORY='<replaceable>directory</replaceable>'</literal>
+ you can specify where the <literal>MyISAM</literal> storage
+ engine should put a table's data file and index file. The
+ directory must be the full pathname to the directory, not a
+ relative path.
+ </para>
+
+ <para>
+ These options work only for <literal>MyISAM</literal> tables
+ from MySQL 4.0 on, when you are not using the
+ <option>--skip-symbolic-links</option> option. Your
+ operating system must also have a working, thread-safe
+ <literal>realpath()</literal> call. See
+ <xref linkend="symbolic-links-to-tables"/>, for more
+ complete information.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>DELAY_KEY_WRITE</literal>
+ </para>
+
+ <para>
+ Set this to 1 if you want to delay key updates for the table
+ until the table is closed. See the description of the
+ <literal>delay_key_write</literal> system variable in
+ <xref linkend="server-system-variables"/>.
+ (<literal>MyISAM</literal> only.)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>INSERT_METHOD</literal>
+ </para>
+
+ <para>
+ If you want to insert data into a <literal>MERGE</literal>
+ table, you must specify with
+ <literal>INSERT_METHOD</literal> the table into which the
+ row should be inserted. <literal>INSERT_METHOD</literal> is
+ an option useful for <literal>MERGE</literal> tables only.
+ Use a value of <literal>FIRST</literal> or
+ <literal>LAST</literal> to have inserts go to the first or
+ last table, or a value of <literal>NO</literal> to prevent
+ inserts. This option was introduced in MySQL 4.0.0. See
+ <xref linkend="merge-storage-engine"/>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
<literal>MAX_ROWS</literal>
</para>
@@ -2328,36 +2390,6 @@
<listitem>
<para>
- <literal>DELAY_KEY_WRITE</literal>
- </para>
-
- <para>
- Set this to 1 if you want to delay key updates for the table
- until the table is closed. See the description of the
- <literal>delay_key_write</literal> system variable in
- <xref linkend="server-system-variables"/>.
- (<literal>MyISAM</literal> only.)
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>ROW_FORMAT</literal>
- </para>
-
- <para>
- Defines how the rows should be stored. Currently, this
- option works only with <literal>MyISAM</literal> tables. The
- option value can be <literal>FIXED</literal> or
- <literal>DYNAMIC</literal> for static or variable-length row
- format. <command>myisampack</command> sets the type to
- <literal>COMPRESSED</literal>. See
- <xref linkend="myisam-table-formats"/>.
- </para>
- </listitem>
-
- <listitem>
- <para>
<indexterm>
<primary>RAID</primary>
<secondary>table type</secondary>
@@ -2422,6 +2454,22 @@
<listitem>
<para>
+ <literal>ROW_FORMAT</literal>
+ </para>
+
+ <para>
+ Defines how the rows should be stored. Currently, this
+ option works only with <literal>MyISAM</literal> tables. The
+ option value can be <literal>FIXED</literal> or
+ <literal>DYNAMIC</literal> for static or variable-length row
+ format. <command>myisampack</command> sets the type to
+ <literal>COMPRESSED</literal>. See
+ <xref linkend="myisam-table-formats"/>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
<literal>UNION</literal>
</para>
@@ -2444,53 +2492,6 @@
</para>
</listitem>
- <listitem>
- <para>
- <literal>INSERT_METHOD</literal>
- </para>
-
- <para>
- If you want to insert data into a <literal>MERGE</literal>
- table, you must specify with
- <literal>INSERT_METHOD</literal> the table into which the
- row should be inserted. <literal>INSERT_METHOD</literal> is
- an option useful for <literal>MERGE</literal> tables only.
- Use a value of <literal>FIRST</literal> or
- <literal>LAST</literal> to have inserts go to the first or
- last table, or a value of <literal>NO</literal> to prevent
- inserts. This option was introduced in MySQL 4.0.0. See
- <xref linkend="merge-storage-engine"/>.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>DATA DIRECTORY</literal>, <literal>INDEX
- DIRECTORY</literal>
- </para>
-
- <para>
- By using <literal>DATA
- DIRECTORY='<replaceable>directory</replaceable>'</literal>
- or <literal>INDEX
- DIRECTORY='<replaceable>directory</replaceable>'</literal>
- you can specify where the <literal>MyISAM</literal> storage
- engine should put a table's data file and index file. The
- directory must be the full pathname to the directory, not a
- relative path.
- </para>
-
- <para>
- These options work only for <literal>MyISAM</literal> tables
- from MySQL 4.0 on, when you are not using the
- <option>--skip-symbolic-links</option> option. Your
- operating system must also have a working, thread-safe
- <literal>realpath()</literal> call. See
- <xref linkend="symbolic-links-to-tables"/>, for more
- complete information.
- </para>
- </listitem>
-
</itemizedlist>
<indexterm>
Modified: trunk/refman-5.0/sql-syntax.xml
===================================================================
--- trunk/refman-5.0/sql-syntax.xml 2006-05-18 20:20:15 UTC (rev 2123)
+++ trunk/refman-5.0/sql-syntax.xml 2006-05-18 20:20:29 UTC (rev 2124)
@@ -1393,20 +1393,21 @@
{ENGINE|TYPE} [=] <replaceable>engine_name</replaceable>
| AUTO_INCREMENT [=] <replaceable>value</replaceable>
| AVG_ROW_LENGTH [=] <replaceable>value</replaceable>
- | [DEFAULT] CHARACTER SET <replaceable>charset_name</replaceable> [COLLATE <replaceable>collation_name</replaceable>]
+ | [DEFAULT] CHARACTER SET <replaceable>charset_name</replaceable>
| CHECKSUM [=] {0 | 1}
+ | COLLATE <replaceable>collation_name</replaceable>
| COMMENT [=] '<replaceable>string</replaceable>'
| CONNECTION [=] '<replaceable>connect_string</replaceable>'
+ | DATA DIRECTORY [=] '<replaceable>absolute path to directory</replaceable>'
+ | DELAY_KEY_WRITE [=] {0 | 1}
+ | INDEX DIRECTORY [=] '<replaceable>absolute path to directory</replaceable>'
+ | INSERT_METHOD [=] { NO | FIRST | LAST }
| MAX_ROWS [=] <replaceable>value</replaceable>
| MIN_ROWS [=] <replaceable>value</replaceable>
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] '<replaceable>string</replaceable>'
- | DELAY_KEY_WRITE [=] {0 | 1}
| ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}
| UNION [=] (<replaceable>tbl_name</replaceable>[,<replaceable>tbl_name</replaceable>]...)
- | INSERT_METHOD [=] { NO | FIRST | LAST }
- | DATA DIRECTORY [=] '<replaceable>absolute path to directory</replaceable>'
- | INDEX DIRECTORY [=] '<replaceable>absolute path to directory</replaceable>'
<replaceable>select_statement:</replaceable>
[IGNORE | REPLACE] [AS] SELECT ... (<replaceable>Some legal select statement</replaceable>)
@@ -2226,16 +2227,6 @@
<listitem>
<para>
- <literal>COLLATE</literal>
- </para>
-
- <para>
- Specify a default collation for the table.
- </para>
- </listitem>
-
- <listitem>
- <para>
<literal>CHECKSUM</literal>
</para>
@@ -2252,6 +2243,16 @@
<listitem>
<para>
+ <literal>COLLATE</literal>
+ </para>
+
+ <para>
+ Specify a default collation for the table.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
<literal>COMMENT</literal>
</para>
@@ -2275,6 +2276,65 @@
<listitem>
<para>
+ <literal>DATA DIRECTORY</literal>, <literal>INDEX
+ DIRECTORY</literal>
+ </para>
+
+ <para>
+ By using <literal>DATA
+ DIRECTORY='<replaceable>directory</replaceable>'</literal>
+ or <literal>INDEX
+ DIRECTORY='<replaceable>directory</replaceable>'</literal>
+ you can specify where the <literal>MyISAM</literal> storage
+ engine should put a table's data file and index file. The
+ directory must be the full pathname to the directory, not a
+ relative path.
+ </para>
+
+ <para>
+ These options work only when you are not using the
+ <option>--skip-symbolic-links</option> option. Your
+ operating system must also have a working, thread-safe
+ <literal>realpath()</literal> call. See
+ <xref linkend="symbolic-links-to-tables"/>, for more
+ complete information.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>DELAY_KEY_WRITE</literal>
+ </para>
+
+ <para>
+ Set this to 1 if you want to delay key updates for the table
+ until the table is closed. See the description of the
+ <literal>delay_key_write</literal> system variable in
+ <xref linkend="server-system-variables"/>.
+ (<literal>MyISAM</literal> only.)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>INSERT_METHOD</literal>
+ </para>
+
+ <para>
+ If you want to insert data into a <literal>MERGE</literal>
+ table, you must specify with
+ <literal>INSERT_METHOD</literal> the table into which the
+ row should be inserted. <literal>INSERT_METHOD</literal> is
+ an option useful for <literal>MERGE</literal> tables only.
+ Use a value of <literal>FIRST</literal> or
+ <literal>LAST</literal> to have inserts go to the first or
+ last table, or a value of <literal>NO</literal> to prevent
+ inserts. See <xref linkend="merge-storage-engine"/>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
<literal>MAX_ROWS</literal>
</para>
@@ -2370,20 +2430,6 @@
<listitem>
<para>
- <literal>DELAY_KEY_WRITE</literal>
- </para>
-
- <para>
- Set this to 1 if you want to delay key updates for the table
- until the table is closed. See the description of the
- <literal>delay_key_write</literal> system variable in
- <xref linkend="server-system-variables"/>.
- (<literal>MyISAM</literal> only.)
- </para>
- </listitem>
-
- <listitem>
- <para>
<literal>ROW_FORMAT</literal>
</para>
@@ -2442,51 +2488,6 @@
</para>
</listitem>
- <listitem>
- <para>
- <literal>INSERT_METHOD</literal>
- </para>
-
- <para>
- If you want to insert data into a <literal>MERGE</literal>
- table, you must specify with
- <literal>INSERT_METHOD</literal> the table into which the
- row should be inserted. <literal>INSERT_METHOD</literal> is
- an option useful for <literal>MERGE</literal> tables only.
- Use a value of <literal>FIRST</literal> or
- <literal>LAST</literal> to have inserts go to the first or
- last table, or a value of <literal>NO</literal> to prevent
- inserts. See <xref linkend="merge-storage-engine"/>.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <literal>DATA DIRECTORY</literal>, <literal>INDEX
- DIRECTORY</literal>
- </para>
-
- <para>
- By using <literal>DATA
- DIRECTORY='<replaceable>directory</replaceable>'</literal>
- or <literal>INDEX
- DIRECTORY='<replaceable>directory</replaceable>'</literal>
- you can specify where the <literal>MyISAM</literal> storage
- engine should put a table's data file and index file. The
- directory must be the full pathname to the directory, not a
- relative path.
- </para>
-
- <para>
- These options work only when you are not using the
- <option>--skip-symbolic-links</option> option. Your
- operating system must also have a working, thread-safe
- <literal>realpath()</literal> call. See
- <xref linkend="symbolic-links-to-tables"/>, for more
- complete information.
- </para>
- </listitem>
-
</itemizedlist>
<indexterm>
Modified: trunk/refman-5.1/sql-syntax.xml
===================================================================
--- trunk/refman-5.1/sql-syntax.xml 2006-05-18 20:20:15 UTC (rev 2123)
+++ trunk/refman-5.1/sql-syntax.xml 2006-05-18 20:20:29 UTC (rev 2124)
@@ -1871,20 +1871,21 @@
ENGINE [=] <replaceable>engine_name</replaceable>
| AUTO_INCREMENT [=] <replaceable>value</replaceable>
| AVG_ROW_LENGTH [=] <replaceable>value</replaceable>
- | [DEFAULT] CHARACTER SET <replaceable>charset_name</replaceable> [COLLATE <replaceable>collation_name</replaceable>]
+ | [DEFAULT] CHARACTER SET <replaceable>charset_name</replaceable>
| CHECKSUM [=] {0 | 1}
+ | COLLATE <replaceable>collation_name</replaceable>
| COMMENT [=] '<replaceable>string</replaceable>'
| CONNECTION [=] '<replaceable>connect_string</replaceable>'
+ | DATA DIRECTORY [=] '<replaceable>absolute path to directory</replaceable>'
+ | DELAY_KEY_WRITE [=] {0 | 1}
+ | INDEX DIRECTORY [=] '<replaceable>absolute path to directory</replaceable>'
+ | INSERT_METHOD [=] { NO | FIRST | LAST }
| MAX_ROWS [=] <replaceable>value</replaceable>
| MIN_ROWS [=] <replaceable>value</replaceable>
| PACK_KEYS [=] {0 | 1 | DEFAULT}
| PASSWORD [=] '<replaceable>string</replaceable>'
- | DELAY_KEY_WRITE [=] {0 | 1}
| ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT}
| UNION [=] (<replaceable>tbl_name</replaceable>[,<replaceable>tbl_name</replaceable>]...)
- | INSERT_METHOD [=] { NO | FIRST | LAST }
- | DATA DIRECTORY [=] '<replaceable>absolute path to directory</replaceable>'
- | INDEX DIRECTORY [=] '<replaceable>absolute path to directory</replaceable>'
<replaceable>partition_options</replaceable>:
PARTITION BY
@@ -2772,16 +2773,6 @@
<listitem>
<para>
- <literal>COLLATE</literal>
- </para>
-
- <para>
- Specify a default collation for the table.
- </para>
- </listitem>
-
- <listitem>
- <para>
<literal>CHECKSUM</literal>
</para>
@@ -2798,6 +2789,16 @@
<listitem>
<para>
+ <literal>COLLATE</literal>
+ </para>
+
+ <para>
+ Specify a default collation for the table.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
<literal>COMMENT</literal>
</para>
@@ -2821,6 +2822,65 @@
<listitem>
<para>
+ <literal>DATA DIRECTORY</literal>, <literal>INDEX
+ DIRECTORY</literal>
+ </para>
+
+ <para>
+ By using <literal>DATA
+ DIRECTORY='<replaceable>directory</replaceable>'</literal>
+ or <literal>INDEX
+ DIRECTORY='<replaceable>directory</replaceable>'</literal>
+ you can specify where the <literal>MyISAM</literal> storage
+ engine should put a table's data file and index file. The
+ directory must be the full pathname to the directory, not a
+ relative path.
+ </para>
+
+ <para>
+ These options work only when you are not using the
+ <option>--skip-symbolic-links</option> option. Your
+ operating system must also have a working, thread-safe
+ <literal>realpath()</literal> call. See
+ <xref linkend="symbolic-links-to-tables"/>, for more
+ complete information.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>DELAY_KEY_WRITE</literal>
+ </para>
+
+ <para>
+ Set this to 1 if you want to delay key updates for the table
+ until the table is closed. See the description of the
+ <literal>delay_key_write</literal> system variable in
+ <xref linkend="server-system-variables"/>.
+ (<literal>MyISAM</literal> only.)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>INSERT_METHOD</literal>
+ </para>
+
+ <para>
+ If you want to insert data into a <literal>MERGE</literal>
+ table, you must specify with
+ <literal>INSERT_METHOD</literal> the table into which the
+ row should be inserted. <literal>INSERT_METHOD</literal> is
+ an option useful for <literal>MERGE</literal> tables only.
+ Use a value of <literal>FIRST</literal> or
+ <literal>LAST</literal> to have inserts go to the first or
+ last table, or a value of <literal>NO</literal> to prevent
+ inserts. See <xref linkend="merge-storage-engine"/>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
<literal>MAX_ROWS</literal>
</para>
@@ -2916,15 +2976,13 @@
<listitem>
<para>
- <literal>DELAY_KEY_WRITE</literal>
+ <literal>RAID_TYPE</literal>
</para>
<para>
- Set this to 1 if you want to delay key updates for the table
- until the table is closed. See the description of the
- <literal>delay_key_write</literal> system variable in
- <xref linkend="server-system-variables"/>.
- (<literal>MyISAM</literal> only.)
+ <literal>RAID</literal> support has been removed as of MySQL
+ 5.0. For information on <literal>RAID</literal>, see
+ <ulink url="&base-url-refman;/4.1/en/create-table.html"/>.
</para>
</listitem>
@@ -2954,18 +3012,6 @@
<listitem>
<para>
- <literal>RAID_TYPE</literal>
- </para>
-
- <para>
- <literal>RAID</literal> support has been removed as of MySQL
- 5.0. For information on <literal>RAID</literal>, see
- <ulink url="&base-url-refman;/4.1/en/create-table.html"/>.
- </para>
- </listitem>
-
- <listitem>
- <para>
<literal>UNION</literal>
</para>
@@ -2987,92 +3033,48 @@
</para>
</listitem>
- <listitem>
- <para>
- <literal>INSERT_METHOD</literal>
- </para>
+ </itemizedlist>
- <para>
- If you want to insert data into a <literal>MERGE</literal>
- table, you must specify with
- <literal>INSERT_METHOD</literal> the table into which the
- row should be inserted. <literal>INSERT_METHOD</literal> is
- an option useful for <literal>MERGE</literal> tables only.
- Use a value of <literal>FIRST</literal> or
- <literal>LAST</literal> to have inserts go to the first or
- last table, or a value of <literal>NO</literal> to prevent
- inserts. See <xref linkend="merge-storage-engine"/>.
- </para>
- </listitem>
+ <para>
+ <replaceable>partition_options</replaceable> can be used to
+ control partitioning of the table created with <literal>CREATE
+ TABLE</literal>, and if used, must contain at a minimum a
+ <literal>PARTITION BY</literal> clause. This clause contains the
+ function that is used to determine the partition; the function
+ returns an integer value ranging from 1 to
+ <replaceable>num</replaceable>, where
+ <replaceable>num</replaceable> is the number of partitions. The
+ choices that are available for this function in MySQL
+ ¤t-series; are shown in the following list.
+ </para>
- <listitem>
- <para>
- <literal>DATA DIRECTORY</literal>, <literal>INDEX
- DIRECTORY</literal>
- </para>
+ <para>
+ <emphasis role="bold">Important</emphasis>: Not all options
+ shown in the syntax for
+ <replaceable>partition_options</replaceable> at the beginning of
+ this section are available for all partitioning types. Please
+ see the listings for the following individual types for
+ information specific to each type, and see
+ <xref linkend="partitioning"/>, for more complete information
+ about the workings of and uses for partitioning in MySQL, as
+ well as additional examples of table creation and other
+ statements relating to MySQL partitioning.
+ </para>
- <para>
- By using <literal>DATA
- DIRECTORY='<replaceable>directory</replaceable>'</literal>
- or <literal>INDEX
- DIRECTORY='<replaceable>directory</replaceable>'</literal>
- you can specify where the <literal>MyISAM</literal> storage
- engine should put a table's data file and index file. The
- directory must be the full pathname to the directory, not a
- relative path.
- </para>
+ <itemizedlist>
- <para>
- These options work only when you are not using the
- <option>--skip-symbolic-links</option> option. Your
- operating system must also have a working, thread-safe
- <literal>realpath()</literal> call. See
- <xref linkend="symbolic-links-to-tables"/>, for more
- complete information.
- </para>
- </listitem>
-
<listitem>
<para>
- <replaceable>partition_options</replaceable> can be used to
- control partitioning of the table created with
- <literal>CREATE TABLE</literal>, and if used, must contain
- at a minimum a <literal>PARTITION BY</literal> clause. This
- clause contains the function that is used to determine the
- partition; the function returns an integer value ranging
- from 1 to <replaceable>num</replaceable>, where
- <replaceable>num</replaceable> is the number of partitions.
- The choices that are available for this function in MySQL
- ¤t-series; are shown in the following list.
+ <literal>HASH(<replaceable>expr</replaceable>)</literal>:
+ Hashes one or more columns to create a key for placing and
+ locating rows. <replaceable>expr</replaceable> is an
+ expression using one or more table columns. This can be any
+ legal MySQL expression (including MySQL functions) that
+ yields a single integer value. For example, these are all
+ valid <literal>CREATE TABLE</literal> statements using
+ <literal>PARTITION BY HASH</literal>:
</para>
- <para>
- <emphasis role="bold">Important</emphasis>: Not all options
- shown in the syntax for
- <replaceable>partition_options</replaceable> at the
- beginning of this section are available for all partitioning
- types. Please see the listings for the following individual
- types for information specific to each type, and see
- <xref linkend="partitioning"/>, for more complete
- information about the workings of and uses for partitioning
- in MySQL, as well as additional examples of table creation
- and other statements relating to MySQL partitioning.
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- <literal>HASH(<replaceable>expr</replaceable>)</literal>:
- Hashes one or more columns to create a key for placing
- and locating rows. <replaceable>expr</replaceable> is an
- expression using one or more table columns. This can be
- any legal MySQL expression (including MySQL functions)
- that yields a single integer value. For example, these
- are all valid <literal>CREATE TABLE</literal> statements
- using <literal>PARTITION BY HASH</literal>:
- </para>
-
<programlisting>
CREATE TABLE t1 (col1 INT, col2 CHAR(5))
PARTITION BY HASH(col1);
@@ -3084,40 +3086,40 @@
PARTITION BY HASH ( YEAR(col3) );
</programlisting>
- <para>
- You may not use either <literal>VALUES LESS
- THAN</literal> or <literal>VALUES IN</literal> clauses
- with <literal>PARTITION BY HASH</literal>.
- </para>
+ <para>
+ You may not use either <literal>VALUES LESS THAN</literal>
+ or <literal>VALUES IN</literal> clauses with
+ <literal>PARTITION BY HASH</literal>.
+ </para>
- <para>
- <literal>PARTITION BY HASH</literal> uses the remainder
- of <replaceable>expr</replaceable> divided by the number
- of partitions (that is, the modulus). For examples and
- additional information, see
- <xref linkend="partitioning-hash"/>.
- </para>
+ <para>
+ <literal>PARTITION BY HASH</literal> uses the remainder of
+ <replaceable>expr</replaceable> divided by the number of
+ partitions (that is, the modulus). For examples and
+ additional information, see
+ <xref linkend="partitioning-hash"/>.
+ </para>
- <para>
- The <literal>LINEAR</literal> keyword entails a somewhat
- different algorithm. In this case, the number of the
- partition in which a row is stored is calculated as the
- result of one or more logical <literal>AND</literal>
- operations. For discussion and examples of linear
- hashing, see <xref linkend="partitioning-linear-hash"/>.
- </para>
- </listitem>
+ <para>
+ The <literal>LINEAR</literal> keyword entails a somewhat
+ different algorithm. In this case, the number of the
+ partition in which a row is stored is calculated as the
+ result of one or more logical <literal>AND</literal>
+ operations. For discussion and examples of linear hashing,
+ see <xref linkend="partitioning-linear-hash"/>.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <literal>KEY(<replaceable>column_list</replaceable>)</literal>:
- This is similar to <literal>HASH</literal>, except that
- MySQL supplies the hashing function so as to guarantee
- an even data distribution. The
- <replaceable>column_list</replaceable> argument is
- simply a list of table columns. This example shows a
- simple table partitioned by key, with 4 partitions:
- </para>
+ <listitem>
+ <para>
+ <literal>KEY(<replaceable>column_list</replaceable>)</literal>:
+ This is similar to <literal>HASH</literal>, except that
+ MySQL supplies the hashing function so as to guarantee an
+ even data distribution. The
+ <replaceable>column_list</replaceable> argument is simply a
+ list of table columns. This example shows a simple table
+ partitioned by key, with 4 partitions:
+ </para>
<programlisting>
CREATE TABLE tk (col1 INT, col2 CHAR(5), col3 DATE)
@@ -3125,19 +3127,18 @@
PARTITIONS 4;
</programlisting>
- <para>
- For tables that are partitioned by key, you can employ
- linear partitioning by using the
- <literal>LINEAR</literal> keyword. This has the same
- effect as with tables that are partitioned by
- <literal>HASH</literal>. That is, the partition number
- is found using the <literal>&</literal> operator
- rather than the modulus (see
- <xref linkend="partitioning-linear-hash"/>, and
- <xref linkend="partitioning-key"/>, for details). This
- example uses linear partitioning by key to distribute
- data between 5 partitions:
- </para>
+ <para>
+ For tables that are partitioned by key, you can employ
+ linear partitioning by using the <literal>LINEAR</literal>
+ keyword. This has the same effect as with tables that are
+ partitioned by <literal>HASH</literal>. That is, the
+ partition number is found using the <literal>&</literal>
+ operator rather than the modulus (see
+ <xref linkend="partitioning-linear-hash"/>, and
+ <xref linkend="partitioning-key"/>, for details). This
+ example uses linear partitioning by key to distribute data
+ between 5 partitions:
+ </para>
<programlisting>
CREATE TABLE tk (col1 INT, col2 CHAR(5), col3 DATE)
@@ -3145,78 +3146,78 @@
PARTITIONS 5;
</programlisting>
- <para>
- You may not use either <literal>VALUES LESS
- THAN</literal> or <literal>VALUES IN</literal> clauses
- with <literal>PARTITION BY KEY</literal>.
- </para>
- </listitem>
+ <para>
+ You may not use either <literal>VALUES LESS THAN</literal>
+ or <literal>VALUES IN</literal> clauses with
+ <literal>PARTITION BY KEY</literal>.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <literal>RANGE</literal>: In this case,
- <replaceable>expr</replaceable> shows a range of values
- using a set of <literal>VALUES LESS THAN</literal>
- operators. When using range partitioning, you must
- define at least one partition using <literal>VALUES LESS
- THAN</literal>. You cannot use <literal>VALUES
- IN</literal> with range partitioning.
- </para>
+ <listitem>
+ <para>
+ <literal>RANGE</literal>: In this case,
+ <replaceable>expr</replaceable> shows a range of values
+ using a set of <literal>VALUES LESS THAN</literal>
+ operators. When using range partitioning, you must define at
+ least one partition using <literal>VALUES LESS
+ THAN</literal>. You cannot use <literal>VALUES IN</literal>
+ with range partitioning.
+ </para>
- <para>
- <literal>VALUES LESS THAN</literal> can be used with
- either a literal value or an expression that evaluates
- to a single value.
- </para>
+ <para>
+ <literal>VALUES LESS THAN</literal> can be used with either
+ a literal value or an expression that evaluates to a single
+ value.
+ </para>
- <para>
- Suppose that you have a table that you wish to partition
- on a column containing year values, according to the
- following scheme:
- </para>
+ <para>
+ Suppose that you have a table that you wish to partition on
+ a column containing year values, according to the following
+ scheme:
+ </para>
- <informaltable>
- <tgroup cols="2">
- <colspec colwidth="40*"/>
- <colspec colwidth="60*"/>
- <tbody>
- <row>
- <entry><emphasis role="bold">Partition Number</emphasis>:</entry>
- <entry><emphasis role="bold">Years Range</emphasis>:</entry>
- </row>
- <row>
- <entry>0</entry>
- <entry>1990 and earlier</entry>
- </row>
- <row>
- <entry>1</entry>
- <entry>1991 − 1994</entry>
- </row>
- <row>
- <entry>2</entry>
- <entry>1995 − 1998</entry>
- </row>
- <row>
- <entry>3</entry>
- <entry>1999 − 2002</entry>
- </row>
- <row>
- <entry>4</entry>
- <entry>2003 − 2005</entry>
- </row>
- <row>
- <entry>5</entry>
- <entry>2006 and later</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
+ <informaltable>
+ <tgroup cols="2">
+ <colspec colwidth="40*"/>
+ <colspec colwidth="60*"/>
+ <tbody>
+ <row>
+ <entry><emphasis role="bold">Partition Number</emphasis>:</entry>
+ <entry><emphasis role="bold">Years Range</emphasis>:</entry>
+ </row>
+ <row>
+ <entry>0</entry>
+ <entry>1990 and earlier</entry>
+ </row>
+ <row>
+ <entry>1</entry>
+ <entry>1991 − 1994</entry>
+ </row>
+ <row>
+ <entry>2</entry>
+ <entry>1995 − 1998</entry>
+ </row>
+ <row>
+ <entry>3</entry>
+ <entry>1999 − 2002</entry>
+ </row>
+ <row>
+ <entry>4</entry>
+ <entry>2003 − 2005</entry>
+ </row>
+ <row>
+ <entry>5</entry>
+ <entry>2006 and later</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
- <para>
- A table implementing such a partitioning scheme can be
- realized by the <literal>CREATE TABLE</literal>
- statement shown here:
- </para>
+ <para>
+ A table implementing such a partitioning scheme can be
+ realized by the <literal>CREATE TABLE</literal> statement
+ shown here:
+ </para>
<programlisting>
CREATE TABLE t1 (
@@ -3233,47 +3234,47 @@
);
</programlisting>
- <para>
- <literal>PARTITION ... VALUES LESS THAN ...</literal>
- statements work in a consecutive fashion.
- <literal>VALUES LESS THAN MAXVALUE</literal> works to
- specify <quote>leftover</quote> values that are greater
- than the maximum value otherwise specified.
- </para>
+ <para>
+ <literal>PARTITION ... VALUES LESS THAN ...</literal>
+ statements work in a consecutive fashion. <literal>VALUES
+ LESS THAN MAXVALUE</literal> works to specify
+ <quote>leftover</quote> values that are greater than the
+ maximum value otherwise specified.
+ </para>
- <para>
- Note that <literal>VALUES LESS THAN</literal> clauses
- work sequentially in a manner similar to that of the
- <literal>case</literal> portions of a <literal>switch
- ... case</literal> block (as found in many programming
- languages such as C, Java, and PHP). That is, the
- clauses must be arranged in such a way that the upper
- limit specified in each successive <literal>VALUES LESS
- THAN</literal> is greater than that of the previous one,
- with the one referencing <literal>MAXVALUE</literal>
- coming last of all in the list.
- </para>
- </listitem>
+ <para>
+ Note that <literal>VALUES LESS THAN</literal> clauses work
+ sequentially in a manner similar to that of the
+ <literal>case</literal> portions of a <literal>switch ...
+ case</literal> block (as found in many programming languages
+ such as C, Java, and PHP). That is, the clauses must be
+ arranged in such a way that the upper limit specified in
+ each successive <literal>VALUES LESS THAN</literal> is
+ greater than that of the previous one, with the one
+ referencing <literal>MAXVALUE</literal> coming last of all
+ in the list.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <literal>LIST(<replaceable>expr</replaceable>)</literal>:
- This is useful when assigning partitions based on a
- table column with a restricted set of possible values,
- such as a state or country code. In such a case, all
- rows pertaining to a certain state or country can be
- assigned to a single partition, or a partition can be
- reserved for a certain set of states or countries. It is
- similar to <literal>RANGE</literal>, except that only
- <literal>VALUES IN</literal> may be used to specify
- allowable values for each partition.
- </para>
+ <listitem>
+ <para>
+ <literal>LIST(<replaceable>expr</replaceable>)</literal>:
+ This is useful when assigning partitions based on a table
+ column with a restricted set of possible values, such as a
+ state or country code. In such a case, all rows pertaining
+ to a certain state or country can be assigned to a single
+ partition, or a partition can be reserved for a certain set
+ of states or countries. It is similar to
+ <literal>RANGE</literal>, except that only <literal>VALUES
+ IN</literal> may be used to specify allowable values for
+ each partition.
+ </para>
- <para>
- <literal>VALUES IN</literal> is used with a list of
- values to be matched. For instance, you could create a
- partitioning scheme such as the following:
- </para>
+ <para>
+ <literal>VALUES IN</literal> is used with a list of values
+ to be matched. For instance, you could create a partitioning
+ scheme such as the following:
+ </para>
<programlisting>
CREATE TABLE client_firms (
@@ -3288,118 +3289,116 @@
);
</programlisting>
- <para>
- When using list partitioning, you must define at least
- one partition using <literal>VALUES IN</literal>. You
- cannot use <literal>VALUES LESS THAN</literal> with
- <literal>PARTITION BY LIST</literal>.
- </para>
+ <para>
+ When using list partitioning, you must define at least one
+ partition using <literal>VALUES IN</literal>. You cannot use
+ <literal>VALUES LESS THAN</literal> with <literal>PARTITION
+ BY LIST</literal>.
+ </para>
- <para>
- <emphasis role="bold">Note</emphasis>: Currently, the
- value list used with <literal>VALUES IN</literal> must
- consist of integer values only.
- </para>
- </listitem>
+ <para>
+ <emphasis role="bold">Note</emphasis>: Currently, the value
+ list used with <literal>VALUES IN</literal> must consist of
+ integer values only.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The number of partitions may optionally be specified
- with a <literal>PARTITIONS
- <replaceable>num</replaceable></literal> clause, where
- <replaceable>num</replaceable> is the number of
- partitions. If both this clause <emphasis>and</emphasis>
- any <literal>PARTITION</literal> clauses are used,
- <replaceable>num</replaceable> must be equal to the
- total number of any partitions that are declared using
- <literal>PARTITION</literal> clauses.
- </para>
+ <listitem>
+ <para>
+ The number of partitions may optionally be specified with a
+ <literal>PARTITIONS <replaceable>num</replaceable></literal>
+ clause, where <replaceable>num</replaceable> is the number
+ of partitions. If both this clause <emphasis>and</emphasis>
+ any <literal>PARTITION</literal> clauses are used,
+ <replaceable>num</replaceable> must be equal to the total
+ number of any partitions that are declared using
+ <literal>PARTITION</literal> clauses.
+ </para>
- <para>
- <emphasis role="bold">Note</emphasis>: Whether or not
- you use a <literal>PARTITIONS</literal> clause in
- creating a table that is partitioned by
- <literal>RANGE</literal> or <literal>LIST</literal>, you
- must still include at least one <literal>PARTITION
- VALUES</literal> clause in the table definition (see
- below).
- </para>
- </listitem>
+ <para>
+ <emphasis role="bold">Note</emphasis>: Whether or not you
+ use a <literal>PARTITIONS</literal> clause in creating a
+ table that is partitioned by <literal>RANGE</literal> or
+ <literal>LIST</literal>, you must still include at least one
+ <literal>PARTITION VALUES</literal> clause in the table
+ definition (see below).
+ </para>
+ </listitem>
- <listitem>
- <para>
- A partition may optionally be divided into a number of
- subpartitions. This can be indicated by using the
- optional <literal>SUBPARTITION BY</literal> clause.
- Subpartitioning may be done by <literal>HASH</literal>
- or <literal>KEY</literal>. Either of these may be
- <literal>LINEAR</literal>. These work in the same way as
- previously described for the equivalent partitioning
- types. (It is not possible to subpartition by
- <literal>LIST</literal> or <literal>RANGE</literal>.)
- </para>
+ <listitem>
+ <para>
+ A partition may optionally be divided into a number of
+ subpartitions. This can be indicated by using the optional
+ <literal>SUBPARTITION BY</literal> clause. Subpartitioning
+ may be done by <literal>HASH</literal> or
+ <literal>KEY</literal>. Either of these may be
+ <literal>LINEAR</literal>. These work in the same way as
+ previously described for the equivalent partitioning types.
+ (It is not possible to subpartition by
+ <literal>LIST</literal> or <literal>RANGE</literal>.)
+ </para>
- <para>
- The number of subpartitions can be indicated using the
- <literal>SUBPARTITIONS</literal> keyword followed by an
- integer value.
- </para>
- </listitem>
-
- </itemizedlist>
-
<para>
- Each partition may be individually defined using a
- <replaceable>partition_definition</replaceable> clause. The
- individual parts making up this clause are as follows:
+ The number of subpartitions can be indicated using the
+ <literal>SUBPARTITIONS</literal> keyword followed by an
+ integer value.
</para>
+ </listitem>
- <itemizedlist>
+ </itemizedlist>
- <listitem>
- <para>
- <literal>PARTITION
- <replaceable>partition_name</replaceable></literal>:
- This specifies a logical name for the partition.
- </para>
- </listitem>
+ <para>
+ Each partition may be individually defined using a
+ <replaceable>partition_definition</replaceable> clause. The
+ individual parts making up this clause are as follows:
+ </para>
- <listitem>
- <para>
- A <literal>VALUES</literal> clause: For range
- partitioning, each partition must include a
- <literal>VALUES LESS THAN</literal> clause; for list
- partitioning, you must specify a <literal>VALUES
- IN</literal> clause for each partition. This is used to
- determine which rows are to be stored in this partition.
- See the discussions of partitioning types in
- <xref linkend="partitioning"/>, for syntax examples.
- </para>
- </listitem>
+ <itemizedlist>
- <listitem>
- <para>
- An optional <literal>COMMENT</literal> clause may be
- used to describe the partition. The comment must be set
- off in single quotes. Example:
- </para>
+ <listitem>
+ <para>
+ <literal>PARTITION
+ <replaceable>partition_name</replaceable></literal>: This
+ specifies a logical name for the partition.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ A <literal>VALUES</literal> clause: For range partitioning,
+ each partition must include a <literal>VALUES LESS
+ THAN</literal> clause; for list partitioning, you must
+ specify a <literal>VALUES IN</literal> clause for each
+ partition. This is used to determine which rows are to be
+ stored in this partition. See the discussions of
+ partitioning types in <xref linkend="partitioning"/>, for
+ syntax examples.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ An optional <literal>COMMENT</literal> clause may be used to
+ describe the partition. The comment must be set off in
+ single quotes. Example:
+ </para>
+
<programlisting>
COMMENT = 'Data for the years previous to 1999'
</programlisting>
- </listitem>
+ </listitem>
- <listitem>
- <para>
- <literal>DATA DIRECTORY</literal> and <literal>INDEX
- DIRECTORY</literal> may be used to indicate the
- directory where, respectively, the data and indexes for
- this partition are to be stored. Both the
- <filename><replaceable>data_dir</replaceable></filename>
- and the
- <filename><replaceable>index_dir</replaceable></filename>
- must be absolute system pathnames. Example:
- </para>
+ <listitem>
+ <para>
+ <literal>DATA DIRECTORY</literal> and <literal>INDEX
+ DIRECTORY</literal> may be used to indicate the directory
+ where, respectively, the data and indexes for this partition
+ are to be stored. Both the
+ <filename><replaceable>data_dir</replaceable></filename> and
+ the
+ <filename><replaceable>index_dir</replaceable></filename>
+ must be absolute system pathnames. Example:
+ </para>
<programlisting>
CREATE TABLE th (id INT, name VARCHAR(30), adate DATE)
@@ -3420,125 +3419,118 @@
);
</programlisting>
- <para>
- <literal>DATA DIRECTORY</literal> and <literal>INDEX
- DIRECTORY</literal> behave in the same way as in the
- <literal>CREATE TABLE</literal> statement's
- <replaceable>table_option</replaceable> clause as used
- for <literal>MyISAM</literal> tables.
- </para>
+ <para>
+ <literal>DATA DIRECTORY</literal> and <literal>INDEX
+ DIRECTORY</literal> behave in the same way as in the
+ <literal>CREATE TABLE</literal> statement's
+ <replaceable>table_option</replaceable> clause as used for
+ <literal>MyISAM</literal> tables.
+ </para>
- <para>
- One data directory and one index directory may be
- specified per partition. If left unspecified, the data
- and indexes are stored by default in the MySQL data
- directory.
- </para>
- </listitem>
+ <para>
+ One data directory and one index directory may be specified
+ per partition. If left unspecified, the data and indexes are
+ stored by default in the MySQL data directory.
+ </para>
+ </listitem>
- <listitem>
- <para>
- <literal>MAX_ROWS</literal> and
- <literal>MIN_ROWS</literal> may be used to specify,
- respectively, the maximum and minimum number of rows to
- be stored in the partition. The values for
- <replaceable>max_number_of_rows</replaceable> and
- <replaceable>min_number_of_rows</replaceable> must be
- positive integers. As with the table-level options with
- the same names, these act only as
- <quote>suggestions</quote> to the server and are not
- hard limits.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ <literal>MAX_ROWS</literal> and <literal>MIN_ROWS</literal>
+ may be used to specify, respectively, the maximum and
+ minimum number of rows to be stored in the partition. The
+ values for <replaceable>max_number_of_rows</replaceable> and
+ <replaceable>min_number_of_rows</replaceable> must be
+ positive integers. As with the table-level options with the
+ same names, these act only as <quote>suggestions</quote> to
+ the server and are not hard limits.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The optional <literal>TABLESPACE</literal> clause may be
- used to designate a tablespace for the partition. Used
- for MySQL Cluster only.
- </para>
+ <listitem>
+ <para>
+ The optional <literal>TABLESPACE</literal> clause may be
+ used to designate a tablespace for the partition. Used for
+ MySQL Cluster only.
+ </para>
- <remark role="note">
- [js] Next item commented out until actually implemented.
- </remark>
- </listitem>
+ <remark role="note">
+ [js] Next item commented out until actually implemented.
+ </remark>
+ </listitem>
- <listitem>
- <para>
- The optional <literal>[STORAGE] ENGINE</literal> clause
- causes the tables in this partition to use the storage
- engine specified, which may be any engine supported by
- this MySQL server. Both the <literal>STORAGE</literal>
- keyword and the equals sign (<literal>=</literal>) are
- optional. If no partition-specific storage engine is set
- using this option, the engine applying to the table as a
- whole is used for this partition.
- </para>
+ <listitem>
+ <para>
+ The optional <literal>[STORAGE] ENGINE</literal> clause
+ causes the tables in this partition to use the storage
+ engine specified, which may be any engine supported by this
+ MySQL server. Both the <literal>STORAGE</literal> keyword
+ and the equals sign (<literal>=</literal>) are optional. If
+ no partition-specific storage engine is set using this
+ option, the engine applying to the table as a whole is used
+ for this partition.
+ </para>
- <para>
- <emphasis role="bold">Note</emphasis>: The partitioning
- handler accepts a <literal>[STORAGE] ENGINE</literal>
- option for both <literal>PARTITION</literal> and
- <literal>SUBPARTITION</literal>. Currently, the only way
- in which this can be used is to set all partitions or
- all subpartitions to the same storage engine, and an
- attempt to set different storage engines for partitions
- or subpartitions in the same table will give rise to the
- error <literal>ERROR 1469 (HY000): The mix of handlers
- in the partitions is not allowed in this version of
- MySQL</literal>. We expect to lift this restriction on
- partitioning in a future MySQL ¤t-series; release.
- </para>
- </listitem>
+ <para>
+ <emphasis role="bold">Note</emphasis>: The partitioning
+ handler accepts a <literal>[STORAGE] ENGINE</literal> option
+ for both <literal>PARTITION</literal> and
+ <literal>SUBPARTITION</literal>. Currently, the only way in
+ which this can be used is to set all partitions or all
+ subpartitions to the same storage engine, and an attempt to
+ set different storage engines for partitions or
+ subpartitions in the same table will give rise to the error
+ <literal>ERROR 1469 (HY000): The mix of handlers in the
+ partitions is not allowed in this version of
+ MySQL</literal>. We expect to lift this restriction on
+ partitioning in a future MySQL ¤t-series; release.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The <literal>NODEGROUP</literal> option can be used to
- make this partition act as part of the node group
- identified by <replaceable>node_group_id</replaceable>.
- This option is applicable only to MySQL Cluster.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ The <literal>NODEGROUP</literal> option can be used to make
+ this partition act as part of the node group identified by
+ <replaceable>node_group_id</replaceable>. This option is
+ applicable only to MySQL Cluster.
+ </para>
+ </listitem>
- <listitem>
- <para>
- The partition definition may optionally contain one or
- more <replaceable>subpartition_definition</replaceable>
- clauses. Each of these consists at a minimum of the
- <literal>SUBPARTITION
- <replaceable>name</replaceable></literal>, where
- <replaceable>name</replaceable> is an identifier for the
- subpartition. Except for the replacement of the
- <literal>PARTITION</literal> keyword with
- <literal>SUBPARTITION</literal>, the syntax for a
- subpartition definition is identical to that for a
- partition definition.
- </para>
+ <listitem>
+ <para>
+ The partition definition may optionally contain one or more
+ <replaceable>subpartition_definition</replaceable> clauses.
+ Each of these consists at a minimum of the
+ <literal>SUBPARTITION
+ <replaceable>name</replaceable></literal>, where
+ <replaceable>name</replaceable> is an identifier for the
+ subpartition. Except for the replacement of the
+ <literal>PARTITION</literal> keyword with
+ <literal>SUBPARTITION</literal>, the syntax for a
+ subpartition definition is identical to that for a partition
+ definition.
+ </para>
- <para>
- Subpartitioning must be done by <literal>HASH</literal>
- or <literal>KEY</literal>, and can be done only on
- <literal>RANGE</literal> or <literal>LIST</literal>
- partitions. See
- <xref
- linkend="partitioning-subpartitions"/>.
- </para>
- </listitem>
-
- </itemizedlist>
-
<para>
- Partitions can be modified, merged, added to tables, and
- dropped from tables. For basic information about the MySQL
- statements to accomplish these tasks, see
- <xref linkend="alter-table"/>. For more detailed
- descriptions and examples, see
- <xref linkend="partitioning-management"/>.
+ Subpartitioning must be done by <literal>HASH</literal> or
+ <literal>KEY</literal>, and can be done only on
+ <literal>RANGE</literal> or <literal>LIST</literal>
+ partitions. See
+ <xref
+ linkend="partitioning-subpartitions"/>.
</para>
</listitem>
</itemizedlist>
+ <para>
+ Partitions can be modified, merged, added to tables, and dropped
+ from tables. For basic information about the MySQL statements to
+ accomplish these tasks, see <xref linkend="alter-table"/>. For
+ more detailed descriptions and examples, see
+ <xref linkend="partitioning-management"/>.
+ </para>
+
<indexterm>
<primary>copying tables</primary>
</indexterm>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r2124 - in trunk: . refman-4.1 refman-5.0 refman-5.1 | paul | 18 May |