List:Commits« Previous MessageNext Message »
From:paul Date:January 20 2006 8:52pm
Subject:svn commit - mysqldoc@docsrva: r956 - in trunk: . refman-4.1 refman-5.0 refman-5.1
View as plain text  
Author: paul
Date: 2006-01-20 21:52:56 +0100 (Fri, 20 Jan 2006)
New Revision: 956

Log:
 r2396@kite-hub:  paul | 2006-01-20 14:49:35 -0600
 General revisions.


Modified:
   trunk/
   trunk/refman-4.1/client-utility-programs.xml
   trunk/refman-4.1/functions.xml
   trunk/refman-5.0/client-utility-programs.xml
   trunk/refman-5.0/functions.xml
   trunk/refman-5.1/client-utility-programs.xml
   trunk/refman-5.1/functions.xml


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

Modified: trunk/refman-4.1/client-utility-programs.xml
===================================================================
--- trunk/refman-4.1/client-utility-programs.xml	2006-01-20 19:42:09 UTC (rev 955)
+++ trunk/refman-4.1/client-utility-programs.xml	2006-01-20 20:52:56 UTC (rev 956)
@@ -2874,7 +2874,7 @@
               </row>
               <row>
                 <entry><literal>\w</literal></entry>
-                <entry>The current day of the week in three-letter format (Mon, Tue, ...)</entry>
+                <entry>The current day of the week in three-letter format (Mon, Tue, &hellip;)</entry>
               </row>
               <row>
                 <entry><literal>\P</literal></entry>
@@ -2886,7 +2886,7 @@
               </row>
               <row>
                 <entry><literal>\O</literal></entry>
-                <entry>The current month in three-letter format (Jan, Feb, ...)</entry>
+                <entry>The current month in three-letter format (Jan, Feb, &hellip;)</entry>
               </row>
               <row>
                 <entry><literal>\c</literal></entry>
@@ -3780,7 +3780,7 @@
           <listitem>
             <para>
               <literal>kill
-              <replaceable>id</replaceable>,<replaceable>id</replaceable>,...</literal>
+              <replaceable>id</replaceable>,<replaceable>id</replaceable>,&hellip;</literal>
             </para>
 
             <para>
@@ -6038,11 +6038,11 @@
 
           <listitem>
             <para>
-              <option>--fields-terminated-by=...</option>,
-              <option>--fields-enclosed-by=...</option>,
-              <option>--fields-optionally-enclosed-by=...</option>,
-              <option>--fields-escaped-by=...</option>,
-              <option>--lines-terminated-by=...</option>
+              <option>--fields-terminated-by=&hellip;</option>,
+              <option>--fields-enclosed-by=&hellip;</option>,
+              <option>--fields-optionally-enclosed-by=&hellip;</option>,
+              <option>--fields-escaped-by=&hellip;</option>,
+              <option>--lines-terminated-by=&hellip;</option>
             </para>
 
             <para>
@@ -6658,12 +6658,12 @@
           beginning of the dump. As soon as this lock has been acquired,
           the binary log coordinates are read and lock is released. So
           if and only if one long updating statement is running when the
-          <literal>FLUSH...</literal> is issued, the MySQL server may
-          get stalled until that long statement finishes, and then the
-          dump becomes lock-free. So if the MySQL server receives only
-          short (in the sense of <quote>short execution time</quote>)
-          updating statements, even if there are plenty of them, the
-          initial lock period should not be noticeable.
+          <literal>FLUSH &hellip;</literal> is issued, the MySQL server
+          may get stalled until that long statement finishes, and then
+          the dump becomes lock-free. So if the MySQL server receives
+          only short (in the sense of <quote>short execution
+          time</quote>) updating statements, even if there are plenty of
+          them, the initial lock period should not be noticeable.
         </para>
 
 <programlisting>
@@ -7192,11 +7192,11 @@
 
           <listitem>
             <para>
-              <option>--fields-terminated-by=...</option>,
-              <option>--fields-enclosed-by=...</option>,
-              <option>--fields-optionally-enclosed-by=...</option>,
-              <option>--fields-escaped-by=...</option>,
-              <option>--lines-terminated-by=...</option>
+              <option>--fields-terminated-by=&hellip;</option>,
+              <option>--fields-enclosed-by=&hellip;</option>,
+              <option>--fields-optionally-enclosed-by=&hellip;</option>,
+              <option>--fields-escaped-by=&hellip;</option>,
+              <option>--lines-terminated-by=&hellip;</option>
             </para>
 
             <para>

Modified: trunk/refman-4.1/functions.xml
===================================================================
--- trunk/refman-4.1/functions.xml	2006-01-20 19:42:09 UTC (rev 955)
+++ trunk/refman-4.1/functions.xml	2006-01-20 20:52:56 UTC (rev 956)
@@ -311,7 +311,7 @@
         The reason for this is that there are many different strings
         that may convert to the value <literal>1</literal>:
         <literal>'1'</literal>, <literal>' 1'</literal>,
-        <literal>'1a'</literal>, ...
+        <literal>'1a'</literal>, &hellip;
       </para>
 
     </section>
@@ -764,7 +764,7 @@
 
           <para>
             <indexterm type="function">
-              <primary>BETWEEN ... AND</primary>
+              <primary>BETWEEN &hellip; AND</primary>
             </indexterm>
 
             <literal><replaceable>expr</replaceable> BETWEEN
@@ -856,7 +856,7 @@
               <primary>COALESCE()</primary>
             </indexterm>
 
