List:Commits« Previous MessageNext Message »
From:paul Date:December 14 2005 5:37pm
Subject:svn commit - mysqldoc@docsrva: r560 - in trunk: . refman-4.1 refman-5.0 refman-common
View as plain text  
Author: paul
Date: 2005-12-14 18:37:24 +0100 (Wed, 14 Dec 2005)
New Revision: 560

Log:
 r4768@frost:  paul | 2005-12-14 11:32:31 -0600
 Note stricter handling of FLOAT/DOUBLE data types in 4.1.2 and up.
 Note stricter handling of DECIMAL/NUMERIC data types in 5.0.3 and up.
 In change lists, float some incompatible changes to the front of the list.


Modified:
   trunk/
   trunk/refman-4.1/installing.xml
   trunk/refman-5.0/installing.xml
   trunk/refman-common/news-4.1.xml
   trunk/refman-common/news-5.0.xml


Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:4743
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:1648
   + b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:4768
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:1648

Modified: trunk/refman-4.1/installing.xml
===================================================================
--- trunk/refman-4.1/installing.xml	2005-12-14 14:45:22 UTC (rev 559)
+++ trunk/refman-4.1/installing.xml	2005-12-14 17:37:24 UTC (rev 560)
@@ -12489,6 +12489,37 @@
 
         <listitem>
           <para>
+            <emphasis role="bold">Warning: Incompatible
+            change:</emphasis> As of MySQL 4.1.2, handling of the
+            <literal>FLOAT</literal> and <literal>DOUBLE</literal>
+            floating-point data types is more strict to follow standard
+            SQL. For example, a data type of
+            <literal>FLOAT(3,1)</literal> stores a maximum value of
+            99.9. Before 4.1.2, the server allowed larger numbers to be
+            stored. That is, it stored a value such as 100.0 as 100.0.
+            As of 4.1.2, the server clips clips 100.0 to the maximum
+            allowable value of 99.9. If you have tables that were
+            created before MySQL 4.1.2 and that contain floating-point
+            data not strictly legal for the column type, you should
+            alter the data types of those columns. For example:
+          </para>
+
+<programlisting>
+ALTER TABLE <replaceable>tbl_name</replaceable> MODIFY <replaceable>col_name</replaceable> FLOAT(4,1);
+</programlisting>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis role="bold">Incompatible change</emphasis>: In
+            connection with the support for per-connection time zones in
+            MySQL 4.1.3, the <literal>timezone</literal> system variable
+            was renamed to <literal>system_time_zone</literal>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
             <emphasis role="bold">Important note:</emphasis> MySQL 4.1
             stores table names and column names in
             <literal>UTF8</literal>. If you have table names or column
@@ -12515,15 +12546,6 @@
 
         <listitem>
           <para>
-            <emphasis role="bold">Incompatible change</emphasis>: In
-            connection with the support for per-connection time zones in
-            MySQL 4.1.3, the <literal>timezone</literal> system variable
-            was renamed to <literal>system_time_zone</literal>.
-          </para>
-        </listitem>
-
-        <listitem>
-          <para>
             All tables and non-binary string columns
             (<literal>CHAR</literal>, <literal>VARCHAR</literal>, and
             <literal>TEXT</literal>) have a character set. See

Modified: trunk/refman-5.0/installing.xml
===================================================================
--- trunk/refman-5.0/installing.xml	2005-12-14 14:45:22 UTC (rev 559)
+++ trunk/refman-5.0/installing.xml	2005-12-14 17:37:24 UTC (rev 560)
@@ -12225,15 +12225,35 @@
             downgrade to MySQL 5.0.3 to 5.0.5.)
           </para>
         </listitem>
-        
+
         <listitem>
           <para>
-            <emphasis role="bold">Incompatible change</emphasis>:
-            The implementation of <literal>DECIMAL</literal> has changed
-            in MySQL 5.0.3. You should make your applications aware of
-            that change, which is described in
+            <emphasis role="bold">Incompatible change</emphasis>: The
+            implementation of <literal>DECIMAL</literal> has changed in
+            MySQL 5.0.3. You should make your applications aware of that
+            change, which is described in
             <xref linkend="precision-math-decimal-changes"/>.
           </para>
