Author: paul
Date: 2007-05-11 21:36:20 +0200 (Fri, 11 May 2007)
New Revision: 6430
Log:
r24880@polar: paul | 2007-05-11 14:33:38 -0500
Document bugfixes:
Bug#27348
Bug#27531
Updated description of ANSI mode with new effect in 5.0.40/5.1.18.
Removed a couple of unnecessary version numbers.
Modified:
trunk/refman-4.1/news-4.1.xml
trunk/refman-5.0/dba-core.xml
trunk/refman-5.0/introduction.xml
trunk/refman-5.0/releasenotes-cs-5.0.xml
trunk/refman-5.0/releasenotes-es-5.0.xml
trunk/refman-5.1/dba-core.xml
trunk/refman-5.1/introduction.xml
trunk/refman-5.1/news-5.1.xml
trunk/refman-5.1/optimization.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:24863
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:20299
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:17229
+ 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:24880
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:20299
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:17229
Modified: trunk/refman-4.1/news-4.1.xml
===================================================================
--- trunk/refman-4.1/news-4.1.xml 2007-05-11 19:35:54 UTC (rev 6429)
+++ trunk/refman-4.1/news-4.1.xml 2007-05-11 19:36:20 UTC (rev 6430)
Changed blocks: 1, Lines Added: 12, Lines Deleted: 0; 946 bytes
@@ -304,6 +304,18 @@
<listitem>
<para>
+ The fix for Bug #17212 provided correct sort order for
+ misordered output of certain queries, but caused significant
+ overall query performance degradation. (Results were correct
+ (good), but returned much more slowly (bad).) The fix also
+ affected performance of queries for which results were
+ correct. The performance degradation has been addressed. (Bug
+ #27531)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
Using <literal>CAST()</literal> to convert
<literal>DATETIME</literal> values to numeric values did not
work. (Bug #23656)
Modified: trunk/refman-5.0/dba-core.xml
===================================================================
--- trunk/refman-5.0/dba-core.xml 2007-05-11 19:35:54 UTC (rev 6429)
+++ trunk/refman-5.0/dba-core.xml 2007-05-11 19:36:20 UTC (rev 6430)
Changed blocks: 1, Lines Added: 32, Lines Deleted: 2; 2055 bytes
@@ -11293,9 +11293,39 @@
<literal>ANSI_QUOTES</literal>,
<literal>IGNORE_SPACE</literal>. Before MySQL 5.0.3,
<literal>ANSI</literal> also includes
- <literal>ONLY_FULL_GROUP_BY</literal>. See
- <xref linkend="ansi-mode"/>.
+ <literal>ONLY_FULL_GROUP_BY</literal>.
</para>
+
+ <para>
+ As of MySQL 5.0.40, <literal>ANSI</literal> mode also
+ causes the server to return an error for queries where a
+ set function <replaceable>S</replaceable> with an outer
+ reference
+ <literal><replaceable>S</replaceable>(<replaceable>outer_ref</replaceable>)</literal>
+ cannot be aggregated in the outer query against which the
+ outer reference has been resolved. This is such a query:
+ </para>
+
+<programlisting>
+SELECT * FROM t1 WHERE t1.a IN (SELECT MAX(t1.b) FROM t2 WHERE ...);
+</programlisting>
+
+ <para>
+ Here, <literal>MAX(t1.b)</literal> cannot aggregated in
+ the outer query because it appears in the
+ <literal>WHERE</literal> clause of that query. Standard
+ SQL requires an error in this situation. If
+ <literal>ANSI</literal> mode is not enabled, the server
+ treats
+ <literal><replaceable>S</replaceable>(<replaceable>outer_ref</replaceable>)</literal>
+ in such queries the same way that it would interpret
+ <literal><replaceable>S</replaceable>(<replaceable>const</replaceable>)</literal>,
+ as was always done prior to 5.0.40.
+ </para>
+
+ <para>
+ See <xref linkend="ansi-mode"/>.
+ </para>
</listitem>
<listitem>
Modified: trunk/refman-5.0/introduction.xml
===================================================================
--- trunk/refman-5.0/introduction.xml 2007-05-11 19:35:54 UTC (rev 6429)
+++ trunk/refman-5.0/introduction.xml 2007-05-11 19:36:20 UTC (rev 6430)
Changed blocks: 3, Lines Added: 7, Lines Deleted: 7; 1704 bytes
@@ -870,9 +870,9 @@
You can set the default SQL mode by starting
<command>mysqld</command> with the
<option>--sql-mode="<replaceable>mode_value</replaceable>"</option>
- option. Beginning with MySQL 4.1, you can also change the mode
- at runtime by setting the <literal>sql_mode</literal> system
- variable with a <literal>SET [SESSION|GLOBAL]
+ option. You can also change the mode at runtime by setting the
+ <literal>sql_mode</literal> system variable with a <literal>SET
+ [SESSION|GLOBAL]
sql_mode='<replaceable>mode_value</replaceable>'</literal>
statement.
</para>
@@ -910,8 +910,8 @@
</programlisting>
<para>
- As of MySQL 4.1.1, you can achieve the same effect at runtime by
- executing these two statements:
+ You can achieve the same effect at runtime by executing these
+ two statements:
</para>
<programlisting>
@@ -2572,8 +2572,8 @@
<para>
You can get information about the number of rows actually
inserted or updated with the <literal>mysql_info()</literal> C
- API function. In MySQL 4.1 and up, you also can use the
- <literal>SHOW WARNINGS</literal> statement. See
+ API function. You can also use the <literal>SHOW
+ WARNINGS</literal> statement. See
<xref linkend="mysql-info"/>, and
<xref linkend="show-warnings"/>.
</para>
Modified: trunk/refman-5.0/releasenotes-cs-5.0.xml
===================================================================
--- trunk/refman-5.0/releasenotes-cs-5.0.xml 2007-05-11 19:35:54 UTC (rev 6429)
+++ trunk/refman-5.0/releasenotes-cs-5.0.xml 2007-05-11 19:36:20 UTC (rev 6430)
Changed blocks: 1, Lines Added: 16, Lines Deleted: 0; 1210 bytes
@@ -117,6 +117,22 @@
</para>
</listitem>
+ <listitem>
+ <para>
+ If a set function <replaceable>S</replaceable> with an outer
+ reference
+ <literal><replaceable>S</replaceable>(<replaceable>outer_ref</replaceable>)</literal>
+ cannot be aggregated in the outer query against which the
+ outer reference has been resolved, MySQL interprets
+ <literal><replaceable>S</replaceable>(<replaceable>outer_ref</replaceable>)</literal>
+ the same way that it would interpret
+ <literal><replaceable>S</replaceable>(<replaceable>const</replaceable>)</literal>.
+ However, standard SQL requires throwing an error in this
+ situation. An error now is thrown for such queries if the
+ <literal>ANSI</literal> SQL mode is enabled. (Bug #27348)
+ </para>
+ </listitem>
+
<!-- From 5.0.40 (end) -->
<!-- From 5.0.38 (begin) -->
Modified: trunk/refman-5.0/releasenotes-es-5.0.xml
===================================================================
--- trunk/refman-5.0/releasenotes-es-5.0.xml 2007-05-11 19:35:54 UTC (rev 6429)
+++ trunk/refman-5.0/releasenotes-es-5.0.xml 2007-05-11 19:36:20 UTC (rev 6430)
Changed blocks: 2, Lines Added: 28, Lines Deleted: 0; 1917 bytes
@@ -176,6 +176,18 @@
<listitem>
<para>
+ The fix for Bug #17212 provided correct sort order for
+ misordered output of certain queries, but caused significant
+ overall query performance degradation. (Results were correct
+ (good), but returned much more slowly (bad).) The fix also
+ affected performance of queries for which results were
+ correct. The performance degradation has been addressed. (Bug
+ #27531)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
For <literal>INSERT ... ON DUPLICATE KEY UPDATE</literal>
statements that affected many rows, updates could be applied
to the wrong rows. (Bug #27954)
@@ -749,6 +761,22 @@
</para>
</listitem>
+ <listitem>
+ <para>
+ If a set function <replaceable>S</replaceable> with an outer
+ reference
+ <literal><replaceable>S</replaceable>(<replaceable>outer_ref</replaceable>)</literal>
+ cannot be aggregated in the outer query against which the
+ outer reference has been resolved, MySQL interprets
+ <literal><replaceable>S</replaceable>(<replaceable>outer_ref</replaceable>)</literal>
+ the same way that it would interpret
+ <literal><replaceable>S</replaceable>(<replaceable>const</replaceable>)</literal>.
+ However, standard SQL requires throwing an error in this
+ situation. An error now is thrown for such queries if the
+ <literal>ANSI</literal> SQL mode is enabled. (Bug #27348)
+ </para>
+ </listitem>
+
</itemizedlist>
<para>
Modified: trunk/refman-5.1/dba-core.xml
===================================================================
--- trunk/refman-5.1/dba-core.xml 2007-05-11 19:35:54 UTC (rev 6429)
+++ trunk/refman-5.1/dba-core.xml 2007-05-11 19:36:20 UTC (rev 6430)
Changed blocks: 1, Lines Added: 32, Lines Deleted: 2; 2036 bytes
@@ -11531,9 +11531,39 @@
Equivalent to <literal>REAL_AS_FLOAT</literal>,
<literal>PIPES_AS_CONCAT</literal>,
<literal>ANSI_QUOTES</literal>,
- <literal>IGNORE_SPACE</literal>. See
- <xref linkend="ansi-mode"/>.
+ <literal>IGNORE_SPACE</literal>.
</para>
+
+ <para>
+ As of MySQL 5.1.18, <literal>ANSI</literal> mode also
+ causes the server to return an error for queries where a
+ set function <replaceable>S</replaceable> with an outer
+ reference
+ <literal><replaceable>S</replaceable>(<replaceable>outer_ref</replaceable>)</literal>
+ cannot be aggregated in the outer query against which the
+ outer reference has been resolved. This is such a query:
+ </para>
+
+<programlisting>
+SELECT * FROM t1 WHERE t1.a IN (SELECT MAX(t1.b) FROM t2 WHERE ...);
+</programlisting>
+
+ <para>
+ Here, <literal>MAX(t1.b)</literal> cannot aggregated in
+ the outer query because it appears in the
+ <literal>WHERE</literal> clause of that query. Standard
+ SQL requires an error in this situation. If
+ <literal>ANSI</literal> mode is not enabled, the server
+ treats
+ <literal><replaceable>S</replaceable>(<replaceable>outer_ref</replaceable>)</literal>
+ in such queries the same way that it would interpret
+ <literal><replaceable>S</replaceable>(<replaceable>const</replaceable>)</literal>,
+ as was always done prior to 5.1.18.
+ </para>
+
+ <para>
+ See <xref linkend="ansi-mode"/>.
+ </para>
</listitem>
<listitem>
Modified: trunk/refman-5.1/introduction.xml
===================================================================
--- trunk/refman-5.1/introduction.xml 2007-05-11 19:35:54 UTC (rev 6429)
+++ trunk/refman-5.1/introduction.xml 2007-05-11 19:36:20 UTC (rev 6430)
Changed blocks: 3, Lines Added: 7, Lines Deleted: 7; 1704 bytes
@@ -875,9 +875,9 @@
You can set the default SQL mode by starting
<command>mysqld</command> with the
<option>--sql-mode="<replaceable>mode_value</replaceable>"</option>
- option. Beginning with MySQL 4.1, you can also change the mode
- at runtime by setting the <literal>sql_mode</literal> system
- variable with a <literal>SET [SESSION|GLOBAL]
+ option. You can also change the mode at runtime by setting the
+ <literal>sql_mode</literal> system variable with a <literal>SET
+ [SESSION|GLOBAL]
sql_mode='<replaceable>mode_value</replaceable>'</literal>
statement.
</para>
@@ -915,8 +915,8 @@
</programlisting>
<para>
- As of MySQL 4.1.1, you can achieve the same effect at runtime by
- executing these two statements:
+ You can achieve the same effect at runtime by executing these
+ two statements:
</para>
<programlisting>
@@ -2571,8 +2571,8 @@
<para>
You can get information about the number of rows actually
inserted or updated with the <literal>mysql_info()</literal> C
- API function. In MySQL 4.1 and up, you also can use the
- <literal>SHOW WARNINGS</literal> statement. See
+ API function. You can also use the <literal>SHOW
+ WARNINGS</literal> statement. See
<xref linkend="mysql-info"/>, and
<xref linkend="show-warnings"/>.
</para>
Modified: trunk/refman-5.1/news-5.1.xml
===================================================================
--- trunk/refman-5.1/news-5.1.xml 2007-05-11 19:35:54 UTC (rev 6429)
+++ trunk/refman-5.1/news-5.1.xml 2007-05-11 19:36:20 UTC (rev 6430)
Changed blocks: 2, Lines Added: 28, Lines Deleted: 0; 1851 bytes
@@ -387,6 +387,22 @@
</para>
</listitem>
+ <listitem>
+ <para>
+ If a set function <replaceable>S</replaceable> with an outer
+ reference
+ <literal><replaceable>S</replaceable>(<replaceable>outer_ref</replaceable>)</literal>
+ cannot be aggregated in the outer query against which the
+ outer reference has been resolved, MySQL interprets
+ <literal><replaceable>S</replaceable>(<replaceable>outer_ref</replaceable>)</literal>
+ the same way that it would interpret
+ <literal><replaceable>S</replaceable>(<replaceable>const</replaceable>)</literal>.
+ However, standard SQL requires throwing an error in this
+ situation. An error now is thrown for such queries if the
+ <literal>ANSI</literal> SQL mode is enabled. (Bug #27348)
+ </para>
+ </listitem>
+
</itemizedlist>
<para>
@@ -902,6 +918,18 @@
<listitem>
<para>
+ The fix for Bug #17212 provided correct sort order for
+ misordered output of certain queries, but caused significant
+ overall query performance degradation. (Results were correct
+ (good), but returned much more slowly (bad).) The fix also
+ affected performance of queries for which results were
+ correct. The performance degradation has been addressed. (Bug
+ #27531)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
On Windows, connection handlers did not properly decrement the
server's thread count when exiting. (Bug #25621)
</para>
Modified: trunk/refman-5.1/optimization.xml
===================================================================
--- trunk/refman-5.1/optimization.xml 2007-05-11 19:35:54 UTC (rev 6429)
+++ trunk/refman-5.1/optimization.xml 2007-05-11 19:36:20 UTC (rev 6430)
Changed blocks: 1, Lines Added: 12, Lines Deleted: 0; 752 bytes
@@ -1546,6 +1546,18 @@
<listitem>
<para>
+ <literal>Using join cache</literal>
+ </para>
+
+ <para>
+ Tables are read in portions into the join cache buffer,
+ and then their rows are used from the buffer to perform
+ the join.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
<literal>Using temporary</literal>
</para>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r6430 - in trunk: . refman-4.1 refman-5.0 refman-5.1 | paul | 11 May |