Author: paul
Date: 2007-10-29 20:30:55 +0100 (Mon, 29 Oct 2007)
New Revision: 8393
Log:
r31927@polar: paul | 2007-10-29 14:30:30 -0500
Documented bugfixes:
Bug#28779: mysql_query() allows execution of statements with unbalanced comments
Modified:
trunk/dynamic-docs/changelog/mysqld.xml
trunk/refman-5.0/installing-cs.xml
trunk/refman-5.1/installing.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:31925
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:26290
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:21581
+ 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:31927
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:26290
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:21581
Modified: trunk/dynamic-docs/changelog/mysqld.xml
===================================================================
--- trunk/dynamic-docs/changelog/mysqld.xml 2007-10-29 18:49:01 UTC (rev 8392)
+++ trunk/dynamic-docs/changelog/mysqld.xml 2007-10-29 19:30:55 UTC (rev 8393)
Changed blocks: 2, Lines Added: 91, Lines Deleted: 1; 3723 bytes
@@ -30396,7 +30396,8 @@
<para>
Embedded <literal>/* ... */</literal> comments were handled
incorrectly within the definitions of stored programs and views,
- resulting in malformed definitions. This also affected binary
+ resulting in malformed definitions (the trailing
+ <literal>*/</literal> was stripped). This also affected binary
log contents.
</para>
@@ -139098,4 +139099,93 @@
</logentry>
+ <logentry entrytype="bug">
+
+ <tags>
+ <highlight type="incompatiblechange"/>
+ <manual type="parser"/>
+ </tags>
+
+ <bugs>
+ <fixes bugid="28779"/>
+ </bugs>
+
+ <versions>
+ <version ver="5.0.50"/>
+ <version ver="5.1.23"/>
+ </versions>
+
+ <message ver="5.0.50">
+
+ <para>
+ The parser accepted statements that contained <literal>/* ...
+ */</literal> that were not properly closed with
+ <literal>*/</literal>, such as <literal>SELECT 1 /* +
+ 2</literal>. Statements that contain unclosed
+ <literal>/*</literal>-comments now are rejected with a syntax
+ error.
+ </para>
+
+ <para>
+ This fix has the potential to cause incompatibilities. Because
+ of Bug #26302, which caused the trailing <literal>*/</literal>
+ to be truncated from comments in views, stored routines,
+ triggers, and events, it is possible that objects of those types
+ may have been stored with definitions that now will be rejected
+ as syntactically invalid. Such objects should be dropped and
+ re-created so that their definitions do not contain truncated
+ comments. If a stored object definition contains only a single
+ statement (does not use a <literal>BEGIN ... END</literal>
+ block) and contains a comment within the statement, the comment
+ should be moved to follow the statement or the object should be
+ rewritten to use a <literal>BEGIN ... END</literal> block. For
+ example, this statement:
+ </para>
+
+<programlisting>
+CREATE PROCEDURE p() SELECT 1 /* my comment */ ;
+</programlisting>
+
+ <para>
+ Can be rewritten in either of these ways:
+ </para>
+
+<programlisting>
+CREATE PROCEDURE p() SELECT 1; /* my comment */
+CREATE PROCEDURE p() BEGIN SELECT 1 /* my comment */ ; END;
+</programlisting>
+
+ </message>
+
+ <message ver="5.1.23">
+
+ <remark role="note">
+ In 5.1, Bug #26302 has been fixed (unlike in 5.0), so drop and
+ re-create is sufficient.
+ </remark>
+
+ <para>
+ The parser accepted statements that contained <literal>/* ...
+ */</literal> that were not properly closed with
+ <literal>*/</literal>, such as <literal>SELECT 1 /* +
+ 2</literal>. Statements that contain unclosed
+ <literal>/*</literal>-comments now are rejected with a syntax
+ error.
+ </para>
+
+ <para>
+ This fix has the potential to cause incompatibilities. Because
+ of Bug #26302, which caused the trailing <literal>*/</literal>
+ to be truncated from comments in views, stored routines,
+ triggers, and events, it is possible that objects of those types
+ may have been stored with definitions that now will be rejected
+ as syntactically invalid. Such objects should be dropped and
+ re-created so that their definitions do not contain truncated
+ comments.
+ </para>
+
+ </message>
+
+ </logentry>
+
</changelog>
Modified: trunk/refman-5.0/installing-cs.xml
===================================================================
--- trunk/refman-5.0/installing-cs.xml 2007-10-29 18:49:01 UTC (rev 8392)
+++ trunk/refman-5.0/installing-cs.xml 2007-10-29 19:30:55 UTC (rev 8393)
Changed blocks: 1, Lines Added: 42, Lines Deleted: 0; 2335 bytes
@@ -13398,6 +13398,48 @@
<listitem>
<para>
+ <emphasis role="bold">Incompatible change:</emphasis> The
+ parser accepted statements that contained <literal>/* ...
+ */</literal> that were not properly closed with
+ <literal>*/</literal>, such as <literal>SELECT 1 /* +
+ 2</literal>. As of MySQL 5.0.50, statements that contain
+ unclosed <literal>/*</literal>-comments now are rejected
+ with a syntax error.
+ </para>
+
+ <para>
+ This fix has the potential to cause incompatibilities.
+ Because of Bug #26302, which caused the trailing
+ <literal>*/</literal> to be truncated from comments in
+ views, stored routines, triggers, and events, it is possible
+ that objects of those types may have been stored with
+ definitions that now will be rejected as syntactically
+ invalid. Such objects should be dropped and re-created so
+ that their definitions do not contain truncated comments. If
+ a stored object definition contains only a single statement
+ (does not use a <literal>BEGIN ... END</literal> block) and
+ contains a comment within the statement, the comment should
+ be moved to follow the statement or the object should be
+ rewritten to use a <literal>BEGIN ... END</literal> block.
+ For example, this statement:
+ </para>
+
+<programlisting>
+CREATE PROCEDURE p() SELECT 1 /* my comment */ ;
+</programlisting>
+
+ <para>
+ Can be rewritten in either of these ways:
+ </para>
+
+<programlisting>
+CREATE PROCEDURE p() SELECT 1; /* my comment */
+CREATE PROCEDURE p() BEGIN SELECT 1 /* my comment */ ; END;
+</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>
<emphasis role="bold">Incompatible change:</emphasis>
Beginning with MySQL 5.0.12, natural joins and joins with
<literal>USING</literal>, including outer join variants, are
Modified: trunk/refman-5.1/installing.xml
===================================================================
--- trunk/refman-5.1/installing.xml 2007-10-29 18:49:01 UTC (rev 8392)
+++ trunk/refman-5.1/installing.xml 2007-10-29 19:30:55 UTC (rev 8393)
Changed blocks: 1, Lines Added: 23, Lines Deleted: 0; 1581 bytes
@@ -12827,6 +12827,29 @@
<listitem>
<para>
+ <emphasis role="bold">Incompatible change:</emphasis> The
+ parser accepted statements that contained <literal>/* ...
+ */</literal> that were not properly closed with
+ <literal>*/</literal>, such as <literal>SELECT 1 /* +
+ 2</literal>. As of MySQL 5.1.23, statements that contain
+ unclosed <literal>/*</literal>-comments now are rejected
+ with a syntax error.
+ </para>
+
+ <para>
+ This fix has the potential to cause incompatibilities.
+ Because of Bug #26302, which caused the trailing
+ <literal>*/</literal> to be truncated from comments in
+ views, stored routines, triggers, and events, it is possible
+ that objects of those types may have been stored with
+ definitions that now will be rejected as syntactically
+ invalid. Such objects should be dropped and re-created so
+ that their definitions do not contain truncated comments.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
<emphasis role="bold">Incompatible change</emphasis>: As of
MySQL 5.1.8, <literal>TYPE =
<replaceable>engine_name</replaceable></literal> is still
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r8393 - in trunk: . dynamic-docs/changelog refman-5.0 refman-5.1 | paul | 29 Oct |