Author: paul
Date: 2008-12-12 02:52:20 +0100 (Fri, 12 Dec 2008)
New Revision: 12930
Log:
r36808@frost: paul | 2008-12-11 19:45:39 -0500
Document bugfixes:
Bug#38842: Fix for 25951 seems incorrect
This bugfix improves support for FULLTEXT search index hints.
Also updated index-hints section.
Modified:
trunk/dynamic-docs/changelog/mysqld-1.xml
trunk/refman-4.1/functions-core.xml
trunk/refman-5.0/functions-core.xml
trunk/refman-5.0/sql-syntax-data-manipulation.xml
trunk/refman-5.1/functions-core.xml
trunk/refman-5.1/sql-syntax-data-manipulation.xml
trunk/refman-6.0/functions-core.xml
trunk/refman-6.0/sql-syntax-data-manipulation.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:39854
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:36805
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:35212
+ 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:39854
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:36808
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:35212
Modified: trunk/dynamic-docs/changelog/mysqld-1.xml
===================================================================
--- trunk/dynamic-docs/changelog/mysqld-1.xml 2008-12-12 00:15:11 UTC (rev 12929)
+++ trunk/dynamic-docs/changelog/mysqld-1.xml 2008-12-12 01:52:20 UTC (rev 12930)
Changed blocks: 1, Lines Added: 64, Lines Deleted: 0; 2166 bytes
@@ -36436,4 +36436,68 @@
</logentry>
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="FULLTEXT"/>
+ <manual type="index hints"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="38842"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.74"/>
+ <version ver="5.1.31"/>
+ <version ver="6.0.9"/>
+ </versions>
+
+ <message ver="5.0.74">
+
+ <para>
+ Previously, index hints did not work for
+ <literal>FULLTEXT</literal> searches. Now they work as follows:
+ </para>
+
+ <para>
+ For natural language mode searches, index hints are silently
+ ignored. For example, <literal>IGNORE INDEX(i)</literal> is
+ ignored with no warning and the index is still used.
+ </para>
+
+ <para>
+ For boolean mode searches, index hints are honored.
+ </para>
+
+ </message>
+
+ <message ver="5.1.31,6.0.9">
+
+ <para>
+ Previously, index hints did not work for
+ <literal>FULLTEXT</literal> searches. Now they work as follows:
+ </para>
+
+ <para>
+ For natural language mode searches, index hints are silently
+ ignored. For example, <literal>IGNORE INDEX(i)</literal> is
+ ignored with no warning and the index is still used.
+ </para>
+
+ <para>
+ For boolean mode searches, index hints with <literal>FOR ORDER
+ BY</literal> or <literal>FOR GROUP BY</literal> are silently
+ ignored. Index hints with <literal>FOR JOIN</literal> or no
+ <literal>FOR</literal> modifier are honored. In contrast to how
+ hints apply for non-<literal>FULLTEXT</literal> searches, the
+ hint is used for all phases of query execution (finding rows and
+ retrieval, grouping, and ordering). This is true even if the
+ hint is given for a non-<literal>FULLTEXT</literal> index.
+ </para>
+
+ </message>
+
+ </logentry>
+
</changelog>
Modified: trunk/refman-4.1/functions-core.xml
===================================================================
--- trunk/refman-4.1/functions-core.xml 2008-12-12 00:15:11 UTC (rev 12929)
+++ trunk/refman-4.1/functions-core.xml 2008-12-12 01:52:20 UTC (rev 12930)
Changed blocks: 1, Lines Added: 7, Lines Deleted: 0; 528 bytes
@@ -12386,6 +12386,13 @@
</para>
</listitem>
+ <listitem>
+ <para>
+ Index hints do not work for <literal>FULLTEXT</literal>
+ searches.
+ </para>
+ </listitem>
+
</itemizedlist>
</section>
Modified: trunk/refman-5.0/functions-core.xml
===================================================================
--- trunk/refman-5.0/functions-core.xml 2008-12-12 00:15:11 UTC (rev 12929)
+++ trunk/refman-5.0/functions-core.xml 2008-12-12 01:52:20 UTC (rev 12930)
Changed blocks: 1, Lines Added: 8, Lines Deleted: 0; 630 bytes
@@ -12695,6 +12695,14 @@
</para>
</listitem>
+ <listitem>
+ <para>
+ Index hints are more limited for <literal>FULLTEXT</literal>
+ searches than for non-<literal>FULLTEXT</literal> searches.
+ See <xref linkend="index-hints"/>.
+ </para>
+ </listitem>
+
</itemizedlist>
</section>
Modified: trunk/refman-5.0/sql-syntax-data-manipulation.xml
===================================================================
--- trunk/refman-5.0/sql-syntax-data-manipulation.xml 2008-12-12 00:15:11 UTC (rev 12929)
+++ trunk/refman-5.0/sql-syntax-data-manipulation.xml 2008-12-12 01:52:20 UTC (rev 12930)
Changed blocks: 2, Lines Added: 22, Lines Deleted: 4; 1404 bytes
@@ -5577,10 +5577,6 @@
</para>
<para>
- Index hints do not work for <literal>FULLTEXT</literal> indexes.
- </para>
-
- <para>
<literal>USE INDEX</literal>, <literal>IGNORE INDEX</literal>,
and <literal>FORCE INDEX</literal> affect only which indexes are
used when MySQL decides how to find rows in the table and how to
@@ -5603,6 +5599,28 @@
WHERE col1=1 AND col2=2 AND col3=3;
</programlisting>
+ <para>
+ For <literal>FULLTEXT</literal> searches, index hints do not
+ work before MySQL 5.0.74. As of 5.0.74, index hints work as
+ follows:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ For natural language mode searches, index hints are silently
+ ignored. For example, <literal>IGNORE INDEX(i)</literal> is
+ ignored with no warning and the index is still used.
+ </para>
+
+ <para>
+ For boolean mode searches, index hints are honored.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
</section>
<section id="union">
Modified: trunk/refman-5.1/functions-core.xml
===================================================================
--- trunk/refman-5.1/functions-core.xml 2008-12-12 00:15:11 UTC (rev 12929)
+++ trunk/refman-5.1/functions-core.xml 2008-12-12 01:52:20 UTC (rev 12930)
Changed blocks: 1, Lines Added: 8, Lines Deleted: 0; 630 bytes
@@ -12672,6 +12672,14 @@
</para>
</listitem>
+ <listitem>
+ <para>
+ Index hints are more limited for <literal>FULLTEXT</literal>
+ searches than for non-<literal>FULLTEXT</literal> searches.
+ See <xref linkend="index-hints"/>.
+ </para>
+ </listitem>
+
</itemizedlist>
</section>
Modified: trunk/refman-5.1/sql-syntax-data-manipulation.xml
===================================================================
--- trunk/refman-5.1/sql-syntax-data-manipulation.xml 2008-12-12 00:15:11 UTC (rev 12929)
+++ trunk/refman-5.1/sql-syntax-data-manipulation.xml 2008-12-12 01:52:20 UTC (rev 12930)
Changed blocks: 2, Lines Added: 48, Lines Deleted: 11; 2827 bytes
@@ -5636,10 +5636,6 @@
</para>
<para>
- Index hints do not work for <literal>FULLTEXT</literal> indexes.
- </para>
-
- <para>
Prior to MySQL 5.1.17, <literal>USE INDEX</literal>,
<literal>IGNORE INDEX</literal>, and <literal>FORCE
INDEX</literal> affect only which indexes are used when MySQL
@@ -5801,24 +5797,65 @@
<listitem>
<para>
<literal>IGNORE INDEX</literal> is applied over the result
- of the previous step. For example:
+ of the previous step. For example, the following two queries
+ are equivalent:
</para>
<programlisting>
-SELECT * FROM t1 USE INDEX (i1) IGNORE INDEX (i2) USE INDEX (i2)
+SELECT * FROM t1 USE INDEX (i1) IGNORE INDEX (i2) USE INDEX (i2);
+
+SELECT * FROM t1 USE INDEX (i1);
</programlisting>
+ </listitem>
+ </orderedlist>
+
+ <para>
+ For <literal>FULLTEXT</literal> searches, index hints do not
+ work before MySQL 5.1.31. As of 5.1.31, index hints work as
+ follows:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
<para>
- is equivalent to:
+ For natural language mode searches, index hints are silently
+ ignored. For example, <literal>IGNORE INDEX(i)</literal> is
+ ignored with no warning and the index is still used.
</para>
+ <para>
+ For boolean mode searches, index hints with <literal>FOR
+ ORDER BY</literal> or <literal>FOR GROUP BY</literal> are
+ silently ignored. Index hints with <literal>FOR
+ JOIN</literal> or no <literal>FOR</literal> modifier are
+ honored. In contrast to how hints apply for
+ non-<literal>FULLTEXT</literal> searches, the hint is used
+ for all phases of query execution (finding rows and
+ retrieval, grouping, and ordering). This is true even if the
+ hint is given for a non-<literal>FULLTEXT</literal> index.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ For example, the following two queries are equivalent:
+ </para>
+
<programlisting>
-SELECT * FROM t1 USE INDEX (i1).
+SELECT * FROM t
+ USE INDEX (index1)
+ IGNORE INDEX (index1) FOR ORDER BY
+ IGNORE INDEX (index1) FOR GROUP BY
+ WHERE ... IN BOOLEAN MODE ... ;
+
+SELECT * FROM t
+ USE INDEX (index1)
+ WHERE ... IN BOOLEAN MODE ... ;
</programlisting>
- </listitem>
- </orderedlist>
-
</section>
<section id="union">
Modified: trunk/refman-6.0/functions-core.xml
===================================================================
--- trunk/refman-6.0/functions-core.xml 2008-12-12 00:15:11 UTC (rev 12929)
+++ trunk/refman-6.0/functions-core.xml 2008-12-12 01:52:20 UTC (rev 12930)
Changed blocks: 1, Lines Added: 8, Lines Deleted: 0; 630 bytes
@@ -13102,6 +13102,14 @@
</para>
</listitem>
+ <listitem>
+ <para>
+ Index hints are more limited for <literal>FULLTEXT</literal>
+ searches than for non-<literal>FULLTEXT</literal> searches.
+ See <xref linkend="index-hints"/>.
+ </para>
+ </listitem>
+
</itemizedlist>
</section>
Modified: trunk/refman-6.0/sql-syntax-data-manipulation.xml
===================================================================
--- trunk/refman-6.0/sql-syntax-data-manipulation.xml 2008-12-12 00:15:11 UTC (rev 12929)
+++ trunk/refman-6.0/sql-syntax-data-manipulation.xml 2008-12-12 01:52:20 UTC (rev 12930)
Changed blocks: 2, Lines Added: 48, Lines Deleted: 11; 2667 bytes
@@ -6243,10 +6243,6 @@
</para>
<para>
- Index hints do not work for <literal>FULLTEXT</literal> indexes.
- </para>
-
- <para>
Examples:
</para>
@@ -6393,24 +6389,65 @@
<listitem>
<para>
<literal>IGNORE INDEX</literal> is applied over the result
- of the previous step. For example:
+ of the previous step. For example, the following two queries
+ are equivalent:
</para>
<programlisting>
-SELECT * FROM t1 USE INDEX (i1) IGNORE INDEX (i2) USE INDEX (i2)
+SELECT * FROM t1 USE INDEX (i1) IGNORE INDEX (i2) USE INDEX (i2);
+
+SELECT * FROM t1 USE INDEX (i1);
</programlisting>
+ </listitem>
+ </orderedlist>
+
+ <para>
+ For <literal>FULLTEXT</literal> searches, index hints do not
+ work before MySQL 6.0.9. As of 6.0.9, index hints work as
+ follows:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
<para>
- is equivalent to:
+ For natural language mode searches, index hints are silently
+ ignored. For example, <literal>IGNORE INDEX(i)</literal> is
+ ignored with no warning and the index is still used.
</para>
+ <para>
+ For boolean mode searches, index hints with <literal>FOR
+ ORDER BY</literal> or <literal>FOR GROUP BY</literal> are
+ silently ignored. Index hints with <literal>FOR
+ JOIN</literal> or no <literal>FOR</literal> modifier are
+ honored. In contrast to how hints apply for
+ non-<literal>FULLTEXT</literal> searches, the hint is used
+ for all phases of query execution (finding rows and
+ retrieval, grouping, and ordering). This is true even if the
+ hint is given for a non-<literal>FULLTEXT</literal> index.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ For example, the following two queries are equivalent:
+ </para>
+
<programlisting>
-SELECT * FROM t1 USE INDEX (i1).
+SELECT * FROM t
+ USE INDEX (index1)
+ IGNORE INDEX (index1) FOR ORDER BY
+ IGNORE INDEX (index1) FOR GROUP BY
+ WHERE ... IN BOOLEAN MODE ... ;
+
+SELECT * FROM t
+ USE INDEX (index1)
+ WHERE ... IN BOOLEAN MODE ... ;
</programlisting>
- </listitem>
- </orderedlist>
-
</section>
<section id="union">
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r12930 - in trunk: . dynamic-docs/changelog refman-4.1 refman-5.0 refman-5.1 refman-6.0 | paul.dubois | 12 Dec |