-            <literal>COALESCE(<replaceable>value</replaceable>,...)</literal>
+            <literal>COALESCE(<replaceable>value</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -895,7 +895,7 @@
               <primary>GREATEST()</primary>
             </indexterm>
 
-            <literal>GREATEST(<replaceable>value1</replaceable>,<replaceable>value2</replaceable>,...)</literal>
+            <literal>GREATEST(<replaceable>value1</replaceable>,<replaceable>value2</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -944,7 +944,7 @@
             </indexterm>
 
             <literal><replaceable>expr</replaceable> IN
-            (<replaceable>value</replaceable>,...)</literal>
+            (<replaceable>value</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -1010,7 +1010,7 @@
             </indexterm>
 
             <literal><replaceable>expr</replaceable> NOT IN
-            (<replaceable>value</replaceable>,...)</literal>
+            (<replaceable>value</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -1020,7 +1020,7 @@
           <para>
             This is the same as <literal>NOT
             (<replaceable>expr</replaceable> IN
-            (<replaceable>value</replaceable>,...))</literal>.
+            (<replaceable>value</replaceable>,&hellip;))</literal>.
           </para>
 
           <remark role="help-description-end"/>
@@ -1086,7 +1086,7 @@
               <primary>INTERVAL()</primary>
             </indexterm>
 
-            <literal>INTERVAL(<replaceable>N</replaceable>,<replaceable>N1</replaceable>,<replaceable>N2</replaceable>,<replaceable>N3</replaceable>,...)</literal>
+            <literal>INTERVAL(<replaceable>N</replaceable>,<replaceable>N1</replaceable>,<replaceable>N2</replaceable>,<replaceable>N3</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -1102,8 +1102,9 @@
             <literal>NULL</literal>. All arguments are treated as
             integers. It is required that <replaceable>N1</replaceable>
             &lt; <replaceable>N2</replaceable> &lt;
-            <replaceable>N3</replaceable> &lt; <literal>...</literal>
-            &lt; <replaceable>Nn</replaceable> for this function to work
+            <replaceable>N3</replaceable> &lt;
+            <literal>&hellip;</literal> &lt;
+            <replaceable>Nn</replaceable> for this function to work
             correctly. This is because a binary search is used (very
             fast).
           </para>
@@ -1132,7 +1133,7 @@
               <primary>LEAST()</primary>
             </indexterm>
 
-            <literal>LEAST(<replaceable>value1</replaceable>,<replaceable>value2</replaceable>,...)</literal>
+            <literal>LEAST(<replaceable>value1</replaceable>,<replaceable>value2</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -1521,7 +1522,7 @@
           [<replaceable>compare_value</replaceable>] THEN
           <replaceable>result</replaceable> [WHEN
           [<replaceable>compare_value</replaceable>] THEN
-          <replaceable>result</replaceable> ...] [ELSE
+          <replaceable>result</replaceable> &hellip;] [ELSE
           <replaceable>result</replaceable>] END</literal>
         </para>
 
@@ -1529,7 +1530,7 @@
           <literal>CASE WHEN [<replaceable>condition</replaceable>] THEN
           <replaceable>result</replaceable> [WHEN
           [<replaceable>condition</replaceable>] THEN
-          <replaceable>result</replaceable> ...] [ELSE
+          <replaceable>result</replaceable> &hellip;] [ELSE
           <replaceable>result</replaceable>] END</literal>
         </para>
 
@@ -1991,7 +1992,7 @@
             <primary>CHAR()</primary>
           </indexterm>
 
-          <literal>CHAR(<replaceable>N</replaceable>,... [USING
+          <literal>CHAR(<replaceable>N</replaceable>,&hellip; [USING
           <replaceable>charset</replaceable>])</literal>
         </para>
 
@@ -2178,7 +2179,7 @@
             <primary>CONCAT()</primary>
           </indexterm>
 
-          <literal>CONCAT(<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,...)</literal>
+          <literal>CONCAT(<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -2228,7 +2229,7 @@
             <primary>CONCAT_WS()</primary>
           </indexterm>
 
-          <literal>CONCAT_WS(<replaceable>separator</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,...)</literal>
+          <literal>CONCAT_WS(<replaceable>separator</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -2326,7 +2327,7 @@
             <primary>ELT()</primary>
           </indexterm>
 
-          <literal>ELT(<replaceable>N</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,<replaceable>str3</replaceable>,...)</literal>
+          <literal>ELT(<replaceable>N</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,<replaceable>str3</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -2410,7 +2411,7 @@
             <primary>FIELD()</primary>
           </indexterm>
 
-          <literal>FIELD(<replaceable>str</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,<replaceable>str3</replaceable>,...)</literal>
+          <literal>FIELD(<replaceable>str</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,<replaceable>str3</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -2421,9 +2422,9 @@
           Returns the index (position) of <replaceable>str</replaceable>
           in the <replaceable>str1</replaceable>,
           <replaceable>str2</replaceable>,
-          <replaceable>str3</replaceable>, <literal>...</literal> list.
-          Returns <literal>0</literal> if <replaceable>str</replaceable>
-          is not found.
+          <replaceable>str3</replaceable>, <literal>&hellip;</literal>
+          list. Returns <literal>0</literal> if
+          <replaceable>str</replaceable> is not found.
         </para>
 
         <para>
@@ -3002,7 +3003,7 @@
             <primary>MAKE_SET()</primary>
           </indexterm>
 
-          <literal>MAKE_SET(<replaceable>bits</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,...)</literal>
+          <literal>MAKE_SET(<replaceable>bits</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -3018,8 +3019,8 @@
           <replaceable>str2</replaceable> to bit 1, and so on.
           <literal>NULL</literal> values in
           <replaceable>str1</replaceable>,
-          <replaceable>str2</replaceable>, <literal>...</literal> are
-          not appended to the result.
+          <replaceable>str2</replaceable>, <literal>&hellip;</literal>
+          are not appended to the result.
         </para>
 
         <remark role="help-description-end"/>
@@ -5938,8 +5939,8 @@
 
     <para>
       Here is an example that uses date functions. The following query
-      selects all records with a <literal>date_col</literal> value from
-      within the last 30 days:
+      selects all rows with a <replaceable>date_col</replaceable> value
+      from within the last 30 days:
     </para>
 
 <programlisting>
@@ -5948,8 +5949,8 @@
 </programlisting>
 
     <para>
-      Note that the query also selects records with dates that lie in
-      the future.
+      Note that the query also selects rows with dates that lie in the
+      future.
     </para>
 
     <para>
@@ -5985,15 +5986,31 @@
     </para>
 
     <para>
-      The return value ranges in the following function descriptions
-      apply for complete dates. If a date is a <quote>zero</quote> value
-      or an incomplete date such as <literal>'2001-11-00'</literal>,
-      functions that extract a part of a date may return
-      <literal>0</literal>. For example,
-      <literal>DAYOFMONTH('2001-11-00')</literal> returns
-      <literal>0</literal>.
+      Some date functions can be used with <quote>zero</quote> dates or
+      incomplete dates such as <literal>'2001-11-00'</literal>, whereas
+      others cannot. Functions that extract parts of dates typically
+      work with incomplete dates. For example:
     </para>
 
+<programlisting>
+mysql&gt; <userinput>SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');</userinput>
+        -&gt; 0, 0
+</programlisting>
+
+    <para>
+      Other functions expect complete dates and return
+      <literal>NULL</literal> for incomplete dates. These include
+      functions that perform date arithmetic or that map parts of dates
+      to names. For example:
+    </para>
+
+<programlisting>
+mysql&gt; <userinput>SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);</userinput>
+        -&gt; NULL
+mysql&gt; <userinput>SELECT DAYNAME('2006-05-00');</userinput>
+        -&gt; NULL
+</programlisting>
+
     <itemizedlist>
 
       <listitem>
@@ -6034,10 +6051,10 @@
 </programlisting>
 
         <para>
-          As of MySQL 4.1.1, the second syntax is allowed, where
-          <replaceable>expr</replaceable> is a date or datetime
-          expression and <replaceable>days</replaceable> is the number
-          of days to be added to <replaceable>expr</replaceable>.
+          As of MySQL 4.1.1, the second syntax is allowed. When invoked
+          with the <replaceable>days</replaceable> form of the second
+          argument, MySQL treats it as an integer number of days to be
+          added to <replaceable>expr</replaceable>.
         </para>
 
         <remark role="help-description-end"/>
@@ -6116,10 +6133,10 @@
 
         <para>
           <literal>CONVERT_TZ()</literal> converts a datetime value
-          <replaceable>dt</replaceable> from time zone given by
+          <replaceable>dt</replaceable> from the time zone given by
           <replaceable>from_tz</replaceable> to the time zone given by
           <replaceable>to_tz</replaceable> and returns the resulting
-          value. Time zones may be specified as described in
+          value. Time zones are specified as described in
           <xref linkend="time-zone-support"/>. This function returns
           <literal>NULL</literal> if the arguments are invalid.
         </para>
@@ -6450,9 +6467,9 @@
         </para>
 
         <para>
-          The following table shows how the
-          <replaceable>type</replaceable> and
-          <replaceable>expr</replaceable> arguments are related:
+          The following table shows the expected form of the
+          <replaceable>expr</replaceable> argument for each
+          <replaceable>type</replaceable> value.
         </para>
 
         <informaltable>
@@ -6594,8 +6611,18 @@
         </para>
 
         <para>
-          As of MySQL 3.23, <literal>INTERVAL
-          <replaceable>expr</replaceable>
+          As of MySQL 3.23, date arithmetic also can be performed using
+          <literal>INTERVAL</literal> together with the
+          <literal>+</literal> or <literal>-</literal> operator:
+        </para>
+
+<programlisting>
+<literal>date</literal> + INTERVAL <replaceable>expr</replaceable> <replaceable>type</replaceable>
+<literal>date</literal> - INTERVAL <replaceable>expr</replaceable> <replaceable>type</replaceable>
+</programlisting>
+
+        <para>
+          <literal>INTERVAL <replaceable>expr</replaceable>
           <replaceable>type</replaceable></literal> is allowed on either
           side of the <literal>+</literal> operator if the expression on
           the other side is a date or datetime value. For the
@@ -6603,7 +6630,7 @@
           <replaceable>expr</replaceable>
           <replaceable>type</replaceable></literal> is allowed only on
           the right side, because it makes no sense to subtract a date
-          or datetime value from an interval. (See examples below.)
+          or datetime value from an interval.
         </para>
 
         <remark role="help-example"/>
@@ -6669,8 +6696,7 @@
 </programlisting>
 
         <para>
-          If you use very badly malformed dates, the result is
-          <literal>NULL</literal>. If you add <literal>MONTH</literal>,
+          If you add <literal>MONTH</literal>,
           <literal>YEAR_MONTH</literal>, or <literal>YEAR</literal> and
           the resulting date has a day that is larger than the maximum
           day for the new month, the day is adjusted to the maximum days
@@ -6681,6 +6707,19 @@
 mysql&gt; <userinput>SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH);</userinput>
         -&gt; '1998-02-28'
 </programlisting>
+
+        <para>
+          Date arithmetic operations require complete dates and do not
+          work with incomplete dates such as
+          <literal>'2005-07-00'</literal> or badly malformed dates:
+        </para>
+
+<programlisting>
+mysql&gt; <userinput>SELECT DATE_ADD('2006-07-00', INTERVAL 1 DAY);</userinput>
+        -&gt; NULL
+mysql&gt; <userinput>SELECT '2005-03-32' + INTERVAL 1 MONTH;</userinput>
+        -&gt; NULL
+</programlisting>
       </listitem>
 
       <listitem>
@@ -6709,7 +6748,10 @@
 
         <para>
           The following specifiers may be used in the
-          <replaceable>format</replaceable> string:
+          <replaceable>format</replaceable> string. As of MySQL 3.23,
+          the &lsquo;<literal>%</literal>&rsquo; character is required
+          before format specifier characters. In earlier versions of
+          MySQL, &lsquo;<literal>%</literal>&rsquo; was optional.
         </para>
 
         <informaltable>
@@ -6738,7 +6780,7 @@
                 <entry><literal>%D</literal></entry>
                 <entry>Day of the month with English suffix (<literal>0th</literal>,
                   <literal>1st</literal>, <literal>2nd</literal>,
-                  <literal>3rd</literal>, ...)</entry>
+                  <literal>3rd</literal>, &hellip;)</entry>
               </row>
               <row>
                 <entry><literal>%d</literal></entry>
@@ -6860,16 +6902,17 @@
                 <entry><literal>%%</literal></entry>
                 <entry>A literal &lsquo;<literal>%</literal>&rsquo; character</entry>
               </row>
+              <row>
+                <entry><literal>%<replaceable>x</replaceable></literal></entry>
+                <entry><replaceable>x</replaceable>, for any
+                  &lsquo;<replaceable>x</replaceable>&rsquo; not listed
+                  above</entry>
+              </row>
             </tbody>
           </tgroup>
         </informaltable>
 
         <para>
-          All other characters are copied to the result without
-          interpretation.
-        </para>
-
-        <para>
           The <literal>%v</literal>, <literal>%V</literal>,
           <literal>%x</literal>, and <literal>%X</literal> format
           specifiers are available as of MySQL 3.23.8.
@@ -6877,13 +6920,6 @@
         </para>
 
         <para>
-          As of MySQL 3.23, the &lsquo;<literal>%</literal>&rsquo;
-          character is required before format specifier characters. In
-          earlier versions of MySQL, &lsquo;<literal>%</literal>&rsquo;
-          was optional.
-        </para>
-
-        <para>
           Ranges for the month and day specifiers begin with zero due to
           the fact that MySQL allows the storing of incomplete dates
           such as <literal>'2004-00-00'</literal> (as of MySQL 3.23).
@@ -6904,6 +6940,8 @@
         -&gt; '22 22 10 10:23:00 PM 22:23:00 00 6'
 mysql&gt; <userinput>SELECT DATE_FORMAT('1999-01-01', '%X %V');</userinput>
         -&gt; '1998 52'
+mysql&gt; <userinput>SELECT DATE_FORMAT('2006-06-00', '%d');</userinput>
+        -&gt; '00'
 </programlisting>
       </listitem>
 
@@ -6985,7 +7023,7 @@
         <para>
           Returns the day of the month for
           <replaceable>date</replaceable>, in the range
-          <literal>1</literal> to <literal>31</literal>.
+          <literal>0</literal> to <literal>31</literal>.
         </para>
 
         <remark role="help-description-end"/>
@@ -7018,7 +7056,7 @@
         <para>
           Returns the weekday index for <replaceable>date</replaceable>
           (<literal>1</literal> = Sunday, <literal>2</literal> = Monday,
-          ..., <literal>7</literal> = Saturday). These index values
+          &hellip;, <literal>7</literal> = Saturday). These index values
           correspond to the ODBC standard.
         </para>
 
@@ -7242,16 +7280,16 @@
 
 <!--
       and when setting 
-      the server variables <literal>DATE_FORMAT</literal>, 
+      the system variables <literal>DATE_FORMAT</literal>, 
       <literal>TIME_FORMAT</literal>, and 
       <literal>DATETIME_FORMAT</literal>. 
 -->
 
         <para>
-          The three possible values for the first argument and the five
-          possible values for the second argument result in 15 possible
-          format strings (for the specifiers used, see the table in the
-          <literal>DATE_FORMAT()</literal> function description).
+          The possible values for the first and second arguments result
+          in several possible format strings (for the specifiers used,
+          see the table in the <literal>DATE_FORMAT()</literal> function
+          description). ISO format refers to ISO 9075, not ISO 8601.
         </para>
 
         <informaltable>
@@ -7328,13 +7366,10 @@
         </informaltable>
 
         <para>
-          ISO format is ISO 9075, not ISO 8601.
-        </para>
-
-        <para>
           As of MySQL 4.1.4, <literal>TIMESTAMP</literal> can also be
-          used; <literal>GET_FORMAT()</literal> returns the same values
-          as for <literal>DATETIME</literal>.
+          used as the first argument to <literal>GET_FORMAT()</literal>,
+          in which case the function returns the same values as for
+          <literal>DATETIME</literal>.
         </para>
 
         <remark>
@@ -7351,19 +7386,26 @@
         -&gt; '03.10.2003'
 mysql&gt; <userinput>SELECT STR_TO_DATE('10.31.2003',GET_FORMAT(DATE,'USA'));</userinput>
         -&gt; '2003-10-31'
-        
-<remark>Following is commented out because not yet implemented:</remark>
+</programlisting>
 
+        <remark>
+          Following is commented out because not yet implemented:
+        </remark>
+
 <!--  
+<programlisting>
 mysql&gt; <userinput>SET DATE_FORMAT=GET_FORMAT(DATE, 'USA'); SELECT '2003-10-31';</userinput>
       -gt; '10-31-2003'
--->
-
 </programlisting>
 
         <para>
+          See also <xref linkend="set-option"/>.
+        </para>
+-->
+
+        <para>
           <literal>GET_FORMAT()</literal> is available as of MySQL
-          4.1.1. See <xref linkend="set-option"/>.
+          4.1.1.
         </para>
       </listitem>
 
@@ -7387,7 +7429,10 @@
         <para>
           Returns the hour for <replaceable>time</replaceable>. The
           range of the return value is <literal>0</literal> to
-          <literal>23</literal> for time-of-day values.
+          <literal>23</literal> for time-of-day values. However, the
+          range of <literal>TIME</literal> values actually is much
+          larger, so <literal>HOUR</literal> can return values greater
+          than <literal>23</literal>.
         </para>
 
         <remark role="help-description-end"/>
@@ -7397,15 +7442,6 @@
 <programlisting>
 mysql&gt; <userinput>SELECT HOUR('10:05:03');</userinput>
         -&gt; 10
-</programlisting>
-
-        <para>
-          However, the range of <literal>TIME</literal> values actually
-          is much larger, so <literal>HOUR</literal> can return values
-          greater than <literal>23</literal>.
-        </para>
-
-<programlisting>
 mysql&gt; <userinput>SELECT HOUR('272:59:59');</userinput>
         -&gt; 272
 </programlisting>
@@ -7681,7 +7717,7 @@
 
         <para>
           Returns the month for <replaceable>date</replaceable>, in the
-          range <literal>1</literal> to <literal>12</literal>.
+          range <literal>0</literal> to <literal>12</literal>.
         </para>
 
         <remark role="help-description-end"/>
@@ -8712,7 +8748,7 @@
 
         <para>
           The following table describes how the
-          <replaceable>mode</replaceable> argument works:
+          <replaceable>mode</replaceable> argument works.
         </para>
 
         <informaltable>
@@ -8732,7 +8768,7 @@
                 <entry><emphasis role="bold">Mode</emphasis></entry>
                 <entry><emphasis role="bold">of week</emphasis></entry>
                 <entry><emphasis role="bold">Range</emphasis></entry>
-                <entry><emphasis role="bold">Week 1 is the first week...</emphasis></entry>
+                <entry><emphasis role="bold">Week 1 is the first week &hellip;</emphasis></entry>
               </row>
               <row>
                 <entry>0</entry>
@@ -8886,7 +8922,7 @@
         <para>
           Returns the weekday index for <replaceable>date</replaceable>
           (<literal>0</literal> = Monday, <literal>1</literal> =
-          Tuesday, ... <literal>6</literal> = Sunday).
+          Tuesday, &hellip; <literal>6</literal> = Sunday).
         </para>
 
         <remark role="help-description-end"/>
@@ -9042,8 +9078,8 @@
     <para>
       Every country that has switched from the Julian to the Gregorian
       calendar has had to discard at least ten days during the switch.
-      To see how this works, let's look at the month of October 1582,
-      when the first Julian-to-Gregorian switch occurred:
+      To see how this works, consider the month of October 1582, when
+      the first Julian-to-Gregorian switch occurred:
     </para>
 
     <informaltable>
@@ -9163,11 +9199,11 @@
 
         <para>
           <indexterm type="function">
-            <primary>MATCH ... AGAINST()</primary>
+            <primary>MATCH &hellip; AGAINST()</primary>
           </indexterm>
 
           <literal>MATCH
-          (<replaceable>col1</replaceable>,<replaceable>col2</replaceable>,...)
+          (<replaceable>col1</replaceable>,<replaceable>col2</replaceable>,&hellip;)
           AGAINST (<replaceable>expr</replaceable> [IN BOOLEAN MODE |
           WITH QUERY EXPANSION])</literal>
         </para>
@@ -9593,8 +9629,8 @@
             By default (when neither <literal>+</literal> nor
             <literal>-</literal> is specified) the word is optional, but
             the rows that contain it are rated higher. This mimics the
-            behavior of <literal>MATCH() ... AGAINST()</literal> without
-            the <literal>IN BOOLEAN MODE</literal> modifier.
+            behavior of <literal>MATCH() &hellip; AGAINST()</literal>
+            without the <literal>IN BOOLEAN MODE</literal> modifier.
           </para>
         </listitem>
 
@@ -9871,7 +9907,7 @@
 
       <para>
         The following table shows the default list of full-text
-        stopwords:
+        stopwords.
       </para>
 
       <informaltable>
@@ -12805,7 +12841,7 @@
           <para>
             The use of <literal>SQL_CALC_FOUND_ROWS</literal> and
             <literal>FOUND_ROWS()</literal> is more complex for
-            <literal>UNION</literal> queries than for simple
+            <literal>UNION</literal> statements than for simple
             <literal>SELECT</literal> statements, because
             <literal>LIMIT</literal> may occur at multiple places in a
             <literal>UNION</literal>. It may be applied to individual
@@ -12995,11 +13031,11 @@
           </para>
 
           <para>
-            If you use <literal>INSERT IGNORE</literal> and the record
-            is ignored, the <literal>AUTO_INCREMENT</literal> counter is
+            If you use <literal>INSERT IGNORE</literal> and the row is
+            ignored, the <literal>AUTO_INCREMENT</literal> counter is
             not incremented and <literal>LAST_INSERT_ID()</literal>
-            returns <literal>0</literal>, which reflects that no record
-            was inserted. (Before MySQL 4.1, the
+            returns <literal>0</literal>, which reflects that no row was
+            inserted. (Before MySQL 4.1, the
             <literal>AUTO_INCREMENT</literal> counter is still
             incremented and <literal>LAST_INSERT_ID()</literal> returns
             the new value.)
@@ -13771,8 +13807,9 @@
             inserted, had no duplicate-key conflict occurred. This
             function is especially useful in multiple-row inserts. The
             <literal>VALUES()</literal> function is meaningful only in
-            <literal>INSERT ... UPDATE</literal> statements and returns
-            <literal>NULL</literal> otherwise. <xref linkend="insert"/>.
+            <literal>INSERT &hellip; UPDATE</literal> statements and
+            returns <literal>NULL</literal> otherwise.
+            <xref linkend="insert"/>.
           </para>
 
           <remark role="help-description-end"/>
@@ -14037,7 +14074,7 @@
           <para>
             This optimization applies only to <literal>MyISAM</literal>
             and <literal>ISAM</literal> tables only, because an exact
-            record count is stored for these storage engines and can be
+            row count is stored for these storage engines and can be
             accessed very quickly. For transactional storage engines
             (<literal>InnoDB</literal>, <literal>BDB</literal>), storing
             an exact row count is more problematic because multiple
@@ -14065,7 +14102,7 @@
             </indexterm>
 
             <literal>COUNT(DISTINCT
-            <replaceable>expr</replaceable>,[<replaceable>expr</replaceable>...])</literal>
+            <replaceable>expr</replaceable>,[<replaceable>expr</replaceable>&hellip;])</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -14095,7 +14132,7 @@
             combinations that do not contain <literal>NULL</literal> by
             giving a list of expressions. In standard SQL, you would
             have to do a concatenation of all expressions inside
-            <literal>COUNT(DISTINCT ...)</literal>.
+            <literal>COUNT(DISTINCT &hellip;)</literal>.
           </para>
 
           <para>

Modified: trunk/refman-5.0/client-utility-programs.xml
===================================================================
--- trunk/refman-5.0/client-utility-programs.xml	2006-01-20 19:42:09 UTC (rev 955)
+++ trunk/refman-5.0/client-utility-programs.xml	2006-01-20 20:52:56 UTC (rev 956)
@@ -2827,7 +2827,7 @@
               </row>
               <row>
                 <entry><literal>\w</literal></entry>
-                <entry>The current day of the week in three-letter format (Mon, Tue, ...)</entry>
+                <entry>The current day of the week in three-letter format (Mon, Tue, &hellip;)</entry>
               </row>
               <row>
                 <entry><literal>\P</literal></entry>
@@ -2839,7 +2839,7 @@
               </row>
               <row>
                 <entry><literal>\O</literal></entry>
-                <entry>The current month in three-letter format (Jan, Feb, ...)</entry>
+                <entry>The current month in three-letter format (Jan, Feb, &hellip;)</entry>
               </row>
               <row>
                 <entry><literal>\c</literal></entry>
@@ -3733,7 +3733,7 @@
           <listitem>
             <para>
               <literal>kill
-              <replaceable>id</replaceable>,<replaceable>id</replaceable>,...</literal>
+              <replaceable>id</replaceable>,<replaceable>id</replaceable>,&hellip;</literal>
             </para>
 
             <para>
@@ -6207,11 +6207,11 @@
 
           <listitem>
             <para>
-              <option>--fields-terminated-by=...</option>,
-              <option>--fields-enclosed-by=...</option>,
-              <option>--fields-optionally-enclosed-by=...</option>,
-              <option>--fields-escaped-by=...</option>,
-              <option>--lines-terminated-by=...</option>
+              <option>--fields-terminated-by=&hellip;</option>,
+              <option>--fields-enclosed-by=&hellip;</option>,
+              <option>--fields-optionally-enclosed-by=&hellip;</option>,
+              <option>--fields-escaped-by=&hellip;</option>,
+              <option>--lines-terminated-by=&hellip;</option>
             </para>
 
             <para>
@@ -6885,12 +6885,12 @@
           beginning of the dump. As soon as this lock has been acquired,
           the binary log coordinates are read and lock is released. So
           if and only if one long updating statement is running when the
-          <literal>FLUSH...</literal> is issued, the MySQL server may
-          get stalled until that long statement finishes, and then the
-          dump becomes lock-free. So if the MySQL server receives only
-          short (in the sense of <quote>short execution time</quote>) updating
-          statements, even if there are plenty of them, the initial lock
-          period should not be noticeable.
+          <literal>FLUSH &hellip;</literal> is issued, the MySQL server
+          may get stalled until that long statement finishes, and then
+          the dump becomes lock-free. So if the MySQL server receives
+          only short (in the sense of <quote>short execution
+          time</quote>) updating statements, even if there are plenty of
+          them, the initial lock period should not be noticeable.
         </para>
 
 <programlisting>
@@ -7416,11 +7416,11 @@
 
           <listitem>
             <para>
-              <option>--fields-terminated-by=...</option>,
-              <option>--fields-enclosed-by=...</option>,
-              <option>--fields-optionally-enclosed-by=...</option>,
-              <option>--fields-escaped-by=...</option>,
-              <option>--lines-terminated-by=...</option>
+              <option>--fields-terminated-by=&hellip;</option>,
+              <option>--fields-enclosed-by=&hellip;</option>,
+              <option>--fields-optionally-enclosed-by=&hellip;</option>,
+              <option>--fields-escaped-by=&hellip;</option>,
+              <option>--lines-terminated-by=&hellip;</option>
             </para>
 
             <para>

Modified: trunk/refman-5.0/functions.xml
===================================================================
--- trunk/refman-5.0/functions.xml	2006-01-20 19:42:09 UTC (rev 955)
+++ trunk/refman-5.0/functions.xml	2006-01-20 20:52:56 UTC (rev 956)
@@ -330,7 +330,7 @@
         The reason for this is that there are many different strings
         that may convert to the value <literal>1</literal>:
         <literal>'1'</literal>, <literal>' 1'</literal>,
-        <literal>'1a'</literal>, ...
+        <literal>'1a'</literal>, &hellip;
       </para>
 
     </section>
@@ -843,7 +843,7 @@
 
           <para>
             <indexterm type="function">
-              <primary>BETWEEN ... AND</primary>
+              <primary>BETWEEN &hellip; AND</primary>
             </indexterm>
 
             <literal><replaceable>expr</replaceable> BETWEEN
@@ -932,7 +932,7 @@
               <primary>COALESCE()</primary>
             </indexterm>
 
-            <literal>COALESCE(<replaceable>value</replaceable>,...)</literal>
+            <literal>COALESCE(<replaceable>value</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -967,7 +967,7 @@
               <primary>GREATEST()</primary>
             </indexterm>
 
-            <literal>GREATEST(<replaceable>value1</replaceable>,<replaceable>value2</replaceable>,...)</literal>
+            <literal>GREATEST(<replaceable>value1</replaceable>,<replaceable>value2</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -1013,7 +1013,7 @@
             </indexterm>
 
             <literal><replaceable>expr</replaceable> IN
-            (<replaceable>value</replaceable>,...)</literal>
+            (<replaceable>value</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -1079,7 +1079,7 @@
             </indexterm>
 
             <literal><replaceable>expr</replaceable> NOT IN
-            (<replaceable>value</replaceable>,...)</literal>
+            (<replaceable>value</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -1089,7 +1089,7 @@
           <para>
             This is the same as <literal>NOT
             (<replaceable>expr</replaceable> IN
-            (<replaceable>value</replaceable>,...))</literal>.
+            (<replaceable>value</replaceable>,&hellip;))</literal>.
           </para>
 
           <remark role="help-description-end"/>
@@ -1155,7 +1155,7 @@
               <primary>INTERVAL()</primary>
             </indexterm>
 
-            <literal>INTERVAL(<replaceable>N</replaceable>,<replaceable>N1</replaceable>,<replaceable>N2</replaceable>,<replaceable>N3</replaceable>,...)</literal>
+            <literal>INTERVAL(<replaceable>N</replaceable>,<replaceable>N1</replaceable>,<replaceable>N2</replaceable>,<replaceable>N3</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -1171,8 +1171,9 @@
             <literal>NULL</literal>. All arguments are treated as
             integers. It is required that <replaceable>N1</replaceable>
             &lt; <replaceable>N2</replaceable> &lt;
-            <replaceable>N3</replaceable> &lt; <literal>...</literal>
-            &lt; <replaceable>Nn</replaceable> for this function to work
+            <replaceable>N3</replaceable> &lt;
+            <literal>&hellip;</literal> &lt;
+            <replaceable>Nn</replaceable> for this function to work
             correctly. This is because a binary search is used (very
             fast).
           </para>
@@ -1201,7 +1202,7 @@
               <primary>LEAST()</primary>
             </indexterm>
 
-            <literal>LEAST(<replaceable>value1</replaceable>,<replaceable>value2</replaceable>,...)</literal>
+            <literal>LEAST(<replaceable>value1</replaceable>,<replaceable>value2</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -1578,7 +1579,7 @@
           [<replaceable>compare_value</replaceable>] THEN
           <replaceable>result</replaceable> [WHEN
           [<replaceable>compare_value</replaceable>] THEN
-          <replaceable>result</replaceable> ...] [ELSE
+          <replaceable>result</replaceable> &hellip;] [ELSE
           <replaceable>result</replaceable>] END</literal>
         </para>
 
@@ -1586,7 +1587,7 @@
           <literal>CASE WHEN [<replaceable>condition</replaceable>] THEN
           <replaceable>result</replaceable> [WHEN
           [<replaceable>condition</replaceable>] THEN
-          <replaceable>result</replaceable> ...] [ELSE
+          <replaceable>result</replaceable> &hellip;] [ELSE
           <replaceable>result</replaceable>] END</literal>
         </para>
 
@@ -2045,7 +2046,7 @@
             <primary>CHAR()</primary>
           </indexterm>
 
-          <literal>CHAR(<replaceable>N</replaceable>,... [USING
+          <literal>CHAR(<replaceable>N</replaceable>,&hellip; [USING
           <replaceable>charset</replaceable>])</literal>
         </para>
 
@@ -2268,7 +2269,7 @@
             <primary>CONCAT()</primary>
           </indexterm>
 
-          <literal>CONCAT(<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,...)</literal>
+          <literal>CONCAT(<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -2318,7 +2319,7 @@
             <primary>CONCAT_WS()</primary>
           </indexterm>
 
-          <literal>CONCAT_WS(<replaceable>separator</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,...)</literal>
+          <literal>CONCAT_WS(<replaceable>separator</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -2415,7 +2416,7 @@
             <primary>ELT()</primary>
           </indexterm>
 
-          <literal>ELT(<replaceable>N</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,<replaceable>str3</replaceable>,...)</literal>
+          <literal>ELT(<replaceable>N</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,<replaceable>str3</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -2499,7 +2500,7 @@
             <primary>FIELD()</primary>
           </indexterm>
 
-          <literal>FIELD(<replaceable>str</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,<replaceable>str3</replaceable>,...)</literal>
+          <literal>FIELD(<replaceable>str</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,<replaceable>str3</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -2510,9 +2511,9 @@
           Returns the index (position) of <replaceable>str</replaceable>
           in the <replaceable>str1</replaceable>,
           <replaceable>str2</replaceable>,
-          <replaceable>str3</replaceable>, <literal>...</literal> list.
-          Returns <literal>0</literal> if <replaceable>str</replaceable>
-          is not found.
+          <replaceable>str3</replaceable>, <literal>&hellip;</literal>
+          list. Returns <literal>0</literal> if
+          <replaceable>str</replaceable> is not found.
         </para>
 
         <para>
@@ -3080,7 +3081,7 @@
             <primary>MAKE_SET()</primary>
           </indexterm>
 
-          <literal>MAKE_SET(<replaceable>bits</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,...)</literal>
+          <literal>MAKE_SET(<replaceable>bits</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -3096,8 +3097,8 @@
           <replaceable>str2</replaceable> to bit 1, and so on.
           <literal>NULL</literal> values in
           <replaceable>str1</replaceable>,
-          <replaceable>str2</replaceable>, <literal>...</literal> are
-          not appended to the result.
+          <replaceable>str2</replaceable>, <literal>&hellip;</literal>
+          are not appended to the result.
         </para>
 
         <remark role="help-description-end"/>
@@ -6056,8 +6057,8 @@
 
     <para>
       Here is an example that uses date functions. The following query
-      selects all records with a <literal>date_col</literal> value from
-      within the last 30 days:
+      selects all rows with a <replaceable>date_col</replaceable> value
+      from within the last 30 days:
     </para>
 
 <programlisting>
@@ -6066,8 +6067,8 @@
 </programlisting>
 
     <para>
-      Note that the query also selects records with dates that lie in
-      the future.
+      Note that the query also selects rows with dates that lie in the
+      future.
     </para>
 
     <para>
@@ -6102,15 +6103,31 @@
     </para>
 
     <para>
-      The return value ranges in the following function descriptions
-      apply for complete dates. If a date is a <quote>zero</quote> value
-      or an incomplete date such as <literal>'2001-11-00'</literal>,
-      functions that extract a part of a date may return
-      <literal>0</literal>. For example,
-      <literal>DAYOFMONTH('2001-11-00')</literal> returns
-      <literal>0</literal>.
+      Some date functions can be used with <quote>zero</quote> dates or
+      incomplete dates such as <literal>'2001-11-00'</literal>, whereas
+      others cannot. Functions that extract parts of dates typically
+      work with incomplete dates. For example:
     </para>
 
+<programlisting>
+mysql&gt; <userinput>SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');</userinput>
+        -&gt; 0, 0
+</programlisting>
+
+    <para>
+      Other functions expect complete dates and return
+      <literal>NULL</literal> for incomplete dates. These include
+      functions that perform date arithmetic or that map parts of dates
+      to names. For example:
+    </para>
+
+<programlisting>
+mysql&gt; <userinput>SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);</userinput>
+        -&gt; NULL
+mysql&gt; <userinput>SELECT DAYNAME('2006-05-00');</userinput>
+        -&gt; NULL
+</programlisting>
+
     <itemizedlist>
 
       <listitem>
@@ -6151,9 +6168,9 @@
 </programlisting>
 
         <para>
-          If the <replaceable>days</replaceable> argument is simply an
-          integer value, then MySQL &current-series; treats it as the
-          number of days to be added to <replaceable>expr</replaceable>.
+          When invoked with the <replaceable>days</replaceable> form of
+          the second argument, MySQL treats it as an integer number of
+          days to be added to <replaceable>expr</replaceable>.
         </para>
 
         <remark role="help-description-end"/>
@@ -6228,10 +6245,10 @@
 
         <para>
           <literal>CONVERT_TZ()</literal> converts a datetime value
-          <replaceable>dt</replaceable> from time zone given by
+          <replaceable>dt</replaceable> from the time zone given by
           <replaceable>from_tz</replaceable> to the time zone given by
           <replaceable>to_tz</replaceable> and returns the resulting
-          value. Time zones may be specified as described in
+          value. Time zones are specified as described in
           <xref linkend="time-zone-support"/>. This function returns
           <literal>NULL</literal> if the arguments are invalid.
         </para>
@@ -6550,9 +6567,9 @@
         </para>
 
         <para>
-          The following table shows how the
-          <replaceable>type</replaceable> and
-          <replaceable>expr</replaceable> arguments are related:
+          The following table shows the expected form of the
+          <replaceable>expr</replaceable> argument for each
+          <replaceable>type</replaceable> value.
         </para>
 
         <informaltable>
@@ -6669,6 +6686,17 @@
         </para>
 
         <para>
+          Date arithmetic also can be performed using
+          <literal>INTERVAL</literal> together with the
+          <literal>+</literal> or <literal>-</literal> operator:
+        </para>
+
+<programlisting>
+<literal>date</literal> + INTERVAL <replaceable>expr</replaceable> <replaceable>type</replaceable>
+<literal>date</literal> - INTERVAL <replaceable>expr</replaceable> <replaceable>type</replaceable>
+</programlisting>
+
+        <para>
           <literal>INTERVAL <replaceable>expr</replaceable>
           <replaceable>type</replaceable></literal> is allowed on either
           side of the <literal>+</literal> operator if the expression on
@@ -6677,7 +6705,7 @@
           <replaceable>expr</replaceable>
           <replaceable>type</replaceable></literal> is allowed only on
           the right side, because it makes no sense to subtract a date
-          or datetime value from an interval. (See examples below.)
+          or datetime value from an interval.
         </para>
 
         <remark role="help-example"/>
@@ -6743,8 +6771,7 @@
 </programlisting>
 
         <para>
-          If you use very badly malformed dates, the result is
-          <literal>NULL</literal>. If you add <literal>MONTH</literal>,
+          If you add <literal>MONTH</literal>,
           <literal>YEAR_MONTH</literal>, or <literal>YEAR</literal> and
           the resulting date has a day that is larger than the maximum
           day for the new month, the day is adjusted to the maximum days
@@ -6755,6 +6782,19 @@
 mysql&gt; <userinput>SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH);</userinput>
         -&gt; '1998-02-28'
 </programlisting>
+
+        <para>
+          Date arithmetic operations require complete dates and do not
+          work with incomplete dates such as
+          <literal>'2005-07-00'</literal> or badly malformed dates:
+        </para>
+
+<programlisting>
+mysql&gt; <userinput>SELECT DATE_ADD('2006-07-00', INTERVAL 1 DAY);</userinput>
+        -&gt; NULL
+mysql&gt; <userinput>SELECT '2005-03-32' + INTERVAL 1 MONTH;</userinput>
+        -&gt; NULL
+</programlisting>
       </listitem>
 
       <listitem>
@@ -6783,7 +6823,9 @@
 
         <para>
           The following specifiers may be used in the
-          <replaceable>format</replaceable> string:
+          <replaceable>format</replaceable> string. The
+          &lsquo;<literal>%</literal>&rsquo; character is required
+          before format specifier characters.
         </para>
 
         <informaltable>
@@ -6812,7 +6854,7 @@
                 <entry><literal>%D</literal></entry>
                 <entry>Day of the month with English suffix (<literal>0th</literal>,
                   <literal>1st</literal>, <literal>2nd</literal>,
-                  <literal>3rd</literal>, ...)</entry>
+                  <literal>3rd</literal>, &hellip;)</entry>
               </row>
               <row>
                 <entry><literal>%d</literal></entry>
@@ -6934,21 +6976,17 @@
                 <entry><literal>%%</literal></entry>
                 <entry>A literal &lsquo;<literal>%</literal>&rsquo; character</entry>
               </row>
+              <row>
+                <entry><literal>%<replaceable>x</replaceable></literal></entry>
+                <entry><replaceable>x</replaceable>, for any
+                  &lsquo;<replaceable>x</replaceable>&rsquo; not listed
+                  above</entry>
+              </row>
             </tbody>
           </tgroup>
         </informaltable>
 
         <para>
-          All other characters are copied to the result without
-          interpretation.
-        </para>
-
-        <para>
-          Note that the &lsquo;<literal>%</literal>&rsquo; character is
-          required before format specifier characters.
-        </para>
-
-        <para>
           Ranges for the month and day specifiers begin with zero due to
           the fact that MySQL allows the storing of incomplete dates
           such as <literal>'2004-00-00'</literal>.
@@ -6969,6 +7007,8 @@
         -&gt; '22 22 10 10:23:00 PM 22:23:00 00 6'
 mysql&gt; <userinput>SELECT DATE_FORMAT('1999-01-01', '%X %V');</userinput>
         -&gt; '1998 52'
+mysql&gt; <userinput>SELECT DATE_FORMAT('2006-06-00', '%d');</userinput>
+        -&gt; '00'
 </programlisting>
       </listitem>
 
@@ -7049,7 +7089,7 @@
         <para>
           Returns the day of the month for
           <replaceable>date</replaceable>, in the range
-          <literal>1</literal> to <literal>31</literal>.
+          <literal>0</literal> to <literal>31</literal>.
         </para>
 
         <remark role="help-description-end"/>
@@ -7082,7 +7122,7 @@
         <para>
           Returns the weekday index for <replaceable>date</replaceable>
           (<literal>1</literal> = Sunday, <literal>2</literal> = Monday,
-          ..., <literal>7</literal> = Saturday). These index values
+          &hellip;, <literal>7</literal> = Saturday). These index values
           correspond to the ODBC standard.
         </para>
 
@@ -7302,16 +7342,16 @@
 
 <!--
       and when setting 
-      the server variables <literal>DATE_FORMAT</literal>, 
+      the system variables <literal>DATE_FORMAT</literal>, 
       <literal>TIME_FORMAT</literal>, and 
       <literal>DATETIME_FORMAT</literal>. 
 -->
 
         <para>
-          The three possible values for the first argument and the five
-          possible values for the second argument result in 15 possible
-          format strings (for the specifiers used, see the table in the
-          <literal>DATE_FORMAT()</literal> function description).
+          The possible values for the first and second arguments result
+          in several possible format strings (for the specifiers used,
+          see the table in the <literal>DATE_FORMAT()</literal> function
+          description). ISO format refers to ISO 9075, not ISO 8601.
         </para>
 
         <informaltable>
@@ -7388,12 +7428,9 @@
         </informaltable>
 
         <para>
-          ISO format is ISO 9075, not ISO 8601.
-        </para>
-
-        <para>
-          <literal>TIMESTAMP</literal> can also be used, in which case
-          <literal>GET_FORMAT()</literal> returns the same values as for
+          <literal>TIMESTAMP</literal> can also be used as the first
+          argument to <literal>GET_FORMAT()</literal>, in which case the
+          function returns the same values as for
           <literal>DATETIME</literal>.
         </para>
 
@@ -7411,19 +7448,22 @@
         -&gt; '03.10.2003'
 mysql&gt; <userinput>SELECT STR_TO_DATE('10.31.2003',GET_FORMAT(DATE,'USA'));</userinput>
         -&gt; '2003-10-31'
-        
-<remark>Following is commented out because not yet implemented:</remark>
+</programlisting>
 
+        <remark>
+          Following is commented out because not yet implemented:
+        </remark>
+
 <!--  
+<programlisting>
 mysql&gt; <userinput>SET DATE_FORMAT=GET_FORMAT(DATE, 'USA'); SELECT '2003-10-31';</userinput>
       -gt; '10-31-2003'
--->
-
 </programlisting>
 
         <para>
           See also <xref linkend="set-option"/>.
         </para>
+-->
       </listitem>
 
       <listitem>
@@ -7446,7 +7486,10 @@
         <para>
           Returns the hour for <replaceable>time</replaceable>. The
           range of the return value is <literal>0</literal> to
-          <literal>23</literal> for time-of-day values.
+          <literal>23</literal> for time-of-day values. However, the
+          range of <literal>TIME</literal> values actually is much
+          larger, so <literal>HOUR</literal> can return values greater
+          than <literal>23</literal>.
         </para>
 
         <remark role="help-description-end"/>
@@ -7456,16 +7499,6 @@
 <programlisting>
 mysql&gt; <userinput>SELECT HOUR('10:05:03');</userinput>
         -&gt; 10
-</programlisting>
-
-        <para>
-          However, the range of <literal>TIME</literal> values actually
-          is much larger, so <literal>HOUR</literal> can return values
-          greater than <literal>23</literal>.
-        </para>
-
-<programlisting>
-
 mysql&gt; <userinput>SELECT HOUR('272:59:59');</userinput>
         -&gt; 272
 </programlisting>
@@ -7720,7 +7753,7 @@
 
         <para>
           Returns the month for <replaceable>date</replaceable>, in the
-          range <literal>1</literal> to <literal>12</literal>.
+          range <literal>0</literal> to <literal>12</literal>.
         </para>
 
         <remark role="help-description-end"/>
@@ -8826,7 +8859,7 @@
 
         <para>
           The following table describes how the
-          <replaceable>mode</replaceable> argument works:
+          <replaceable>mode</replaceable> argument works.
         </para>
 
         <informaltable>
@@ -8846,7 +8879,7 @@
                 <entry><emphasis role="bold">Mode</emphasis></entry>
                 <entry><emphasis role="bold">of week</emphasis></entry>
                 <entry><emphasis role="bold">Range</emphasis></entry>
-                <entry><emphasis role="bold">Week 1 is the first week...</emphasis></entry>
+                <entry><emphasis role="bold">Week 1 is the first week &hellip;</emphasis></entry>
               </row>
               <row>
                 <entry>0</entry>
@@ -8983,7 +9016,7 @@
         <para>
           Returns the weekday index for <replaceable>date</replaceable>
           (<literal>0</literal> = Monday, <literal>1</literal> =
-          Tuesday, ... <literal>6</literal> = Sunday).
+          Tuesday, &hellip; <literal>6</literal> = Sunday).
         </para>
 
         <remark role="help-description-end"/>
@@ -9130,8 +9163,8 @@
     <para>
       Every country that has switched from the Julian to the Gregorian
       calendar has had to discard at least ten days during the switch.
-      To see how this works, let's look at the month of October 1582,
-      when the first Julian-to-Gregorian switch occurred:
+      To see how this works, consider the month of October 1582, when
+      the first Julian-to-Gregorian switch occurred:
     </para>
 
     <informaltable>
@@ -9251,11 +9284,11 @@
 
         <para>
           <indexterm type="function">
-            <primary>MATCH ... AGAINST()</primary>
+            <primary>MATCH &hellip; AGAINST()</primary>
           </indexterm>
 
           <literal>MATCH
-          (<replaceable>col1</replaceable>,<replaceable>col2</replaceable>,...)
+          (<replaceable>col1</replaceable>,<replaceable>col2</replaceable>,&hellip;)
           AGAINST (<replaceable>expr</replaceable> [IN BOOLEAN MODE |
           WITH QUERY EXPANSION])</literal>
         </para>
@@ -9680,8 +9713,8 @@
             By default (when neither <literal>+</literal> nor
             <literal>-</literal> is specified) the word is optional, but
             the rows that contain it are rated higher. This mimics the
-            behavior of <literal>MATCH() ... AGAINST()</literal> without
-            the <literal>IN BOOLEAN MODE</literal> modifier.
+            behavior of <literal>MATCH() &hellip; AGAINST()</literal>
+            without the <literal>IN BOOLEAN MODE</literal> modifier.
           </para>
         </listitem>
 
@@ -9962,7 +9995,7 @@
 
       <para>
         The following table shows the default list of full-text
-        stopwords:
+        stopwords.
       </para>
 
       <informaltable>
@@ -12779,7 +12812,7 @@
           <para>
             The use of <literal>SQL_CALC_FOUND_ROWS</literal> and
             <literal>FOUND_ROWS()</literal> is more complex for
-            <literal>UNION</literal> queries than for simple
+            <literal>UNION</literal> statements than for simple
             <literal>SELECT</literal> statements, because
             <literal>LIMIT</literal> may occur at multiple places in a
             <literal>UNION</literal>. It may be applied to individual
@@ -12963,11 +12996,11 @@
           </para>
 
           <para>
-            If you use <literal>INSERT IGNORE</literal> and the record
-            is ignored, the <literal>AUTO_INCREMENT</literal> counter is
+            If you use <literal>INSERT IGNORE</literal> and the row is
+            ignored, the <literal>AUTO_INCREMENT</literal> counter is
             not incremented and <literal>LAST_INSERT_ID()</literal>
-            returns <literal>0</literal>, which reflects that no record
-            was inserted.
+            returns <literal>0</literal>, which reflects that no row was
+            inserted.
           </para>
 
           <para>
@@ -13849,8 +13882,9 @@
             inserted, had no duplicate-key conflict occurred. This
             function is especially useful in multiple-row inserts. The
             <literal>VALUES()</literal> function is meaningful only in
-            <literal>INSERT ... UPDATE</literal> statements and returns
-            <literal>NULL</literal> otherwise. <xref linkend="insert"/>.
+            <literal>INSERT &hellip; UPDATE</literal> statements and
+            returns <literal>NULL</literal> otherwise.
+            <xref linkend="insert"/>.
           </para>
 
           <remark role="help-description-end"/>
@@ -14124,8 +14158,8 @@
 
           <para>
             This optimization applies only to <literal>MyISAM</literal>
-            tables only, because an exact record count is stored for
-            this storage engine and can be accessed very quickly. For
+            tables only, because an exact row count is stored for this
+            storage engine and can be accessed very quickly. For
             transactional storage engines (<literal>InnoDB</literal>,
             <literal>BDB</literal>), storing an exact row count is more
             problematic because multiple transactions may be occurring,
@@ -14152,7 +14186,7 @@
             </indexterm>
 
             <literal>COUNT(DISTINCT
-            <replaceable>expr</replaceable>,[<replaceable>expr</replaceable>...])</literal>
+            <replaceable>expr</replaceable>,[<replaceable>expr</replaceable>&hellip;])</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -14182,7 +14216,7 @@
             combinations that do not contain <literal>NULL</literal> by
             giving a list of expressions. In standard SQL, you would
             have to do a concatenation of all expressions inside
-            <literal>COUNT(DISTINCT ...)</literal>.
+            <literal>COUNT(DISTINCT &hellip;)</literal>.
           </para>
         </listitem>
 

Modified: trunk/refman-5.1/client-utility-programs.xml
===================================================================
--- trunk/refman-5.1/client-utility-programs.xml	2006-01-20 19:42:09 UTC (rev 955)
+++ trunk/refman-5.1/client-utility-programs.xml	2006-01-20 20:52:56 UTC (rev 956)
@@ -2843,7 +2843,7 @@
               </row>
               <row>
                 <entry><literal>\w</literal></entry>
-                <entry>The current day of the week in three-letter format (Mon, Tue, ...)</entry>
+                <entry>The current day of the week in three-letter format (Mon, Tue, &hellip;)</entry>
               </row>
               <row>
                 <entry><literal>\P</literal></entry>
@@ -2855,7 +2855,7 @@
               </row>
               <row>
                 <entry><literal>\O</literal></entry>
-                <entry>The current month in three-letter format (Jan, Feb, ...)</entry>
+                <entry>The current month in three-letter format (Jan, Feb, &hellip;)</entry>
               </row>
               <row>
                 <entry><literal>\c</literal></entry>
@@ -3749,7 +3749,7 @@
           <listitem>
             <para>
               <literal>kill
-              <replaceable>id</replaceable>,<replaceable>id</replaceable>,...</literal>
+              <replaceable>id</replaceable>,<replaceable>id</replaceable>,&hellip;</literal>
             </para>
 
             <para>
@@ -6248,11 +6248,11 @@
 
           <listitem>
             <para>
-              <option>--fields-terminated-by=...</option>,
-              <option>--fields-enclosed-by=...</option>,
-              <option>--fields-optionally-enclosed-by=...</option>,
-              <option>--fields-escaped-by=...</option>,
-              <option>--lines-terminated-by=...</option>
+              <option>--fields-terminated-by=&hellip;</option>,
+              <option>--fields-enclosed-by=&hellip;</option>,
+              <option>--fields-optionally-enclosed-by=&hellip;</option>,
+              <option>--fields-escaped-by=&hellip;</option>,
+              <option>--lines-terminated-by=&hellip;</option>
             </para>
 
             <para>
@@ -6935,12 +6935,12 @@
           beginning of the dump. As soon as this lock has been acquired,
           the binary log coordinates are read and lock is released. So
           if and only if one long updating statement is running when the
-          <literal>FLUSH...</literal> is issued, the MySQL server may
-          get stalled until that long statement finishes, and then the
-          dump becomes lock-free. So if the MySQL server receives only
-          short (in the sense of <quote>short execution time</quote>) updating
-          statements, even if there are plenty of them, the initial lock
-          period should not be noticeable.
+          <literal>FLUSH &hellip;</literal> is issued, the MySQL server
+          may get stalled until that long statement finishes, and then
+          the dump becomes lock-free. So if the MySQL server receives
+          only short (in the sense of <quote>short execution
+          time</quote>) updating statements, even if there are plenty of
+          them, the initial lock period should not be noticeable.
         </para>
 
 <programlisting>
@@ -7466,11 +7466,11 @@
 
           <listitem>
             <para>
-              <option>--fields-terminated-by=...</option>,
-              <option>--fields-enclosed-by=...</option>,
-              <option>--fields-optionally-enclosed-by=...</option>,
-              <option>--fields-escaped-by=...</option>,
-              <option>--lines-terminated-by=...</option>
+              <option>--fields-terminated-by=&hellip;</option>,
+              <option>--fields-enclosed-by=&hellip;</option>,
+              <option>--fields-optionally-enclosed-by=&hellip;</option>,
+              <option>--fields-escaped-by=&hellip;</option>,
+              <option>--lines-terminated-by=&hellip;</option>
             </para>
 
             <para>

Modified: trunk/refman-5.1/functions.xml
===================================================================
--- trunk/refman-5.1/functions.xml	2006-01-20 19:42:09 UTC (rev 955)
+++ trunk/refman-5.1/functions.xml	2006-01-20 20:52:56 UTC (rev 956)
@@ -329,7 +329,7 @@
         The reason for this is that there are many different strings
         that may convert to the value <literal>1</literal>:
         <literal>'1'</literal>, <literal>' 1'</literal>,
-        <literal>'1a'</literal>, ...
+        <literal>'1a'</literal>, &hellip;
       </para>
 
     </section>
@@ -836,7 +836,7 @@
 
           <para>
             <indexterm type="function">
-              <primary>BETWEEN ... AND</primary>
+              <primary>BETWEEN &hellip; AND</primary>
             </indexterm>
 
             <literal><replaceable>expr</replaceable> BETWEEN
@@ -925,7 +925,7 @@
               <primary>COALESCE()</primary>
             </indexterm>
 
-            <literal>COALESCE(<replaceable>value</replaceable>,...)</literal>
+            <literal>COALESCE(<replaceable>value</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -960,7 +960,7 @@
               <primary>GREATEST()</primary>
             </indexterm>
 
-            <literal>GREATEST(<replaceable>value1</replaceable>,<replaceable>value2</replaceable>,...)</literal>
+            <literal>GREATEST(<replaceable>value1</replaceable>,<replaceable>value2</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -1004,7 +1004,7 @@
             </indexterm>
 
             <literal><replaceable>expr</replaceable> IN
-            (<replaceable>value</replaceable>,...)</literal>
+            (<replaceable>value</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -1070,7 +1070,7 @@
             </indexterm>
 
             <literal><replaceable>expr</replaceable> NOT IN
-            (<replaceable>value</replaceable>,...)</literal>
+            (<replaceable>value</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -1080,7 +1080,7 @@
           <para>
             This is the same as <literal>NOT
             (<replaceable>expr</replaceable> IN
-            (<replaceable>value</replaceable>,...))</literal>.
+            (<replaceable>value</replaceable>,&hellip;))</literal>.
           </para>
 
           <remark role="help-description-end"/>
@@ -1146,7 +1146,7 @@
               <primary>INTERVAL()</primary>
             </indexterm>
 
-            <literal>INTERVAL(<replaceable>N</replaceable>,<replaceable>N1</replaceable>,<replaceable>N2</replaceable>,<replaceable>N3</replaceable>,...)</literal>
+            <literal>INTERVAL(<replaceable>N</replaceable>,<replaceable>N1</replaceable>,<replaceable>N2</replaceable>,<replaceable>N3</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -1162,8 +1162,9 @@
             <literal>NULL</literal>. All arguments are treated as
             integers. It is required that <replaceable>N1</replaceable>
             &lt; <replaceable>N2</replaceable> &lt;
-            <replaceable>N3</replaceable> &lt; <literal>...</literal>
-            &lt; <replaceable>Nn</replaceable> for this function to work
+            <replaceable>N3</replaceable> &lt;
+            <literal>&hellip;</literal> &lt;
+            <replaceable>Nn</replaceable> for this function to work
             correctly. This is because a binary search is used (very
             fast).
           </para>
@@ -1192,7 +1193,7 @@
               <primary>LEAST()</primary>
             </indexterm>
 
-            <literal>LEAST(<replaceable>value1</replaceable>,<replaceable>value2</replaceable>,...)</literal>
+            <literal>LEAST(<replaceable>value1</replaceable>,<replaceable>value2</replaceable>,&hellip;)</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -1560,7 +1561,7 @@
           [<replaceable>compare_value</replaceable>] THEN
           <replaceable>result</replaceable> [WHEN
           [<replaceable>compare_value</replaceable>] THEN
-          <replaceable>result</replaceable> ...] [ELSE
+          <replaceable>result</replaceable> &hellip;] [ELSE
           <replaceable>result</replaceable>] END</literal>
         </para>
 
@@ -1568,7 +1569,7 @@
           <literal>CASE WHEN [<replaceable>condition</replaceable>] THEN
           <replaceable>result</replaceable> [WHEN
           [<replaceable>condition</replaceable>] THEN
-          <replaceable>result</replaceable> ...] [ELSE
+          <replaceable>result</replaceable> &hellip;] [ELSE
           <replaceable>result</replaceable>] END</literal>
         </para>
 
@@ -2027,7 +2028,7 @@
             <primary>CHAR()</primary>
           </indexterm>
 
-          <literal>CHAR(<replaceable>N</replaceable>,... [USING
+          <literal>CHAR(<replaceable>N</replaceable>,&hellip; [USING
           <replaceable>charset</replaceable>])</literal>
         </para>
 
@@ -2240,7 +2241,7 @@
             <primary>CONCAT()</primary>
           </indexterm>
 
-          <literal>CONCAT(<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,...)</literal>
+          <literal>CONCAT(<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -2290,7 +2291,7 @@
             <primary>CONCAT_WS()</primary>
           </indexterm>
 
-          <literal>CONCAT_WS(<replaceable>separator</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,...)</literal>
+          <literal>CONCAT_WS(<replaceable>separator</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -2387,7 +2388,7 @@
             <primary>ELT()</primary>
           </indexterm>
 
-          <literal>ELT(<replaceable>N</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,<replaceable>str3</replaceable>,...)</literal>
+          <literal>ELT(<replaceable>N</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,<replaceable>str3</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -2471,7 +2472,7 @@
             <primary>FIELD()</primary>
           </indexterm>
 
-          <literal>FIELD(<replaceable>str</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,<replaceable>str3</replaceable>,...)</literal>
+          <literal>FIELD(<replaceable>str</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,<replaceable>str3</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -2482,9 +2483,9 @@
           Returns the index (position) of <replaceable>str</replaceable>
           in the <replaceable>str1</replaceable>,
           <replaceable>str2</replaceable>,
-          <replaceable>str3</replaceable>, <literal>...</literal> list.
-          Returns <literal>0</literal> if <replaceable>str</replaceable>
-          is not found.
+          <replaceable>str3</replaceable>, <literal>&hellip;</literal>
+          list. Returns <literal>0</literal> if
+          <replaceable>str</replaceable> is not found.
         </para>
 
         <para>
@@ -3052,7 +3053,7 @@
             <primary>MAKE_SET()</primary>
           </indexterm>
 
-          <literal>MAKE_SET(<replaceable>bits</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,...)</literal>
+          <literal>MAKE_SET(<replaceable>bits</replaceable>,<replaceable>str1</replaceable>,<replaceable>str2</replaceable>,&hellip;)</literal>
         </para>
 
         <remark role="help-syntax-end"/>
@@ -3068,8 +3069,8 @@
           <replaceable>str2</replaceable> to bit 1, and so on.
           <literal>NULL</literal> values in
           <replaceable>str1</replaceable>,
-          <replaceable>str2</replaceable>, <literal>...</literal> are
-          not appended to the result.
+          <replaceable>str2</replaceable>, <literal>&hellip;</literal>
+          are not appended to the result.
         </para>
 
         <remark role="help-description-end"/>
@@ -6016,8 +6017,8 @@
 
     <para>
       Here is an example that uses date functions. The following query
-      selects all records with a <literal>date_col</literal> value from
-      within the last 30 days:
+      selects all rows with a <replaceable>date_col</replaceable> value
+      from within the last 30 days:
     </para>
 
 <programlisting>
@@ -6026,8 +6027,8 @@
 </programlisting>
 
     <para>
-      Note that the query also selects records with dates that lie in
-      the future.
+      Note that the query also selects rows with dates that lie in the
+      future.
     </para>
 
     <para>
@@ -6062,15 +6063,31 @@
     </para>
 
     <para>
-      The return value ranges in the following function descriptions
-      apply for complete dates. If a date is a <quote>zero</quote> value
-      or an incomplete date such as <literal>'2001-11-00'</literal>,
-      functions that extract a part of a date may return
-      <literal>0</literal>. For example,
-      <literal>DAYOFMONTH('2001-11-00')</literal> returns
-      <literal>0</literal>.
+      Some date functions can be used with <quote>zero</quote> dates or
+      incomplete dates such as <literal>'2001-11-00'</literal>, whereas
+      others cannot. Functions that extract parts of dates typically
+      work with incomplete dates. For example:
     </para>
 
+<programlisting>
+mysql&gt; <userinput>SELECT DAYOFMONTH('2001-11-00'), MONTH('2005-00-00');</userinput>
+        -&gt; 0, 0
+</programlisting>
+
+    <para>
+      Other functions expect complete dates and return
+      <literal>NULL</literal> for incomplete dates. These include
+      functions that perform date arithmetic or that map parts of dates
+      to names. For example:
+    </para>
+
+<programlisting>
+mysql&gt; <userinput>SELECT DATE_ADD('2006-05-00',INTERVAL 1 DAY);</userinput>
+        -&gt; NULL
+mysql&gt; <userinput>SELECT DAYNAME('2006-05-00');</userinput>
+        -&gt; NULL
+</programlisting>
+
     <itemizedlist>
 
       <listitem>
@@ -6111,9 +6128,9 @@
 </programlisting>
 
         <para>
-          If the <replaceable>days</replaceable> argument is simply an
-          integer value, then MySQL &current-series; treats it as the
-          number of days to be added to <replaceable>expr</replaceable>.
+          When invoked with the <replaceable>days</replaceable> form of
+          the second argument, MySQL treats it as an integer number of
+          days to be added to <replaceable>expr</replaceable>.
         </para>
 
         <remark role="help-description-end"/>
@@ -6188,10 +6205,10 @@
 
         <para>
           <literal>CONVERT_TZ()</literal> converts a datetime value
-          <replaceable>dt</replaceable> from time zone given by
+          <replaceable>dt</replaceable> from the time zone given by
           <replaceable>from_tz</replaceable> to the time zone given by
           <replaceable>to_tz</replaceable> and returns the resulting
-          value. Time zones may be specified as described in
+          value. Time zones are specified as described in
           <xref linkend="time-zone-support"/>. This function returns
           <literal>NULL</literal> if the arguments are invalid.
         </para>
@@ -6510,9 +6527,9 @@
         </para>
 
         <para>
-          The following table shows how the
-          <replaceable>type</replaceable> and
-          <replaceable>expr</replaceable> arguments are related:
+          The following table shows the expected form of the
+          <replaceable>expr</replaceable> argument for each
+          <replaceable>type</replaceable> value.
         </para>
 
         <informaltable>
@@ -6623,6 +6640,17 @@
         </para>
 
         <para>
+          Date arithmetic also can be performed using
+          <literal>INTERVAL</literal> together with the
+          <literal>+</literal> or <literal>-</literal> operator:
+        </para>
+
+<programlisting>
+<literal>date</literal> + INTERVAL <replaceable>expr</replaceable> <replaceable>type</replaceable>
+<literal>date</literal> - INTERVAL <replaceable>expr</replaceable> <replaceable>type</replaceable>
+</programlisting>
+
+        <para>
           <literal>INTERVAL <replaceable>expr</replaceable>
           <replaceable>type</replaceable></literal> is allowed on either
           side of the <literal>+</literal> operator if the expression on
@@ -6631,7 +6659,7 @@
           <replaceable>expr</replaceable>
           <replaceable>type</replaceable></literal> is allowed only on
           the right side, because it makes no sense to subtract a date
-          or datetime value from an interval. (See examples below.)
+          or datetime value from an interval.
         </para>
 
         <remark role="help-example"/>
@@ -6697,8 +6725,7 @@
 </programlisting>
 
         <para>
-          If you use very badly malformed dates, the result is
-          <literal>NULL</literal>. If you add <literal>MONTH</literal>,
+          If you add <literal>MONTH</literal>,
           <literal>YEAR_MONTH</literal>, or <literal>YEAR</literal> and
           the resulting date has a day that is larger than the maximum
           day for the new month, the day is adjusted to the maximum days
@@ -6709,6 +6736,19 @@
 mysql&gt; <userinput>SELECT DATE_ADD('1998-01-30', INTERVAL 1 MONTH);</userinput>
         -&gt; '1998-02-28'
 </programlisting>
+
+        <para>
+          Date arithmetic operations require complete dates and do not
+          work with incomplete dates such as
+          <literal>'2005-07-00'</literal> or badly malformed dates:
+        </para>
+
+<programlisting>
+mysql&gt; <userinput>SELECT DATE_ADD('2006-07-00', INTERVAL 1 DAY);</userinput>
+        -&gt; NULL
+mysql&gt; <userinput>SELECT '2005-03-32' + INTERVAL 1 MONTH;</userinput>
+        -&gt; NULL
+</programlisting>
       </listitem>
 
       <listitem>
@@ -6737,7 +6777,9 @@
 
         <para>
           The following specifiers may be used in the
-          <replaceable>format</replaceable> string:
+          <replaceable>format</replaceable> string. The
+          &lsquo;<literal>%</literal>&rsquo; character is required
+          before format specifier characters.
         </para>
 
         <informaltable>
@@ -6766,7 +6808,7 @@
                 <entry><literal>%D</literal></entry>
                 <entry>Day of the month with English suffix (<literal>0th</literal>,
                   <literal>1st</literal>, <literal>2nd</literal>,
-                  <literal>3rd</literal>, ...)</entry>
+                  <literal>3rd</literal>, &hellip;)</entry>
               </row>
               <row>
                 <entry><literal>%d</literal></entry>
@@ -6888,21 +6930,17 @@
                 <entry><literal>%%</literal></entry>
                 <entry>A literal &lsquo;<literal>%</literal>&rsquo; character</entry>
               </row>
+              <row>
+                <entry><literal>%<replaceable>x</replaceable></literal></entry>
+                <entry><replaceable>x</replaceable>, for any
+                  &lsquo;<replaceable>x</replaceable>&rsquo; not listed
+                  above</entry>
+              </row>
             </tbody>
           </tgroup>
         </informaltable>
 
         <para>
-          All other characters are copied to the result without
-          interpretation.
-        </para>
-
-        <para>
-          Note that the &lsquo;<literal>%</literal>&rsquo; character is
-          required before format specifier characters.
-        </para>
-
-        <para>
           Ranges for the month and day specifiers begin with zero due to
           the fact that MySQL allows the storing of incomplete dates
           such as <literal>'2004-00-00'</literal>.
@@ -6923,6 +6961,8 @@
         -&gt; '22 22 10 10:23:00 PM 22:23:00 00 6'
 mysql&gt; <userinput>SELECT DATE_FORMAT('1999-01-01', '%X %V');</userinput>
         -&gt; '1998 52'
+mysql&gt; <userinput>SELECT DATE_FORMAT('2006-06-00', '%d');</userinput>
+        -&gt; '00'
 </programlisting>
       </listitem>
 
@@ -7003,7 +7043,7 @@
         <para>
           Returns the day of the month for
           <replaceable>date</replaceable>, in the range
-          <literal>1</literal> to <literal>31</literal>.
+          <literal>0</literal> to <literal>31</literal>.
         </para>
 
         <remark role="help-description-end"/>
@@ -7036,7 +7076,7 @@
         <para>
           Returns the weekday index for <replaceable>date</replaceable>
           (<literal>1</literal> = Sunday, <literal>2</literal> = Monday,
-          ..., <literal>7</literal> = Saturday). These index values
+          &hellip;, <literal>7</literal> = Saturday). These index values
           correspond to the ODBC standard.
         </para>
 
@@ -7256,16 +7296,16 @@
 
 <!--
       and when setting 
-      the server variables <literal>DATE_FORMAT</literal>, 
+      the system variables <literal>DATE_FORMAT</literal>, 
       <literal>TIME_FORMAT</literal>, and 
       <literal>DATETIME_FORMAT</literal>. 
 -->
 
         <para>
-          The three possible values for the first argument and the five
-          possible values for the second argument result in 15 possible
-          format strings (for the specifiers used, see the table in the
-          <literal>DATE_FORMAT()</literal> function description).
+          The possible values for the first and second arguments result
+          in several possible format strings (for the specifiers used,
+          see the table in the <literal>DATE_FORMAT()</literal> function
+          description). ISO format refers to ISO 9075, not ISO 8601.
         </para>
 
         <informaltable>
@@ -7342,12 +7382,9 @@
         </informaltable>
 
         <para>
-          ISO format is ISO 9075, not ISO 8601.
-        </para>
-
-        <para>
-          <literal>TIMESTAMP</literal> can also be used, in which case
-          <literal>GET_FORMAT()</literal> returns the same values as for
+          <literal>TIMESTAMP</literal> can also be used as the first
+          argument to <literal>GET_FORMAT()</literal>, in which case the
+          function returns the same values as for
           <literal>DATETIME</literal>.
         </para>
 
@@ -7365,19 +7402,22 @@
         -&gt; '03.10.2003'
 mysql&gt; <userinput>SELECT STR_TO_DATE('10.31.2003',GET_FORMAT(DATE,'USA'));</userinput>
         -&gt; '2003-10-31'
-        
-<remark>Following is commented out because not yet implemented:</remark>
+</programlisting>
 
+        <remark>
+          Following is commented out because not yet implemented:
+        </remark>
+
 <!--  
+<programlisting>
 mysql&gt; <userinput>SET DATE_FORMAT=GET_FORMAT(DATE, 'USA'); SELECT '2003-10-31';</userinput>
       -gt; '10-31-2003'
--->
-
 </programlisting>
 
         <para>
           See also <xref linkend="set-option"/>.
         </para>
+-->
       </listitem>
 
       <listitem>
@@ -7400,7 +7440,10 @@
         <para>
           Returns the hour for <replaceable>time</replaceable>. The
           range of the return value is <literal>0</literal> to
-          <literal>23</literal> for time-of-day values.
+          <literal>23</literal> for time-of-day values. However, the
+          range of <literal>TIME</literal> values actually is much
+          larger, so <literal>HOUR</literal> can return values greater
+          than <literal>23</literal>.
         </para>
 
         <remark role="help-description-end"/>
@@ -7410,16 +7453,6 @@
 <programlisting>
 mysql&gt; <userinput>SELECT HOUR('10:05:03');</userinput>
         -&gt; 10
-</programlisting>
-
-        <para>
-          However, the range of <literal>TIME</literal> values actually
-          is much larger, so <literal>HOUR</literal> can return values
-          greater than <literal>23</literal>.
-        </para>
-
-<programlisting>
-
 mysql&gt; <userinput>SELECT HOUR('272:59:59');</userinput>
         -&gt; 272
 </programlisting>
@@ -7674,7 +7707,7 @@
 
         <para>
           Returns the month for <replaceable>date</replaceable>, in the
-          range <literal>1</literal> to <literal>12</literal>.
+          range <literal>0</literal> to <literal>12</literal>.
         </para>
 
         <remark role="help-description-end"/>
@@ -8770,7 +8803,7 @@
 
         <para>
           The following table describes how the
-          <replaceable>mode</replaceable> argument works:
+          <replaceable>mode</replaceable> argument works.
         </para>
 
         <informaltable>
@@ -8790,7 +8823,7 @@
                 <entry><emphasis role="bold">Mode</emphasis></entry>
                 <entry><emphasis role="bold">of week</emphasis></entry>
                 <entry><emphasis role="bold">Range</emphasis></entry>
-                <entry><emphasis role="bold">Week 1 is the first week...</emphasis></entry>
+                <entry><emphasis role="bold">Week 1 is the first week &hellip;</emphasis></entry>
               </row>
               <row>
                 <entry>0</entry>
@@ -8927,7 +8960,7 @@
         <para>
           Returns the weekday index for <replaceable>date</replaceable>
           (<literal>0</literal> = Monday, <literal>1</literal> =
-          Tuesday, ... <literal>6</literal> = Sunday).
+          Tuesday, &hellip; <literal>6</literal> = Sunday).
         </para>
 
         <remark role="help-description-end"/>
@@ -9074,8 +9107,8 @@
     <para>
       Every country that has switched from the Julian to the Gregorian
       calendar has had to discard at least ten days during the switch.
-      To see how this works, let's look at the month of October 1582,
-      when the first Julian-to-Gregorian switch occurred:
+      To see how this works, consider the month of October 1582, when
+      the first Julian-to-Gregorian switch occurred:
     </para>
 
     <informaltable>
@@ -9195,11 +9228,11 @@
 
         <para>
           <indexterm type="function">
-            <primary>MATCH ... AGAINST()</primary>
+            <primary>MATCH &hellip; AGAINST()</primary>
           </indexterm>
 
           <literal>MATCH
-          (<replaceable>col1</replaceable>,<replaceable>col2</replaceable>,...)
+          (<replaceable>col1</replaceable>,<replaceable>col2</replaceable>,&hellip;)
           AGAINST (<replaceable>expr</replaceable> [IN BOOLEAN MODE |
           WITH QUERY EXPANSION])</literal>
         </para>
@@ -9632,8 +9665,8 @@
             By default (when neither <literal>+</literal> nor
             <literal>-</literal> is specified) the word is optional, but
             the rows that contain it are rated higher. This mimics the
-            behavior of <literal>MATCH() ... AGAINST()</literal> without
-            the <literal>IN BOOLEAN MODE</literal> modifier.
+            behavior of <literal>MATCH() &hellip; AGAINST()</literal>
+            without the <literal>IN BOOLEAN MODE</literal> modifier.
           </para>
         </listitem>
 
@@ -9910,7 +9943,7 @@
 
       <para>
         The following table shows the default list of full-text
-        stopwords:
+        stopwords.
       </para>
 
       <informaltable>
@@ -13173,7 +13206,7 @@
           <para>
             The use of <literal>SQL_CALC_FOUND_ROWS</literal> and
             <literal>FOUND_ROWS()</literal> is more complex for
-            <literal>UNION</literal> queries than for simple
+            <literal>UNION</literal> statements than for simple
             <literal>SELECT</literal> statements, because
             <literal>LIMIT</literal> may occur at multiple places in a
             <literal>UNION</literal>. It may be applied to individual
@@ -13357,11 +13390,11 @@
           </para>
 
           <para>
-            If you use <literal>INSERT IGNORE</literal> and the record
-            is ignored, the <literal>AUTO_INCREMENT</literal> counter is
+            If you use <literal>INSERT IGNORE</literal> and the row is
+            ignored, the <literal>AUTO_INCREMENT</literal> counter is
             not incremented and <literal>LAST_INSERT_ID()</literal>
-            returns <literal>0</literal>, which reflects that no record
-            was inserted.
+            returns <literal>0</literal>, which reflects that no row was
+            inserted.
           </para>
 
           <para>
@@ -14238,8 +14271,9 @@
             inserted, had no duplicate-key conflict occurred. This
             function is especially useful in multiple-row inserts. The
             <literal>VALUES()</literal> function is meaningful only in
-            <literal>INSERT ... UPDATE</literal> statements and returns
-            <literal>NULL</literal> otherwise. <xref linkend="insert"/>.
+            <literal>INSERT &hellip; UPDATE</literal> statements and
+            returns <literal>NULL</literal> otherwise.
+            <xref linkend="insert"/>.
           </para>
 
           <remark role="help-description-end"/>
@@ -14513,8 +14547,8 @@
 
           <para>
             This optimization applies only to <literal>MyISAM</literal>
-            tables only, because an exact record count is stored for
-            this storage engine and can be accessed very quickly. For
+            tables only, because an exact row count is stored for this
+            storage engine and can be accessed very quickly. For
             transactional storage engines (<literal>InnoDB</literal>,
             <literal>BDB</literal>), storing an exact row count is more
             problematic because multiple transactions may be occurring,
@@ -14541,7 +14575,7 @@
             </indexterm>
 
             <literal>COUNT(DISTINCT
-            <replaceable>expr</replaceable>,[<replaceable>expr</replaceable>...])</literal>
+            <replaceable>expr</replaceable>,[<replaceable>expr</replaceable>&hellip;])</literal>
           </para>
 
           <remark role="help-syntax-end"/>
@@ -14571,7 +14605,7 @@
             combinations that do not contain <literal>NULL</literal> by
             giving a list of expressions. In standard SQL, you would
             have to do a concatenation of all expressions inside
-            <literal>COUNT(DISTINCT ...)</literal>.
+            <literal>COUNT(DISTINCT &hellip;)</literal>.
           </para>
         </listitem>
 

Thread
svn commit - mysqldoc@docsrva: r956 - in trunk: . refman-4.1 refman-5.0 refman-5.1paul20 Jan