+
+          <para>
+            A consequence of the change in handling of the
+            <literal>DECIMAL</literal> and <literal>NUMERIC</literal>
+            fixed-point data types is that the server is more strict to
+            follow standard SQL. For example, a data type of
+            <literal>DECIMAL(3,1)</literal> stores a maximum value of
+            99.9. Before MySQL 5.0.3, the server allowed larger numbers
+            to be stored. That is, it stored a value such as 100.0 as
+            100.0. As of MySQL 5.0.3, the server clips clips 100.0 to
+            the maximum allowable value of 99.9. If you have tables that
+            were created before MySQL 5.0.3 and that contain
+            floating-point data not strictly legal for the column type,
+            you should alter the data types of those columns. For
+            example:
+          </para>
+
+<programlisting>
+ALTER TABLE <replaceable>tbl_name</replaceable> MODIFY <replaceable>col_name</replaceable> DECIMAL(4,1);
+</programlisting>
         </listitem>
 
         <listitem>

Modified: trunk/refman-common/news-4.1.xml
===================================================================
--- trunk/refman-common/news-4.1.xml	2005-12-14 14:45:22 UTC (rev 559)
+++ trunk/refman-common/news-4.1.xml	2005-12-14 17:37:24 UTC (rev 560)
@@ -7461,29 +7461,26 @@
 
       <listitem>
         <para>
-          Added the <literal>ARCHIVE</literal> storage engine.
+          <emphasis role="bold">Warning: Incompatible change;</emphasis>
+          C API change: <literal>mysql_shutdown()</literal> now requires
+          a second argument. This is a source-level incompatibility that
+          affects how you compile client programs; it does not affect
+          the ability of compiled clients to communicate with older
+          servers. See <xref linkend="mysql-shutdown"/>.
         </para>
       </listitem>
 
       <listitem>
         <para>
-          Added SQL syntax for prepared statements. See
-          <xref linkend="sqlps"/>.
+          <emphasis role="bold">Warning: Incompatible change:</emphasis>
+          The <literal>timezone</literal> system variable has been
+          removed and replaced by <literal>system_time_zone</literal>.
+          See <xref linkend="server-system-variables"/>.
         </para>
       </listitem>
 
       <listitem>
         <para>
-          Language-specific collations were added for the
-          <literal>ucs2</literal> and <literal>utf8</literal> Unicode
-          character sets: Icelandic, Latvian, Romanian, Slovenian,
-          Polish, Estonian, Swedish, Turkish, Czech, Danish, Lithuanian,
-          Slovak, Spanish, Traditional Spanish.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
           Support for per-connection time zones was added. Now you can
           set the current time zone for a connection by setting the
           <literal>@@time_zone</literal> system variable to a value such
@@ -7507,15 +7504,6 @@
 
       <listitem>
         <para>
-          <emphasis role="bold">Warning: Incompatible change!</emphasis>
-          The <literal>timezone</literal> system variable has been
-          removed and replaced by <literal>system_time_zone</literal>.
-          See <xref linkend="server-system-variables"/>.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
           Basic time zone conversion function
           <literal>CONVERT_TZ()</literal> was added. It assumes that its
           first argument is a datetime value in the time zone specified
@@ -7526,24 +7514,36 @@
 
       <listitem>
         <para>
-          <literal>CHECK TABLE</literal> now can be killed. It then
-          marks the table as corrupted. See <xref linkend="kill"/>.
+          Added the <literal>ARCHIVE</literal> storage engine.
         </para>
       </listitem>
 
       <listitem>
         <para>
-          <emphasis role="bold">Warning: Incompatible change!</emphasis>
-          C API change: <literal>mysql_shutdown()</literal> now requires
-          a second argument. This is a source-level incompatibility that
-          affects how you compile client programs; it does not affect
-          the ability of compiled clients to communicate with older
-          servers. See <xref linkend="mysql-shutdown"/>.
+          Added SQL syntax for prepared statements. See
+          <xref linkend="sqlps"/>.
         </para>
       </listitem>
 
       <listitem>
         <para>
