List:Commits« Previous MessageNext Message »
From:paul Date:October 29 2007 7:30pm
Subject:svn commit - mysqldoc@docsrva: r8393 - in trunk: . dynamic-docs/changelog refman-5.0 refman-5.1
View as plain text  
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.1paul29 Oct