List:Commits« Previous MessageNext Message »
From:paul.dubois Date:December 12 2008 1:52am
Subject:svn commit - mysqldoc@docsrva: r12930 - in trunk: . dynamic-docs/changelog refman-4.1 refman-5.0 refman-5.1 refman-6.0
View as plain text  
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.0paul.dubois12 Dec