+          Language-specific collations were added for the
+          <literal>ucs2</literal> and <literal>utf8</literal> Unicode
+          character sets: Icelandic, Latvian, Romanian, Slovenian,
+          Polish, Estonian, Swedish, Turkish, Czech, Danish, Lithuanian,
+          Slovak, Spanish, Traditional Spanish.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>CHECK TABLE</literal> now can be killed. It then
+          marks the table as corrupted. See <xref linkend="kill"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
           <literal>OPTIMIZE TABLE</literal> for
           <literal>InnoDB</literal> tables is now mapped to
           <literal>ALTER TABLE</literal> instead of <literal>ANALYZE
@@ -7898,86 +7898,28 @@
 
       <listitem>
         <para>
-          Added the <literal>EXAMPLE</literal> storage engine.
+          <emphasis role="bold">Warning: Incompatible change:</emphasis>
+          Handling of the <literal>FLOAT</literal> and
+          <literal>DOUBLE</literal> floating-point data types is more
+          strict to follow standard SQL. For example, a data type of
+          <literal>FLOAT(3,1)</literal> stores a maximum value of 99.9.
+          Previously, the server allowed larger numbers to be stored.
+          That is, it stored a value such as 100.0 as 100.0. Now the
+          server clips clips 100.0 to the maximum allowable value of
+          99.9. If you have tables that were created before MySQL 4.1.2
+          and that contain floating-point data not strictly legal for
+          the column type, you should alter the data types of those
+          columns. For example:
         </para>
-      </listitem>
 
-      <listitem>
-        <para>
-          The <command>mysqld</command> Windows server was renamed to
-          <command>mysqld-debug</command>. See
-          <xref linkend="windows-select-server"/>.
-        </para>
+<programlisting>
+ALTER TABLE <replaceable>tbl_name</replaceable> MODIFY <replaceable>col_name</replaceable> FLOAT(4,1);
+</programlisting>
       </listitem>
 
       <listitem>
         <para>
-          Added <literal>Handler_discover</literal> status variable.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          Added support for character set conversion and
-          <literal>MYSQL_TYPE_BLOB</literal> type code in prepared
-          statement protocol.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          Added explanation of hidden <literal>SELECT</literal> of
-          <literal>UNION</literal> in output of <literal>EXPLAIN
-          SELECT</literal> statement.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          <command>mysql</command> command-line client now supports
-          multiple <option>-e</option> options. (Bug #591)
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          New <literal>myisam_data_pointer_size</literal> system
-          variable. See <xref linkend="server-system-variables"/>.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          The <option>--log-warnings</option> server option now is
-          enabled by default. Disable with
-          <option>--skip-log-warnings</option>.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          The
-          <option>--defaults-file=<replaceable>file_name</replaceable></option>
-          option now requires that the filename must exist (safety fix).
-          (Bug #3413)
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          <command>mysqld_multi</command> now creates the log in the
-          directory named by <literal>datadir</literal> (from the
-          <literal>[mysqld]</literal> section in
-          <filename>my.cnf</filename> or compiled in), not in
-          <filename>/tmp</filename>. Thanks to Christian Hammers from
-          Debian Security Team for reporting this.
-          (<ulink url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0388">CAN-2004-0388</ulink>)
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          <emphasis role="bold">Warning: Incompatible change!</emphasis>
+          <emphasis role="bold">Warning: Incompatible change:</emphasis>
           String comparison now works according to the SQL standard.
           Because we have that <literal>'a' = 'a '</literal> then from
           it must follow that <literal>'a' &gt; 'a\t'</literal>. (The
@@ -8013,7 +7955,7 @@
           would be treated as a <literal>TIMESTAMP DEFAULT 0</literal>
           column. <literal>NOW</literal> is supported as an alias for
           <literal>CURRENT_TIMESTAMP</literal>.
-          <emphasis role="bold">Warning: Incompatible change!</emphasis>
+          <emphasis role="bold">Warning: Incompatible change:</emphasis>
           Unlike in previous versions, explicit specification of default
           values for <literal>TIMESTAMP</literal> column is never
           ignored and turns off the auto-set feature (unless you have
@@ -8023,7 +7965,7 @@
 
       <listitem>
         <para>
-          <emphasis role="bold">Warning: Incompatible change!</emphasis>
+          <emphasis role="bold">Warning: Incompatible change:</emphasis>
           Renamed prepared statements C API functions:
         </para>
 
@@ -8089,7 +8031,7 @@
 
       <listitem>
         <para>
-          <emphasis role="bold">Warning: Incompatible change!</emphasis>
+          <emphasis role="bold">Warning: Incompatible change:</emphasis>
           The signature of the <literal>mysql_stmt_prepare()</literal>
           function was changed to <literal>int
           mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query,
@@ -8102,6 +8044,94 @@
 
       <listitem>
         <para>
+          <emphasis role="bold">Warning: Incompatible change:</emphasis>
+          The <literal>Type</literal> output column for <literal>SHOW
+          TABLE STATUS</literal> now is labeled
+          <literal>Engine</literal>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Added the <literal>EXAMPLE</literal> storage engine.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          The <command>mysqld</command> Windows server was renamed to
+          <command>mysqld-debug</command>. See
+          <xref linkend="windows-select-server"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Added <literal>Handler_discover</literal> status variable.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Added support for character set conversion and
+          <literal>MYSQL_TYPE_BLOB</literal> type code in prepared
+          statement protocol.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          Added explanation of hidden <literal>SELECT</literal> of
+          <literal>UNION</literal> in output of <literal>EXPLAIN
+          SELECT</literal> statement.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <command>mysql</command> command-line client now supports
+          multiple <option>-e</option> options. (Bug #591)
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          New <literal>myisam_data_pointer_size</literal> system
+          variable. See <xref linkend="server-system-variables"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          The <option>--log-warnings</option> server option now is
+          enabled by default. Disable with
+          <option>--skip-log-warnings</option>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          The
+          <option>--defaults-file=<replaceable>file_name</replaceable></option>
+          option now requires that the filename must exist (safety fix).
+          (Bug #3413)
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <command>mysqld_multi</command> now creates the log in the
+          directory named by <literal>datadir</literal> (from the
+          <literal>[mysqld]</literal> section in
+          <filename>my.cnf</filename> or compiled in), not in
+          <filename>/tmp</filename>. Thanks to Christian Hammers from
+          Debian Security Team for reporting this.
+          (<ulink url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0388">CAN-2004-0388</ulink>)
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
           <literal>SHOW GRANTS</literal> with no <literal>FOR</literal>
           clause or with <literal>FOR CURRENT_USER()</literal> shows the
           privileges for the current session.
@@ -8280,15 +8310,6 @@
 
       <listitem>
         <para>
-          <emphasis role="bold">Warning: Incompatible change!</emphasis>
-          The <literal>Type</literal> output column for <literal>SHOW
-          TABLE STATUS</literal> now is labeled
-          <literal>Engine</literal>.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
           Added <literal>init_connect</literal> and
           <literal>init_slave</literal> system variables. The values
           should be SQL statements to be executed when each client
@@ -9397,17 +9418,7 @@
 
       <listitem>
         <para>
-          <emphasis role="bold">Important note:</emphasis> If you
-          upgrade to <literal>InnoDB</literal>-4.1.1 or higher, you
-          cannot downgrade to a version lower than 4.1.1 any more! That
-          is because earlier versions of <literal>InnoDB</literal> are
-          not aware of multiple tablespaces.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
-          <emphasis role="bold">Warning: Incompatible change!</emphasis>
+          <emphasis role="bold">Warning: Incompatible change:</emphasis>
           Renamed the C API <literal>mysql_prepare_result()</literal>
           function to <literal>mysql_get_metadata()</literal> because
           the old name was confusing.
@@ -9416,7 +9427,7 @@
 
       <listitem>
         <para>
-          <emphasis role="bold">Warning: Incompatible change!</emphasis>
+          <emphasis role="bold">Warning: Incompatible change:</emphasis>
           Client authentication now is based on 41-byte passwords in the
           <literal>user</literal> table, not 45-byte passwords as in
           4.1.0. Any 45-byte passwords created for 4.1.0 must be reset
@@ -9427,6 +9438,16 @@
 
       <listitem>
         <para>
+          <emphasis role="bold">Important note:</emphasis> If you
+          upgrade to <literal>InnoDB</literal>-4.1.1 or higher, you
+          cannot downgrade to a version lower than 4.1.1 any more! That
+          is because earlier versions of <literal>InnoDB</literal> are
+          not aware of multiple tablespaces.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
           Added <literal>secure_auth</literal> global server system
           variable and <option>--secure-auth</option> server option that
           disallow authentication for accounts that have old (pre-4.1.1)
@@ -10305,6 +10326,23 @@
 
       <listitem>
         <para>
+          <emphasis role="bold">Warning: Incompatible change:</emphasis>
+          <literal>TIMESTAMP</literal> is now returned as a string of
+          type <literal>'YYYY-MM-DD HH:MM:SS'</literal> and different
+          timestamp lengths are not supported.
+        </para>
+
+        <para>
+          This change was necessary for SQL standards compliance. In a
+          future version, a further change will be made (backward
+          compatible with this change), allowing the timestamp length to
+          indicate the desired number of digits of fractions of a
+          second.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
           Renamed <literal>SHOW MASTER LOGS</literal> statement to
           <literal>SHOW BINARY LOGS</literal>.
         </para>
@@ -10501,23 +10539,6 @@
 
       <listitem>
         <para>
-          <emphasis role="bold">Warning: Incompatible change!</emphasis>
-          <literal>TIMESTAMP</literal> is now returned as a string of
-          type <literal>'YYYY-MM-DD HH:MM:SS'</literal> and different
-          timestamp lengths are not supported.
-        </para>
-
-        <para>
-          This change was necessary for SQL standards compliance. In a
-          future version, a further change will be made (backward
-          compatible with this change), allowing the timestamp length to
-          indicate the desired number of digits of fractions of a
-          second.
-        </para>
-      </listitem>
-
-      <listitem>
-        <para>
           New faster client/server protocol that supports prepared
           statements, bound parameters, and bound result columns, binary
           transfer of data, warnings.

Modified: trunk/refman-common/news-5.0.xml
===================================================================
--- trunk/refman-common/news-5.0.xml	2005-12-14 14:45:22 UTC (rev 559)
+++ trunk/refman-common/news-5.0.xml	2005-12-14 17:37:24 UTC (rev 560)
@@ -8410,6 +8410,35 @@
 
       <listitem>
         <para>
+          The <literal>DECIMAL</literal> and <literal>NUMERIC</literal>
+          data types now are handled with a fixed-point library that
+          allows for precision math handling that results in more
+          accurate results. See <xref linkend="precision-math"/>.
+        </para>
+
+        <para>
+          <emphasis role="bold">Warning: Incompatible change:</emphasis>
+          A consequence of the change in handling of the
+          <literal>DECIMAL</literal> and <literal>NUMERIC</literal>
+          fixed-point data types is that the server is more strict to
+          follow standard SQL. For example, a data type of
+          <literal>DECIMAL(3,1)</literal> stores a maximum value of
+          99.9. Previously, the server allowed larger numbers to be
+          stored. That is, it stored a value such as 100.0 as 100.0. Now
+          the server clips clips 100.0 to the maximum allowable value of
+          99.9. If you have tables that were created before MySQL 5.0.3
+          and that contain floating-point data not strictly legal for
+          the column type, you should alter the data types of those
+          columns. For example:
+        </para>
+
+<programlisting>
+ALTER TABLE <replaceable>tbl_name</replaceable> MODIFY <replaceable>col_name</replaceable> DECIMAL(4,1);
+</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
           <emphasis role="bold">Incompatible change</emphasis>: The C
           API <literal>ER_WARN_DATA_TRUNCATED</literal> warning symbol
           was renamed to <literal>WARN_DATA_TRUNCATED</literal>.

Thread
svn commit - mysqldoc@docsrva: r560 - in trunk: . refman-4.1 refman-5.0 refman-commonpaul14 Dec